diff --git a/.hgtags b/.hgtags index ffea6a03ad7c21ae4e7fada7bcc96baa046d76f6..c6c9e6aaca1144a55438bbdd669479ea38de2af7 100644 --- a/.hgtags +++ b/.hgtags @@ -217,3 +217,4 @@ de92931b87a20ec26edb2c65e3496c471bce6481 OpenOLAT 12.3.2 a83d9c176d6c269b4ec124d7700f961e15b2a508 OpenOLAT 12.3.3 e4c7003b290148810092848bc73bcec4e61da7be OpenOLAT 12.4.0 f55676080d2436df8078a8a0f1f6fb1afbdbe58c OpenOLAT 12.4.1 +0810e24414f8cbb68dd6914297d883faf9527469 OpenOLAT 12.4.2 diff --git a/src/main/java/de/bps/course/nodes/VCCourseNode.java b/src/main/java/de/bps/course/nodes/VCCourseNode.java index 6f6d4c269d3e028cad5938c0ca7ce28e9c56583d..73ec2d81d72b97011bd12dfc1ef3a4de60ece303 100644 --- a/src/main/java/de/bps/course/nodes/VCCourseNode.java +++ b/src/main/java/de/bps/course/nodes/VCCourseNode.java @@ -139,13 +139,13 @@ public class VCCourseNode extends AbstractAccessableCourseNode { boolean moderator = roles.isOLATAdmin(); Long key = userCourseEnv.getCourseEnvironment().getCourseResourceableId(); if (!moderator) { - if(roles.isLearnResourceManager() || roles.isAuthor()) { + if(roles.isLearnResourceManager() || roles.isAuthor() || roles.isOLATAdmin()) { RepositoryManager rm = RepositoryManager.getInstance(); RepositoryEntry re = userCourseEnv.getCourseEnvironment().getCourseGroupManager().getCourseEntry(); if (re != null) { moderator = rm.isOwnerOfRepositoryEntry(ureq.getIdentity(), re); if(!moderator) { - moderator = rm.isInstitutionalRessourceManagerFor(ureq.getIdentity(), ureq.getUserSession().getRoles(), re); + moderator = rm.isLearnResourceManagerFor(ureq.getUserSession().getRoles(), re); } } } diff --git a/src/main/java/de/bps/olat/portal/institution/_i18n/LocalStrings_pt_BR.properties b/src/main/java/de/bps/olat/portal/institution/_i18n/LocalStrings_pt_BR.properties index d4d742d31df56405123b45882e8ee5d77fa01416..7bd6725970a4f5ffc9da678275ad96a7181617a9 100644 --- a/src/main/java/de/bps/olat/portal/institution/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/de/bps/olat/portal/institution/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Thu Jan 11 12:11:50 CET 2018 +#Sat May 12 00:00:09 CEST 2018 blog=Blog catalogue=Katalog course=Kurs diff --git a/src/main/java/org/olat/admin/landingpages/model/Rule.java b/src/main/java/org/olat/admin/landingpages/model/Rule.java index 1306923c2b6407ca2694cbae8429d2a479b22253..f5351a19a241bbd8d76763eedff0624724265b78 100644 --- a/src/main/java/org/olat/admin/landingpages/model/Rule.java +++ b/src/main/java/org/olat/admin/landingpages/model/Rule.java @@ -91,7 +91,7 @@ public class Rule { case USER_MGR: match &= roles.isUserManager(); break; case GROUP_MGR: match &= roles.isGroupManager(); break; case RSRC_MGR: match &= roles.isLearnResourceManager(); break; - case POOL_MGR: match &= roles.isPoolAdmin(); break; + case POOL_MGR: match &= roles.isQPoolManager(); break; case ADMIN: match &= roles.isOLATAdmin(); break; default: { match &= false; diff --git a/src/main/java/org/olat/admin/security/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/admin/security/_i18n/LocalStrings_pt_BR.properties index 1c76497182be36931ed460e81130c0a7ad4e5b00..037429c01f1a8cd4551eae5612104f4e4a1236a8 100644 --- a/src/main/java/org/olat/admin/security/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/admin/security/_i18n/LocalStrings_pt_BR.properties @@ -1,10 +1,29 @@ -#Thu Feb 08 14:10:50 CET 2018 +#Fri May 11 23:58:50 CEST 2018 admin.menu.title=Seguran\u00E7a admin.menu.title.alt=Altere as configura\u00E7\u00F5es de seguran\u00E7a +sec.content.security.policy=Pol\u00EDtica de Seguran\u00E7a de Conte\u00FAdo (CSP) +sec.content.security.policy.report.only=Comunicar apenas +sec.content.type.options=Evitar que o navegador adivinhe o conte\u00FAdo do script e estilo com o cabe\u00E7alho HTTP +sec.csp.connect.src=connect-src +sec.csp.default.src=default-src +sec.csp.default.value=Valor sempre adicionado\: {0}. Exemplo {1} +sec.csp.font.src=font-src +sec.csp.frame.src=frame-src +sec.csp.img.src=img-src +sec.csp.media.src=media-src +sec.csp.object.src=object-src +sec.csp.plugin.type=plugin-type +sec.csp.script.src=script-src +sec.csp.style.src=style-src sec.description=Escolha o n\u00EDvel de seguran\u00E7a de acordo com as exig\u00EAncias da sua institui\u00E7\u00E3o. Para conseguir os maiores n\u00EDveis de seguran\u00E7a, todos os recursos de seguran\u00E7a abaixo devem estar acionados +sec.description.csp=Warning\! This configuration can block or break content like LTI course elements, external pages and HTML pages. The following course elements are currently not supported\: card2brain, edubase, edubook, GoToTraining, openmeeting, vitero and Paypal. You will find more informations about content security policy under <a href\="https\://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy" target\="_blank">Content-Security-Policy</a>. +sec.description.headers=Esses cabe\u00E7alhos impedem o comportamento inseguro. sec.force.download=For\u00E7ar download de arquivos em pastas +sec.strict.transport.sec=Evitar o downgrade de HTTPS para HTTP com cabe\u00E7alho HTTP sec.title=Configura\u00E7\u00F5es de seguran\u00E7a sec.top.frame.explanation=Devido a raz\u00F5es de compatibilidade, o componente de texto HTML (TinyMCE) de OpenOLAT n\u00E3o pode ser incorporado em um quadro. sec.topframe=Impedir a incorpora\u00E7\u00E3o em quadros sec.wiki=Bloquear recursos wiki sec.xframe.sameorigin=Impedir a incorpora\u00E7\u00E3o em quadros enviando o cabe\u00E7alho HTTP X-FRAME-OPTIONS\=SAMEDOMAIN +security.configuration=Configura\u00E7\u00E3o +security.csp.log=Log de pol\u00EDtica de seguran\u00E7a de conte\u00FAdo diff --git a/src/main/java/org/olat/admin/user/SelectOrganisationController.java b/src/main/java/org/olat/admin/user/SelectOrganisationController.java index 105e99b52e5a317b71ccf9773406801ec9c983be..9a3ec28fcaff1d6e3b75ba7f7f6de5528ff917e7 100644 --- a/src/main/java/org/olat/admin/user/SelectOrganisationController.java +++ b/src/main/java/org/olat/admin/user/SelectOrganisationController.java @@ -1,3 +1,22 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ package org.olat.admin.user; import java.util.ArrayList; diff --git a/src/main/java/org/olat/admin/user/SystemRolesAndRightsController.java b/src/main/java/org/olat/admin/user/SystemRolesAndRightsController.java index 792c4d031b9382a389774e68ce79baba10c9e460..95d66dd56bed3284e7f7f6155ca9da4413e2a795 100644 --- a/src/main/java/org/olat/admin/user/SystemRolesAndRightsController.java +++ b/src/main/java/org/olat/admin/user/SystemRolesAndRightsController.java @@ -118,7 +118,8 @@ public class SystemRolesAndRightsController extends FormBasicController { organisations = organisationService.getOrganisations(editedIdentity, OrganisationRoles.values()); managerRoles = ureq.getUserSession().getRoles(); - manageableOrganisations = organisationService.getManageableOrganisations(getIdentity(), managerRoles, OrganisationRoles.usermanager); + manageableOrganisations = organisationService.getOrganisations(getIdentity(), managerRoles, + OrganisationRoles.administrator, OrganisationRoles.usermanager); initStatusKeysAndValues(); initForm(ureq); @@ -513,7 +514,7 @@ public class SystemRolesAndRightsController extends FormBasicController { } RolesByOrganisation updatedRoles = RolesByOrganisation.roles(wrapper.getOrganisation(), - invitee, user, coach, author, + false, invitee, user, coach, author, groupManager, poolmanager, curriculummanager, usermanager, learnresourcemanager, admin); securityManager.updateRoles(getIdentity(), editedIdentity, updatedRoles); diff --git a/src/main/java/org/olat/admin/user/UserCreateController.java b/src/main/java/org/olat/admin/user/UserCreateController.java index a8a29fd8b12cb14415950040ed3861de0b977d1a..86ada37f253c4d8a35d285e6be2aa4cf8c93e78c 100644 --- a/src/main/java/org/olat/admin/user/UserCreateController.java +++ b/src/main/java/org/olat/admin/user/UserCreateController.java @@ -175,8 +175,8 @@ class NewUserForm extends FormBasicController { super(ureq, wControl); setTranslator(translator); this.showPasswordFields = showPasswordFields; - manageableOrganisations = organisationService - .getManageableOrganisations(getIdentity(), ureq.getUserSession().getRoles(), OrganisationRoles.usermanager); + manageableOrganisations = organisationService.getOrganisations(getIdentity(), ureq.getUserSession().getRoles(), + OrganisationRoles.administrator, OrganisationRoles.usermanager); initForm(ureq); } diff --git a/src/main/java/org/olat/admin/user/UserSearchController.java b/src/main/java/org/olat/admin/user/UserSearchController.java index 32a80abb841169c29448d9a05564d11145df74f9..d0a8f1c2ec457c780a9b975faefa6a52c26d29b5 100644 --- a/src/main/java/org/olat/admin/user/UserSearchController.java +++ b/src/main/java/org/olat/admin/user/UserSearchController.java @@ -182,12 +182,8 @@ public class UserSearchController extends BasicController { myContent.put("usersearchPanel", searchPanel); UserSession usess = ureq.getUserSession(); - if(usess.getRoles().isOLATAdmin()) { - searchableOrganisations = null;//null mean all - } else { - searchableOrganisations = organisationService - .getSearchableOrganisations(getIdentity(), usess.getRoles(), OrganisationRoles.usermanager); - } + searchableOrganisations = organisationService.getOrganisations(getIdentity(), usess.getRoles(), + OrganisationRoles.valuesWithoutGuestAndInvitee()); Roles roles = usess.getRoles(); isAdministrativeUser = securityModule.isUserAllowedAdminProps(roles); diff --git a/src/main/java/org/olat/admin/user/UserSearchFlexiController.java b/src/main/java/org/olat/admin/user/UserSearchFlexiController.java index 11061ff5d19b776d7caf569fcb6e181045346fe5..f868aec1e6b79de04884464a97e02db9bf95f1b0 100644 --- a/src/main/java/org/olat/admin/user/UserSearchFlexiController.java +++ b/src/main/java/org/olat/admin/user/UserSearchFlexiController.java @@ -137,12 +137,8 @@ public class UserSearchFlexiController extends FlexiAutoCompleterController { userSearchFormPropertyHandlers = userManager.getUserPropertyHandlersFor(UserSearchForm.class.getCanonicalName(), isAdministrativeUser); UserSession usess = ureq.getUserSession(); - if(usess.getRoles().isOLATAdmin()) { - searchableOrganisations = null;//null mean all - } else { - searchableOrganisations = organisationService - .getSearchableOrganisations(getIdentity(), usess.getRoles(), OrganisationRoles.usermanager); - } + searchableOrganisations = organisationService.getOrganisations(getIdentity(), usess.getRoles(), + OrganisationRoles.valuesWithoutGuestAndInvitee()); ListProvider provider = new UserSearchListProvider(searchableOrganisations); setListProvider(provider); diff --git a/src/main/java/org/olat/admin/user/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/admin/user/_i18n/LocalStrings_en.properties index bd7b9874ad06f3b292eef6332ac84851b48e91ac..ae157a52d6a3c8ee2b5859c775a914c71f3a004a 100644 --- a/src/main/java/org/olat/admin/user/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/admin/user/_i18n/LocalStrings_en.properties @@ -1,4 +1,4 @@ -#Fri Mar 23 15:02:47 CET 2018 +#Mon May 07 15:57:07 CEST 2018 action.bulkedit=Edit these users' attributes action.choose=Choose action.choose.finish=Choose and finish @@ -120,14 +120,14 @@ search.form.constraint.usermanager=User manager search.form.login=User name search.form.title.authentications=Authentication restrictions search.form.title.date=Creation date restrictions +search.form.title.organisations=Organisation search.form.title.roles=System role restrictions search.form.title.status=Restriction to account status search.form.title.user=User restrictions -search.form.title.organisations=Organisation search.form.userLoginAfterDate=Last user login after search.form.userLoginBeforeDate=Last user login before -selectall=$org.olat.core.gui.components.table\:checkall select.organisation=Organisation +selectall=$org.olat.core.gui.components.table\:checkall sendtoken.wrong.auth=This user has authentication tokens which can not be changed using this password link. Please review and delete this additional authentication tokens first. submit.cancel=Cancel submit.save=Save @@ -139,6 +139,7 @@ table.header.action=Action table.header.vcard=Visiting card table.identity.action=Action table.identity.creationdate=Created +table.identity.id=ID table.identity.lastlogin=Last login table.identity.name=User name table.identity.vcard=<i class\='o_icon o_icon-lg o_icon_home'> </i> diff --git a/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep01.java b/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep01.java index 3966fbd8911f7af7e117479752fd229867765197..d704709e2f88892d17fff61c9aba1109258919e1 100644 --- a/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep01.java +++ b/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep01.java @@ -236,7 +236,7 @@ class UserBulkChangeStep01 extends BasicStep { } //pool manager - if (roles.isOLATAdmin() || roles.isPoolAdmin()) { + if (roles.isOLATAdmin() || roles.isQPoolManager()) { chkPoolManager = uifactory.addCheckboxesHorizontal("PoolManager", "table.role.poolManager", innerFormLayout, onKeys, onValues); chkPoolManager.select("Author", false); chkPoolManager.addActionListener(FormEvent.ONCLICK); diff --git a/src/main/java/org/olat/admin/user/course/CourseOverviewController.java b/src/main/java/org/olat/admin/user/course/CourseOverviewController.java index a3b696987c510a56867a1067fb6df5961ecd2802..a7ff2e48f3a9f6d4727438dc4ba6eac771a856ff 100644 --- a/src/main/java/org/olat/admin/user/course/CourseOverviewController.java +++ b/src/main/java/org/olat/admin/user/course/CourseOverviewController.java @@ -143,7 +143,7 @@ public class CourseOverviewController extends BasicController { TABLE_ACTION_LAUNCH, getLocale())); courseListCtr.addColumnDescriptor(new CustomRenderColumnDescriptor(MSCols.entry.i18n(), MSCols.entry.ordinal(), - null, getLocale(), ColumnDescriptor.ALIGNMENT_LEFT, new RepositoryEntryIconRenderer())); + null, getLocale(), ColumnDescriptor.ALIGNMENT_LEFT, new RepositoryEntryIconRenderer(getLocale()))); courseListCtr.addColumnDescriptor(new DefaultColumnDescriptor(MSCols.title.i18n(), MSCols.title.ordinal(), TABLE_ACTION_LAUNCH, getLocale())); diff --git a/src/main/java/org/olat/admin/user/delete/service/UserDeletionManager.java b/src/main/java/org/olat/admin/user/delete/service/UserDeletionManager.java index fee7d48b1dac581e9833ca2e4d7caced60ca34ca..696ef2a6f21f970d7a459ab8585b68a5a15f8514 100644 --- a/src/main/java/org/olat/admin/user/delete/service/UserDeletionManager.java +++ b/src/main/java/org/olat/admin/user/delete/service/UserDeletionManager.java @@ -63,6 +63,7 @@ import org.olat.core.util.mail.MailBundle; import org.olat.core.util.mail.MailManager; import org.olat.core.util.mail.MailTemplate; import org.olat.core.util.mail.MailerResult; +import org.olat.core.util.session.UserSessionManager; import org.olat.properties.Property; import org.olat.properties.PropertyManager; import org.olat.registration.RegistrationManager; @@ -114,6 +115,8 @@ public class UserDeletionManager { @Autowired private MailManager mailManager; @Autowired + private UserSessionManager userSessionManager; + @Autowired private AuthenticationHistoryDAO suthenticationHistoryDao; @Autowired private GroupDAO groupDao; @@ -273,6 +276,9 @@ public class UserDeletionManager { */ public void deleteIdentity(Identity identity) { log.info("Start deleteIdentity for identity=" + identity); + + //logout + userSessionManager.signOffAndClearAll(identity); String newName = getBackupStringWithDate(identity.getName()); diff --git a/src/main/java/org/olat/basesecurity/BaseSecurity.java b/src/main/java/org/olat/basesecurity/BaseSecurity.java index 060090f2238a3ca071965cfdb48058a656cee89e..63abc99a00d6ec87091c5fea14d34611c848acc0 100644 --- a/src/main/java/org/olat/basesecurity/BaseSecurity.java +++ b/src/main/java/org/olat/basesecurity/BaseSecurity.java @@ -55,7 +55,7 @@ public interface BaseSecurity { public Roles getRoles(IdentityRef identity); /** - * Get the list of roles as string without inheritence (an admin + * Get the list of roles as string without inheritance (an admin * has only admin role and not the user manager role...). * @param identity * @return @@ -70,7 +70,7 @@ public interface BaseSecurity { * @param updatedIdentity The identity that is changed * @param roles The new roles to set on updatedIdentity */ - public void updateRoles(Identity actingIdentity, Identity updatedIdentity, Organisation organisation, Roles roles); + //public void updateRoles(Identity actingIdentity, Identity updatedIdentity, Organisation organisation, Roles roles); public void updateRoles(Identity actingIdentity, Identity updatedIdentity, RolesByOrganisation organisation); diff --git a/src/main/java/org/olat/basesecurity/BaseSecurityManager.java b/src/main/java/org/olat/basesecurity/BaseSecurityManager.java index 486a9541917ac7b661e9dd696bae3e3bc9a3f281..d61aec6c32dbaa79f3194d29b6fd41f337cfe4e7 100644 --- a/src/main/java/org/olat/basesecurity/BaseSecurityManager.java +++ b/src/main/java/org/olat/basesecurity/BaseSecurityManager.java @@ -143,7 +143,7 @@ public class BaseSecurityManager implements BaseSecurity { boolean isInvitee = false; StringBuilder sb = new StringBuilder(); - sb.append("select org.key, membership.role from organisation as org ") + sb.append("select org.key, org.identifier, membership.role from organisation as org ") .append(" inner join org.group baseGroup") .append(" inner join baseGroup.members membership") .append(" where membership.identity.key=:identityKey"); @@ -168,7 +168,8 @@ public class BaseSecurityManager implements BaseSecurity { for(Object[] rawObject:rawObjects) { Long organisationKey = (Long)rawObject[0]; - String role = (String)rawObject[1]; + //String organisationId = (String)rawObject[1]; + String role = (String)rawObject[2]; List<OrganisationRoles> roleList = orgToRoles .computeIfAbsent(new OrganisationRefImpl(organisationKey), key -> new ArrayList<>()); @@ -182,25 +183,13 @@ public class BaseSecurityManager implements BaseSecurity { resourceManager |= role.equals(OrganisationRoles.learnresourcemanager.name()); poolManager |= role.equals(OrganisationRoles.poolmanager.name()); curriculumnManager |= role.equals(OrganisationRoles.curriculummanager.name()); - author |= role.equals(OrganisationRoles.author.name()); coach |= role.equals(OrganisationRoles.coach.name()); } - admin |= sysAdmin; - - groupManager |= admin; - userManager |= admin; - poolManager |= admin; - curriculumnManager |= admin; - - author |= admin; - coach |= admin; List<String> rolesStr = getRolesAsString(identity); - - if(!rolesStr.contains(OrganisationRoles.user.name())) { isInvitee = invitationDao.isInvitee(identity); isGuestOnly = rolesStr.contains(OrganisationRoles.guest.name()); @@ -242,52 +231,6 @@ public class BaseSecurityManager implements BaseSecurity { .setParameter("organisationKey", organisation.getKey()) .getResultList(); } - - @Override - public void updateRoles(Identity actingIdentity, Identity updatedIdentity, Organisation organisation, Roles roles) { - List<String> currentRoles = getRolesAsString(updatedIdentity); - - boolean hasBeenAnonymous = currentRoles.contains(OrganisationRoles.guest.name()); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.guest, hasBeenAnonymous, roles.isGuestOnly()); - - // system users - opposite of anonymous users - boolean hasBeenUser = currentRoles.contains(OrganisationRoles.user.name()); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.user, hasBeenUser, !roles.isGuestOnly()); - - boolean hasBeenGroupManager = currentRoles.contains(OrganisationRoles.groupmanager.name()); - boolean groupManager = roles.isGroupManager() && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.groupmanager, hasBeenGroupManager, groupManager); - - // author - boolean hasBeenAuthor = currentRoles.contains(OrganisationRoles.author.name()); - boolean isAuthor = (roles.isAuthor() || roles.isLearnResourceManager()) && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.author, hasBeenAuthor, isAuthor); - - // user manager, only allowed by admin - boolean hasBeenUserManager = currentRoles.contains(OrganisationRoles.usermanager.name()); - boolean userManager = roles.isUserManager() && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.usermanager, hasBeenUserManager, userManager); - - // institutional resource manager - boolean hasBeenInstitutionalResourceManager = currentRoles.contains(OrganisationRoles.learnresourcemanager.name()); - boolean institutionalResourceManager = roles.isLearnResourceManager() && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.learnresourcemanager, hasBeenInstitutionalResourceManager, institutionalResourceManager); - - // institutional resource manager - boolean hasBeenPoolManager = currentRoles.contains(OrganisationRoles.poolmanager.name()); - boolean poolManager = roles.isPoolAdmin() && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.poolmanager, hasBeenPoolManager, poolManager); - - // institutional resource manager - boolean hasBeenCurriculumManager = currentRoles.contains(OrganisationRoles.curriculummanager.name()); - boolean curriculumManager = roles.isCurriculumManager() && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.curriculummanager, hasBeenCurriculumManager, curriculumManager); - - // system administrator - boolean hasBeenAdmin = currentRoles.contains(OrganisationRoles.administrator.name()); - boolean isOLATAdmin = roles.isOLATAdmin() && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.administrator, hasBeenAdmin, isOLATAdmin); - } @Override public void updateRoles(Identity actingIdentity, Identity updatedIdentity, RolesByOrganisation roles) { @@ -296,55 +239,66 @@ public class BaseSecurityManager implements BaseSecurity { List<String> currentRoles = getRolesAsString(updatedIdentity, organisation); boolean hasBeenAnonymous = currentRoles.contains(OrganisationRoles.guest.name()); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.guest, hasBeenAnonymous, roles.isGuestOnly()); + updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, + OrganisationRoles.guest, hasBeenAnonymous, roles.isGuestOnly()); // system users - opposite of anonymous users boolean hasBeenUser = currentRoles.contains(OrganisationRoles.user.name()); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.user, hasBeenUser, !roles.isGuestOnly()); + updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, + OrganisationRoles.user, hasBeenUser, !roles.isGuestOnly()); // coach boolean hasBeenAuthor = currentRoles.contains(OrganisationRoles.author.name()); boolean isAuthor = (roles.isAuthor() || roles.isLearnResourceManager()) && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.author, hasBeenAuthor, isAuthor); + updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, + OrganisationRoles.author, hasBeenAuthor, isAuthor); // author boolean hasBeenCoach = currentRoles.contains(OrganisationRoles.coach.name()); boolean isCoach = roles.isCoach() && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.coach, hasBeenCoach, isCoach); + updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, + OrganisationRoles.coach, hasBeenCoach, isCoach); // group manager boolean hasBeenGroupManager = currentRoles.contains(OrganisationRoles.groupmanager.name()); boolean groupManager = roles.isGroupManager() && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.groupmanager, hasBeenGroupManager, groupManager); + updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, + OrganisationRoles.groupmanager, hasBeenGroupManager, groupManager); // user manager, only allowed by admin boolean hasBeenUserManager = currentRoles.contains(OrganisationRoles.usermanager.name()); boolean userManager = roles.isUserManager() && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.usermanager, hasBeenUserManager, userManager); + updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, + OrganisationRoles.usermanager, hasBeenUserManager, userManager); // institutional resource manager boolean hasBeenInstitutionalResourceManager = currentRoles.contains(OrganisationRoles.learnresourcemanager.name()); boolean institutionalResourceManager = roles.isLearnResourceManager() && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.learnresourcemanager, hasBeenInstitutionalResourceManager, institutionalResourceManager); + updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, + OrganisationRoles.learnresourcemanager, hasBeenInstitutionalResourceManager, institutionalResourceManager); // institutional resource manager boolean hasBeenPoolManager = currentRoles.contains(OrganisationRoles.poolmanager.name()); boolean poolManager = roles.isPoolManager() && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.poolmanager, hasBeenPoolManager, poolManager); + updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, + OrganisationRoles.poolmanager, hasBeenPoolManager, poolManager); // institutional resource manager boolean hasBeenCurriculumManager = currentRoles.contains(OrganisationRoles.curriculummanager.name()); boolean curriculumManager = roles.isCurriculumManager() && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.curriculummanager, hasBeenCurriculumManager, curriculumManager); + updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, + OrganisationRoles.curriculummanager, hasBeenCurriculumManager, curriculumManager); // system administrator boolean hasBeenAdmin = currentRoles.contains(OrganisationRoles.administrator.name()); boolean isOLATAdmin = roles.isAdministrator() && !roles.isGuestOnly() && !roles.isInvitee(); - updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, OrganisationRoles.administrator, hasBeenAdmin, isOLATAdmin); + updateRolesInSecurityGroup(organisation, actingIdentity, updatedIdentity, + OrganisationRoles.administrator, hasBeenAdmin, isOLATAdmin); } - private void updateRolesInSecurityGroup(Organisation organisation, Identity actingIdentity, Identity updatedIdentity, OrganisationRoles role, boolean hasBeen, boolean isNow) { + private void updateRolesInSecurityGroup(Organisation organisation, Identity actingIdentity, Identity updatedIdentity, + OrganisationRoles role, boolean hasBeen, boolean isNow) { if (!hasBeen && isNow) { // user not yet in security group, add him organisationService.addMember(organisation, updatedIdentity, role); diff --git a/src/main/java/org/olat/basesecurity/GroupMembership.java b/src/main/java/org/olat/basesecurity/GroupMembership.java index 13bc3dca43c09a159dc7a56cce4aabf00dece2a6..cb985045e2dbe272cd95be1b120fe08fc8665bdd 100644 --- a/src/main/java/org/olat/basesecurity/GroupMembership.java +++ b/src/main/java/org/olat/basesecurity/GroupMembership.java @@ -36,5 +36,9 @@ public interface GroupMembership { public String getRole(); public Identity getIdentity(); + + public GroupMembershipInheritance getInheritanceMode(); + + public void setInheritanceMode(GroupMembershipInheritance inheritanceMode); } diff --git a/src/main/java/org/olat/basesecurity/GroupMembershipInheritance.java b/src/main/java/org/olat/basesecurity/GroupMembershipInheritance.java new file mode 100644 index 0000000000000000000000000000000000000000..c00cfa8e065bd6f96e463271542b02e8a2998182 --- /dev/null +++ b/src/main/java/org/olat/basesecurity/GroupMembershipInheritance.java @@ -0,0 +1,34 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.basesecurity; + +/** + * + * Initial date: 3 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public enum GroupMembershipInheritance { + + none, + root,// + inherited + +} diff --git a/src/main/java/org/olat/basesecurity/GroupRoles.java b/src/main/java/org/olat/basesecurity/GroupRoles.java index 0ad5ce8836b4d9e6be7f395cccfeec28c2e2c297..2e7a32e6ce58d8b2a7f7abc613d27efdd2291df7 100644 --- a/src/main/java/org/olat/basesecurity/GroupRoles.java +++ b/src/main/java/org/olat/basesecurity/GroupRoles.java @@ -23,6 +23,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import org.olat.core.util.StringHelper; + /** * * Initial date: 26.02.2014<br> @@ -48,4 +50,16 @@ public enum GroupRoles { } return Collections.emptyList(); } + + public static boolean isValue(String value) { + boolean isValue = false; + if(StringHelper.containsNonWhitespace(value)) { + for(GroupRoles role:GroupRoles.values()) { + if(role.name().equals(value)) { + isValue = true; + } + } + } + return isValue; + } } diff --git a/src/main/java/org/olat/basesecurity/OrganisationManagedFlag.java b/src/main/java/org/olat/basesecurity/OrganisationManagedFlag.java index c030192f22322de3feae171308550e23f5e6d958..0159865daa4bdb3448cab9f862437c4a2d945a93 100644 --- a/src/main/java/org/olat/basesecurity/OrganisationManagedFlag.java +++ b/src/main/java/org/olat/basesecurity/OrganisationManagedFlag.java @@ -40,6 +40,7 @@ public enum OrganisationManagedFlag { displayName(all), description(all), externalId(all), + type(all), move(all), delete(all), members(all); diff --git a/src/main/java/org/olat/basesecurity/OrganisationRoles.java b/src/main/java/org/olat/basesecurity/OrganisationRoles.java index 5a0ea7c39835e39bd878a06a511b11eaacf1c60e..cd893cf75cdf5a8eb15e82b8f11a7e79b97f3db2 100644 --- a/src/main/java/org/olat/basesecurity/OrganisationRoles.java +++ b/src/main/java/org/olat/basesecurity/OrganisationRoles.java @@ -42,15 +42,24 @@ public enum OrganisationRoles { invitee, guest; + public static boolean isValue(String value) { + boolean isValue = false; + if(StringHelper.containsNonWhitespace(value)) { + for(OrganisationRoles role:OrganisationRoles.values()) { + if(role.name().equals(value)) { + isValue = true; + } + } + } + return isValue; + } + public static boolean valid(String value) { if(!StringHelper.containsNonWhitespace(value)) { return false; } - try { - return OrganisationRoles.valueOf(value) != null; - } catch (Exception e) { - return false; - } + + return OrganisationRoles.isValue(value); } public static OrganisationRoles[] valuesWithoutGuestAndInvitee() { diff --git a/src/main/java/org/olat/basesecurity/OrganisationService.java b/src/main/java/org/olat/basesecurity/OrganisationService.java index bf70729e79f13d470a58a796016d4b4bfba6176d..8057ea50f5d963a8153c1ce66b3398483c0df3b7 100644 --- a/src/main/java/org/olat/basesecurity/OrganisationService.java +++ b/src/main/java/org/olat/basesecurity/OrganisationService.java @@ -37,47 +37,104 @@ public interface OrganisationService { public static final String DEFAULT_ORGANISATION_IDENTIFIER = "default-org"; + /** - * Create and persist a brand new organisation. + * Create a brand new organization. The membership inheritance + * will be automatically calculated and propagated. * - * @param displayName The display name + * @param displayName The name of the organization * @param identifier The identifier - * @return The persisted organisation + * @param description The description + * @param parentOrganisation The Parent organization if any + * @param type The type + * @return The persisted organization */ public Organisation createOrganisation(String displayName, String identifier, String description, Organisation parentOrganisation, OrganisationType type); /** + * The default organization. * - * @param organisation A reference of the organisation - * @return A reloaded organisation + * @return The default organization. + */ + public Organisation getDefaultOrganisation(); + + /** + * + * @param organisation A reference of the organization + * @return A reloaded organization */ public Organisation getOrganisation(OrganisationRef organisation); + public List<Organisation> getOrganisationParentLine(Organisation organisation); + public Organisation updateOrganisation(Organisation organisation); + /** + * Move an organization to a new place in the organization structure. + * + * @param organisationToMove The organization to move + * @param newParent The new parent + */ + public void moveOrganisation(OrganisationRef organisationToMove, OrganisationRef newParent); + public List<Organisation> getOrganisations(); /** - * @param member The user (mandatory) - * @param role The roles (mandatory) - * @return A list of organization where the user has the specified roles + * Create a new organization type. + * + * @param displayName The name + * @param identifier The identifier of the type + * @param description The description + * @return A persisted organization type */ - public List<Organisation> getOrganisations(IdentityRef member, OrganisationRoles... role); + public OrganisationType createOrganisationType(String displayName, String identifier, String description); + + /** + * Reload an organization type. + * + * @param type The primary key + * @return A fresh organization type + */ + public OrganisationType getOrganisationType(OrganisationTypeRef type); /** + * Update the type without touching to the sub-types. * - * @param member - * @param roles + * @param type + * @param allowedSubTypes * @return */ - public List<Organisation> getSearchableOrganisations(IdentityRef member, Roles roles, OrganisationRoles additionalManagerRole); + public OrganisationType updateOrganisationType(OrganisationType type); /** - * Return the organization the specified user - * is allow to manage. The method calculate with - * administrator and the specified additional role - * (user manager or learn resource manager) + * Update the type and the relation to sub-types. + * + * @param type The type to update + * @param allowedSubTypes The sub-types allowed + * @return The merged type + */ + public OrganisationType updateOrganisationType(OrganisationType type, List<OrganisationType> allowedSubTypes); + + public void allowOrganisationSubType(OrganisationType parentType, OrganisationType allowedSubType); + + public void disallowOrganisationSubType(OrganisationType parentType, OrganisationType allowedSubType); + + /** + * @return The list of organization types + */ + public List<OrganisationType> getOrganisationTypes(); + + /** + * @param member The user (mandatory) + * @param role The roles (mandatory) + * @return A list of organization where the user has the specified roles + */ + public List<Organisation> getOrganisations(IdentityRef member, OrganisationRoles... role); + + /** + * Return the organization the specified user is allow to see. + * An OpenOLAT admin. can see all organizations. * * * @param member The user @@ -85,21 +142,37 @@ public interface OrganisationService { * @param managerRole The additional manager * @return A list of organizations a user can manage */ - public List<Organisation> getManageableOrganisations(IdentityRef member, Roles roles, OrganisationRoles managerRole); - - - public Organisation getDefaultOrganisation(); - - public void addMember(Organisation organisation, Identity member, OrganisationRoles role); + public List<Organisation> getOrganisations(IdentityRef member, Roles roles, OrganisationRoles... managerRole); /** - * + * Add a membership without inheritance on the default organization. * * @param member The identity - * @param role The role in the organisation + * @param role The role in the organization */ public void addMember(Identity member, OrganisationRoles role); + /** + * Add a membership on the specified organization. The inheritance mode "root" + * will be automatically applied to learn resource manager, author and user manager. + * This role will be propagated to child-organizations as "inherithed". + * + * @param organisation The organization + * @param member The new member of the organization + * @param role The role in the organization + */ + public void addMember(Organisation organisation, Identity member, OrganisationRoles role); + + /** + * A method to fine set role. + * + * @param organisation The organization + * @param member The new member of the organization + * @param role The role in the organization + * @param inheritanceMode The inheritance mode (none, root) + */ + public void addMember(Organisation organisation, Identity member, OrganisationRoles role, GroupMembershipInheritance inheritanceMode); + public void removeMember(IdentityRef member, OrganisationRoles role); public void removeMember(Organisation organisation, IdentityRef member); diff --git a/src/main/java/org/olat/basesecurity/OrganisationType.java b/src/main/java/org/olat/basesecurity/OrganisationType.java index 0ee0596ab09dea67d5bec883697348cca92f87c2..53086454cf8dd08b0ffaa584ecc6b083809e9b0a 100644 --- a/src/main/java/org/olat/basesecurity/OrganisationType.java +++ b/src/main/java/org/olat/basesecurity/OrganisationType.java @@ -19,6 +19,8 @@ */ package org.olat.basesecurity; +import java.util.Set; + import org.olat.core.id.CreateInfo; import org.olat.core.id.ModifiedInfo; @@ -28,9 +30,7 @@ import org.olat.core.id.ModifiedInfo; * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com * */ -public interface OrganisationType extends CreateInfo, ModifiedInfo { - - public Long getKey(); +public interface OrganisationType extends CreateInfo, ModifiedInfo, OrganisationTypeRef { public String getIdentifier(); @@ -47,5 +47,15 @@ public interface OrganisationType extends CreateInfo, ModifiedInfo { public String getExternalId(); public void setExternalId(String externalId); + + public String getCssClass(); + + public void setCssClass(String cssClass); + + public OrganisationTypeManagedFlag[] getManagedFlags(); + + public void setManagedFlags(OrganisationTypeManagedFlag[] flags); + + public Set<OrganisationTypeToType> getAllowedSubTypes(); } diff --git a/src/main/java/org/olat/basesecurity/OrganisationTypeManagedFlag.java b/src/main/java/org/olat/basesecurity/OrganisationTypeManagedFlag.java new file mode 100644 index 0000000000000000000000000000000000000000..2c5529ed8586341472f8c5467bcdf7f8840e5461 --- /dev/null +++ b/src/main/java/org/olat/basesecurity/OrganisationTypeManagedFlag.java @@ -0,0 +1,141 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.basesecurity; + +import java.util.Arrays; + +import org.olat.core.CoreSpringFactory; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; +import org.olat.core.util.StringHelper; + +/** + * + * Initial date: 15 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public enum OrganisationTypeManagedFlag { + + all, + identifier(all), + displayName(all), + description(all), + cssClass(all), + externalId(all), + subTypes(all), + delete(all); + + private OrganisationTypeManagedFlag[] parents; + private static final OLog log = Tracing.createLoggerFor(OrganisationTypeManagedFlag.class); + public static final OrganisationTypeManagedFlag[] EMPTY_ARRAY = new OrganisationTypeManagedFlag[0]; + + private static OrganisationModule organisationModule; + + private OrganisationTypeManagedFlag() { + // + } + + private OrganisationTypeManagedFlag(OrganisationTypeManagedFlag... parents) { + if(parents == null) { + this.parents = new OrganisationTypeManagedFlag[0]; + } else { + this.parents = parents; + } + } + + public static OrganisationTypeManagedFlag[] toEnum(String flags) { + if(StringHelper.containsNonWhitespace(flags)) { + String[] flagArr = flags.split(","); + OrganisationTypeManagedFlag[] flagEnums = new OrganisationTypeManagedFlag[flagArr.length]; + + int count = 0; + for(String flag:flagArr) { + if(StringHelper.containsNonWhitespace(flag)) { + try { + OrganisationTypeManagedFlag flagEnum = valueOf(flag); + flagEnums[count++] = flagEnum; + } catch (Exception e) { + log.warn("Cannot parse this managed flag: " + flag, e); + } + } + } + + if(count != flagEnums.length) { + flagEnums = Arrays.copyOf(flagEnums, count); + } + return flagEnums; + } + return EMPTY_ARRAY; + } + + public static String toString(OrganisationTypeManagedFlag... flags) { + StringBuilder sb = new StringBuilder(); + if(flags != null && flags.length > 0 && flags[0] != null) { + for(OrganisationTypeManagedFlag flag:flags) { + if(flag != null) { + if(sb.length() > 0) sb.append(","); + sb.append(flag.name()); + } + } + } + return sb.length() == 0 ? null : sb.toString(); + } + + public static boolean isManaged(OrganisationType organisation, OrganisationTypeManagedFlag marker) { + if(organisationModule == null) { + organisationModule = CoreSpringFactory.getImpl(OrganisationModule.class); + } + if(!organisationModule.isOrganisationManaged()) { + return false; + } + return (organisation != null && (contains(organisation, marker) || contains(organisation, marker.parents))); + } + + public static boolean isManaged(OrganisationTypeManagedFlag[] flags, OrganisationTypeManagedFlag marker) { + if(organisationModule == null) { + organisationModule = CoreSpringFactory.getImpl(OrganisationModule.class); + } + if(!organisationModule.isOrganisationManaged()) { + return false; + } + + return (flags != null && (contains(flags, marker) || contains(flags, marker.parents))); + } + + private static boolean contains(OrganisationType organisation, OrganisationTypeManagedFlag... markers) { + if(organisation == null) return false; + OrganisationTypeManagedFlag[] flags = organisation.getManagedFlags(); + return contains(flags, markers); + } + + private static boolean contains(OrganisationTypeManagedFlag[] flags, OrganisationTypeManagedFlag... markers) { + if(flags == null || flags.length == 0) return false; + + for(OrganisationTypeManagedFlag flag:flags) { + for(OrganisationTypeManagedFlag marker:markers) { + if(flag.equals(marker)) { + return true; + } + } + } + return false; + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/basesecurity/OrganisationTypeRef.java b/src/main/java/org/olat/basesecurity/OrganisationTypeRef.java new file mode 100644 index 0000000000000000000000000000000000000000..6cb3352ce0437b106447c89ea65caed7a0d2f661 --- /dev/null +++ b/src/main/java/org/olat/basesecurity/OrganisationTypeRef.java @@ -0,0 +1,32 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.basesecurity; + +/** + * + * Initial date: 4 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public interface OrganisationTypeRef { + + public Long getKey(); + +} diff --git a/src/main/java/org/olat/basesecurity/manager/GroupDAO.java b/src/main/java/org/olat/basesecurity/manager/GroupDAO.java index 3afe4493fdacad0e56eb302745106bb183070bac..9af367f4cb1e0bb3875ed51239df55b06635612c 100644 --- a/src/main/java/org/olat/basesecurity/manager/GroupDAO.java +++ b/src/main/java/org/olat/basesecurity/manager/GroupDAO.java @@ -30,6 +30,7 @@ import javax.persistence.EntityManager; import org.olat.basesecurity.Grant; import org.olat.basesecurity.Group; import org.olat.basesecurity.GroupMembership; +import org.olat.basesecurity.GroupMembershipInheritance; import org.olat.basesecurity.IdentityRef; import org.olat.basesecurity.model.GrantImpl; import org.olat.basesecurity.model.GroupImpl; @@ -84,12 +85,17 @@ public class GroupDAO { * reloaded. */ public GroupMembership addMembershipTwoWay(Group group, Identity identity, String role) { + return addMembershipTwoWay(group, identity, role, GroupMembershipInheritance.none); + } + + public GroupMembership addMembershipTwoWay(Group group, Identity identity, String role, GroupMembershipInheritance inheritanceMode) { GroupMembershipImpl membership = new GroupMembershipImpl(); membership.setCreationDate(new Date()); membership.setLastModified(new Date()); membership.setGroup(group); membership.setIdentity(identity); membership.setRole(role); + membership.setInheritanceMode(inheritanceMode); dbInstance.getCurrentEntityManager().persist(membership); Set<GroupMembership> members = ((GroupImpl)group).getMembers(); @@ -105,15 +111,33 @@ public class GroupDAO { * Create a membership without updating the set in the group. */ public void addMembershipOneWay(Group group, Identity identity, String role) { + addMembershipOneWay(group, identity, role, GroupMembershipInheritance.none); + } + + /** + * Create a membership without updating the set in the group. + * + * @param group + * @param identity + * @param role + * @param inheritanceMode + */ + public void addMembershipOneWay(Group group, Identity identity, String role, GroupMembershipInheritance inheritanceMode) { GroupMembershipImpl membership = new GroupMembershipImpl(); membership.setCreationDate(new Date()); membership.setLastModified(new Date()); membership.setGroup(group); membership.setIdentity(identity); membership.setRole(role); + membership.setInheritanceMode(inheritanceMode); dbInstance.getCurrentEntityManager().persist(membership); } + public GroupMembership updateInheritanceMode(GroupMembership membership, GroupMembershipInheritance inheritanceMode) { + ((GroupMembershipImpl)membership).setInheritanceMode(inheritanceMode); + return dbInstance.getCurrentEntityManager().merge(membership); + } + public int removeMemberships(Group group) { EntityManager em = dbInstance.getCurrentEntityManager(); List<GroupMembership> memberships = em.createNamedQuery("membershipsByGroup", GroupMembership.class) @@ -165,6 +189,10 @@ public class GroupDAO { .executeUpdate(); } + public void removeMembership(GroupMembership membership) { + dbInstance.getCurrentEntityManager().remove(membership); + } + public int countMembers(Group group) { Number count = dbInstance.getCurrentEntityManager() .createNamedQuery("countMembersByGroup", Number.class) @@ -191,6 +219,13 @@ public class GroupDAO { .getResultList(); } + public List<GroupMembership> getMemberships(Group group) { + return dbInstance.getCurrentEntityManager() + .createNamedQuery("membershipsByGroup", GroupMembership.class) + .setParameter("groupKey", group.getKey()) + .getResultList(); + } + public List<GroupMembership> getMemberships(Group group, String role) { return dbInstance.getCurrentEntityManager() .createNamedQuery("membershipsByGroupAndRole", GroupMembership.class) @@ -199,6 +234,24 @@ public class GroupDAO { .getResultList(); } + public List<GroupMembership> getMemberships(Group group, IdentityRef identity) { + return dbInstance.getCurrentEntityManager() + .createNamedQuery("membershipsByGroupAndIdentity", GroupMembership.class) + .setParameter("groupKey", group.getKey()) + .setParameter("identityKey", identity.getKey()) + .getResultList(); + } + + public GroupMembership getMembership(Group group, IdentityRef identity, String role) { + List<GroupMembership> memberships = dbInstance.getCurrentEntityManager() + .createNamedQuery("membershipByGroupIdentityAndRole", GroupMembership.class) + .setParameter("groupKey", group.getKey()) + .setParameter("identityKey", identity.getKey()) + .setParameter("role", role) + .getResultList(); + return memberships == null || memberships.isEmpty() ? null : memberships.get(0); + } + public boolean hasGrant(IdentityRef identity, String permission, OLATResource resource) { StringBuilder sb = new StringBuilder(); sb.append("select count(grant) from bgrant as grant") diff --git a/src/main/java/org/olat/basesecurity/manager/InstitutionNamesToOrganisationMigrator.java b/src/main/java/org/olat/basesecurity/manager/InstitutionNamesToOrganisationMigrator.java new file mode 100644 index 0000000000000000000000000000000000000000..7713d9f75de0cdef26f32d6b8833b30f26ad5cb9 --- /dev/null +++ b/src/main/java/org/olat/basesecurity/manager/InstitutionNamesToOrganisationMigrator.java @@ -0,0 +1,201 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.basesecurity.manager; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +import org.olat.basesecurity.OrganisationRoles; +import org.olat.basesecurity.OrganisationService; +import org.olat.core.commons.persistence.DB; +import org.olat.core.id.Identity; +import org.olat.core.id.Organisation; +import org.olat.core.id.UserConstants; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; +import org.olat.core.util.StringHelper; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryEntryToOrganisation; +import org.olat.repository.RepositoryService; +import org.olat.repository.manager.RepositoryEntryRelationDAO; +import org.olat.repository.manager.RepositoryEntryToOrganisationDAO; +import org.olat.user.UserImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 4 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service +public class InstitutionNamesToOrganisationMigrator { + + private static final OLog log = Tracing.createLoggerFor(InstitutionNamesToOrganisationMigrator.class); + + @Autowired + private DB dbInstance; + @Autowired + private RepositoryService repositoryService; + @Autowired + private RepositoryEntryRelationDAO reToGroupDao; + @Autowired + private OrganisationService organisationService; + @Autowired + private RepositoryEntryToOrganisationDAO repositoryEntryToOrganisationDao; + + public void migrate() { + List<String> institutionNames = getInstitutionNames(); + //create missing organizations under the default one + Map<String,Organisation> nameToOrganisations = createOrganisations(institutionNames); + + //link every repository entry -> list of user with institutional name + List<Long> repositoryEntryKeys = getRepositoryEntryKeys(); + log.info("Migration to organisation: " + repositoryEntryKeys.size() + " resources to check"); + for(int i=0; i<repositoryEntryKeys.size(); i++) { + migrateRepositoryEntry(repositoryEntryKeys.get(i), nameToOrganisations); + if(i % 50 == 0) { + log.info("Migration to organisation: checked " + i + " / " + repositoryEntryKeys.size() + " resources"); + dbInstance.commitAndCloseSession(); + } + } + log.info("Migration to organisation: " + repositoryEntryKeys.size() + " resources checked successfully"); + + // add every learn resource manager as is under the right organisation + migrateLearnResourceManager(nameToOrganisations); + } + + private void migrateLearnResourceManager(Map<String,Organisation> nameToOrganisations) { + Organisation defOrganisation = organisationService.getDefaultOrganisation(); + List<Identity> managers = getLearnManagers(defOrganisation); + for(Identity manager:managers) { + String institutionName = manager.getUser().getProperty(UserConstants.INSTITUTIONALNAME, null); + if(StringHelper.containsNonWhitespace(institutionName)) { + Organisation institution = nameToOrganisations.get(institutionName.toLowerCase()); + if(institution != null) { + organisationService + .removeMember(defOrganisation, manager, OrganisationRoles.learnresourcemanager); + organisationService + .addMember(institution, manager, OrganisationRoles.learnresourcemanager); + dbInstance.commit(); + log.info("Institutional resource manager: " + manager.getKey() + " moved to organisation: " + institution.getDisplayName() + " (" + institution.getKey() + ")"); + } + } + } + dbInstance.commitAndCloseSession(); + } + + private void migrateRepositoryEntry(Long repositoryEntryKey, Map<String,Organisation> nameToOrganisations) { + List<String> entryInstitutionNames = getInstitutionNames(repositoryEntryKey); + if(entryInstitutionNames.isEmpty()) return; + + RepositoryEntry re = repositoryService.loadByKey(repositoryEntryKey); + Set<RepositoryEntryToOrganisation> organisationRelations = re.getOrganisations(); + List<Organisation> currentOrganisations = organisationRelations.stream() + .map(RepositoryEntryToOrganisation::getOrganisation).collect(Collectors.toList()); + + for(String entryInstitutionName:entryInstitutionNames) { + Organisation organisation = nameToOrganisations.get(entryInstitutionName.toLowerCase()); + if(!currentOrganisations.contains(organisation)) { + reToGroupDao.createRelation(organisation.getGroup(), re); + repositoryEntryToOrganisationDao.createRelation(organisation, re, false); + } + } + dbInstance.commitAndCloseSession(); + } + + private Map<String,Organisation> createOrganisations(List<String> institutionNames) { + List<Organisation> organisations = organisationService.getOrganisations(); + Map<String,Organisation> nameToOrganisations = new HashMap<>(); + for(Organisation organisation:organisations) { + if(StringHelper.containsNonWhitespace(organisation.getDisplayName())) { + nameToOrganisations.put(organisation.getDisplayName().toLowerCase(), organisation); + } + if(StringHelper.containsNonWhitespace(organisation.getIdentifier())) { + nameToOrganisations.put(organisation.getIdentifier().toLowerCase(), organisation); + } + } + + Organisation defOrganisation = organisationService.getDefaultOrganisation(); + for(String institutionName:institutionNames) { + String lowerCased = institutionName.toLowerCase(); + if(!nameToOrganisations.containsKey(lowerCased)) { + Organisation organisation = organisationService + .createOrganisation(institutionName, institutionName, null, defOrganisation, null); + nameToOrganisations.put(lowerCased, organisation); + } + } + dbInstance.commitAndCloseSession(); + return nameToOrganisations; + } + + private List<Long> getRepositoryEntryKeys() { + String q = "select v.key from repositoryentry as v"; + return dbInstance.getCurrentEntityManager() + .createQuery(q, Long.class) + .getResultList(); + } + + private List<String> getInstitutionNames(Long repositoryEntryKey) { + StringBuilder sb = new StringBuilder(256); + sb.append("select distinct identUser.institutionalName from repositoryentry as v") + .append(" inner join v.groups as relGroup") + .append(" inner join relGroup.group as baseGroup") + .append(" inner join baseGroup.members as memberships") + .append(" inner join memberships.identity as ident") + .append(" inner join ident.user as identUser") + .append(" where v.key=:repositoryEntryKey"); + + List<String> names = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), String.class) + .setParameter("repositoryEntryKey", repositoryEntryKey) + .getResultList(); + return names.stream() + .filter(StringHelper::containsNonWhitespace) + .collect(Collectors.toList()); + } + + private List<String> getInstitutionNames() { + String q = "select distinct user.institutionalName from " + UserImpl.class.getCanonicalName() + " as user"; + List<String> names = dbInstance.getCurrentEntityManager() + .createQuery(q, String.class) + .getResultList(); + return names.stream() + .filter(StringHelper::containsNonWhitespace) + .collect(Collectors.toList()); + } + + private List<Identity> getLearnManagers(Organisation organisation) { + StringBuilder sb = new StringBuilder(); + sb.append("select distinct ident from bgroupmember as membership") + .append(" inner join membership.identity as ident") + .append(" inner join fetch ident.user as identUser") + .append(" where membership.group.key=:groupKey and membership.role=:role"); + return dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), Identity.class) + .setParameter("groupKey", organisation.getGroup().getKey()) + .setParameter("role", OrganisationRoles.learnresourcemanager.name()) + .getResultList(); + } +} diff --git a/src/main/java/org/olat/basesecurity/manager/OrganisationDAO.java b/src/main/java/org/olat/basesecurity/manager/OrganisationDAO.java index 2e8a15990ada2f088e27bd9935c0175dfb5e5f5c..afe789d65c0b25345fd52f054ccc4f0386c62f3a 100644 --- a/src/main/java/org/olat/basesecurity/manager/OrganisationDAO.java +++ b/src/main/java/org/olat/basesecurity/manager/OrganisationDAO.java @@ -22,17 +22,22 @@ package org.olat.basesecurity.manager; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.Comparator; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import javax.persistence.TypedQuery; +import org.olat.basesecurity.GroupMembershipInheritance; import org.olat.basesecurity.IdentityRef; import org.olat.basesecurity.OrganisationService; import org.olat.basesecurity.OrganisationType; import org.olat.basesecurity.model.OrganisationImpl; import org.olat.basesecurity.model.OrganisationMember; +import org.olat.basesecurity.model.OrganisationNode; import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; import org.olat.core.id.Organisation; @@ -83,7 +88,7 @@ public class OrganisationDAO { return organisation; } - private String getMaterializedPathKeys(Organisation parent, Organisation level) { + public String getMaterializedPathKeys(Organisation parent, Organisation level) { if(parent != null) { String parentPathOfKeys = parent.getMaterializedPathKeys(); if(parentPathOfKeys == null || "/".equals(parentPathOfKeys)) { @@ -168,7 +173,7 @@ public class OrganisationDAO { public List<OrganisationMember> getMembers(OrganisationRef organisation) { StringBuilder sb = new StringBuilder(256); - sb.append("select ident, membership.role from organisation org") + sb.append("select ident, membership.role, membership.inheritanceModeString from organisation org") .append(" inner join org.group baseGroup") .append(" inner join baseGroup.members membership") .append(" inner join membership.identity ident") @@ -181,7 +186,12 @@ public class OrganisationDAO { for(Object[] object:objects) { Identity identity = (Identity)object[0]; String role = (String)object[1]; - members.add(new OrganisationMember(identity, role)); + String inheritanceModeString = (String)object[2]; + GroupMembershipInheritance inheritanceMode = GroupMembershipInheritance.none; + if(StringHelper.containsNonWhitespace(inheritanceModeString)) { + inheritanceMode = GroupMembershipInheritance.valueOf(inheritanceModeString); + } + members.add(new OrganisationMember(identity, role, inheritanceMode)); } return members; } @@ -220,6 +230,8 @@ public class OrganisationDAO { sb.append("select distinct org from organisation org") .append(" inner join fetch org.group baseGroup") .append(" inner join baseGroup.members membership") + .append(" left join fetch org.type orgType") + .append(" left join fetch org.parent parentOrg") .append(" where membership.identity.key=:identityKey and membership.role in (:roles)"); return dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), Organisation.class) @@ -246,13 +258,63 @@ public class OrganisationDAO { public List<Organisation> getDescendants(Organisation organisation) { StringBuilder sb = new StringBuilder(128); sb.append("select org from organisation org") - .append(" where org.materializedPathKeys like :materializedPathKeys"); + .append(" inner join fetch org.group baseGroup") + .append(" left join fetch org.type orgType") + .append(" left join fetch org.parent parentOrg") + .append(" where org.materializedPathKeys like :materializedPathKeys and not(org.key=:organisationKey)"); return dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), Organisation.class) .setParameter("materializedPathKeys", organisation.getMaterializedPathKeys() + "%") + .setParameter("organisationKey", organisation.getKey()) .getResultList(); } + public OrganisationNode getDescendantTree(Organisation rootOrganisation) { + OrganisationNode rootNode = new OrganisationNode(rootOrganisation); + + List<Organisation> descendants = getDescendants(rootOrganisation); + Map<Long,OrganisationNode> keyToOrganisations = new HashMap<>(); + for(Organisation descendant:descendants) { + keyToOrganisations.put(descendant.getKey(), new OrganisationNode(descendant)); + } + + for(Organisation descendant:descendants) { + Long key = descendant.getKey(); + if(key.equals(rootOrganisation.getKey())) { + continue; + } + + OrganisationNode node = keyToOrganisations.get(key); + Organisation parentOrganisation = descendant.getParent(); + Long parentKey = parentOrganisation.getKey(); + if(parentKey.equals(rootOrganisation.getKey())) { + //this is a root, or the user has not access to parent + rootNode.addChildrenNode(node); + } else { + OrganisationNode parentNode = keyToOrganisations.get(parentKey); + parentNode.addChildrenNode(node); + } + } + + return rootNode; + } + + public List<Organisation> getParentLine(Organisation organisation) { + StringBuilder sb = new StringBuilder(256); + sb.append("select org from organisation as org") + .append(" inner join org.group as baseGroup") + .append(" left join fetch org.parent as parent") + .append(" left join fetch org.type as type") + .append(" where locate(org.materializedPathKeys,:materializedPath) = 1"); + + List<Organisation> levels = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), Organisation.class) + .setParameter("materializedPath", organisation.getMaterializedPathKeys() + "%") + .getResultList(); + Collections.sort(levels, new PathMaterializedPathLengthComparator()); + return levels; + } + public boolean hasAnyRole(IdentityRef identity, String excludeRole) { StringBuilder sb = new StringBuilder(256); @@ -312,4 +374,16 @@ public class OrganisationDAO { .getResultList(); return memberships != null && !memberships.isEmpty() && memberships.get(0) != null && memberships.get(0).longValue() > 0; } + + private static class PathMaterializedPathLengthComparator implements Comparator<Organisation> { + @Override + public int compare(Organisation l1, Organisation l2) { + String s1 = l1.getMaterializedPathKeys(); + String s2 = l2.getMaterializedPathKeys(); + + int len1 = s1 == null ? 0 : s1.length(); + int len2 = s2 == null ? 0 : s2.length(); + return len1 - len2; + } + } } diff --git a/src/main/java/org/olat/basesecurity/manager/OrganisationServiceImpl.java b/src/main/java/org/olat/basesecurity/manager/OrganisationServiceImpl.java index df8315ee27c45b259ceaf4e1d144fee3a3b5cd5b..e733d885178d34e802d1497ffad7c6997a1a590e 100644 --- a/src/main/java/org/olat/basesecurity/manager/OrganisationServiceImpl.java +++ b/src/main/java/org/olat/basesecurity/manager/OrganisationServiceImpl.java @@ -20,22 +20,32 @@ package org.olat.basesecurity.manager; import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; +import org.olat.basesecurity.Group; +import org.olat.basesecurity.GroupMembership; +import org.olat.basesecurity.GroupMembershipInheritance; import org.olat.basesecurity.IdentityRef; import org.olat.basesecurity.OrganisationManagedFlag; import org.olat.basesecurity.OrganisationRoles; import org.olat.basesecurity.OrganisationService; import org.olat.basesecurity.OrganisationType; +import org.olat.basesecurity.OrganisationTypeRef; import org.olat.basesecurity.model.OrganisationImpl; import org.olat.basesecurity.model.OrganisationMember; +import org.olat.basesecurity.model.OrganisationNode; import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; import org.olat.core.id.Organisation; import org.olat.core.id.OrganisationRef; import org.olat.core.id.Roles; +import org.olat.core.logging.AssertException; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; import org.springframework.beans.factory.InitializingBean; @@ -59,6 +69,10 @@ public class OrganisationServiceImpl implements OrganisationService, Initializin private GroupDAO groupDao; @Autowired private OrganisationDAO organisationDao; + @Autowired + private OrganisationTypeDAO organisationTypeDao; + @Autowired + private OrganisationTypeToTypeDAO organisationTypeToTypeDao; @Override public void afterPropertiesSet() throws Exception { @@ -75,8 +89,19 @@ public class OrganisationServiceImpl implements OrganisationService, Initializin } @Override - public Organisation createOrganisation(String displayName, String identifier, String description, Organisation organisation, OrganisationType type) { - return organisationDao.createAndPersistOrganisation(displayName, identifier, description, organisation, type); + public Organisation createOrganisation(String displayName, String identifier, String description, Organisation parentOrganisation, OrganisationType type) { + Organisation organisation = organisationDao.createAndPersistOrganisation(displayName, identifier, description, parentOrganisation, type); + if(parentOrganisation != null) { + Group organisationGroup = organisation.getGroup(); + List<GroupMembership> memberships = groupDao.getMemberships(parentOrganisation.getGroup()); + for(GroupMembership membership:memberships) { + if(membership.getInheritanceMode() == GroupMembershipInheritance.inherited + || membership.getInheritanceMode() == GroupMembershipInheritance.root) { + groupDao.addMembershipOneWay(organisationGroup, membership.getIdentity(), membership.getRole(), GroupMembershipInheritance.inherited); + } + } + } + return organisation; } @Override @@ -84,11 +109,143 @@ public class OrganisationServiceImpl implements OrganisationService, Initializin return organisationDao.loadByKey(organisation.getKey()); } + @Override + public List<Organisation> getOrganisationParentLine(Organisation organisation) { + return organisationDao.getParentLine(organisation); + } + @Override public Organisation updateOrganisation(Organisation organisation) { return organisationDao.update(organisation); } + @Override + public void moveOrganisation(OrganisationRef organisationToMove, OrganisationRef newParentRef) { + OrganisationImpl toMove = (OrganisationImpl)organisationDao.loadByKey(organisationToMove.getKey()); + Organisation newParent = organisationDao.loadByKey(newParentRef.getKey()); + if(newParent == null || newParent.equals(toMove.getParent())) { + return;// nothing to do + } + + OrganisationNode treeToMove = organisationDao.getDescendantTree(toMove); + // clean inheritance of memberships + cleanMembership(treeToMove, new HashSet<>()); + + String keysPath = toMove.getMaterializedPathKeys(); + + toMove.setParent(newParent); + toMove.setLastModified(new Date()); + String newKeysPath = organisationDao.getMaterializedPathKeys(newParent, toMove); + toMove.setMaterializedPathKeys(newKeysPath); + dbInstance.getCurrentEntityManager().merge(toMove); + + List<Organisation> descendants = new ArrayList<>(); + treeToMove.visit(node -> { + if(node != treeToMove) { + descendants.add(node.getOrganisation()); + } + }); + + + for(Organisation descendant:descendants) { + String descendantKeysPath = descendant.getMaterializedPathKeys(); + if(descendantKeysPath.indexOf(keysPath) == 0) { + String end = descendantKeysPath.substring(keysPath.length(), descendantKeysPath.length()); + String updatedPath = newKeysPath + end; + ((OrganisationImpl)descendant).setMaterializedPathKeys(updatedPath); + } + dbInstance.getCurrentEntityManager().merge(descendant); + } + + // propagate inheritance of the new parent + List<GroupMembership> memberships = groupDao.getMemberships(newParent.getGroup()); + List<GroupMembership> membershipsToPropagate = new ArrayList<>(); + for(GroupMembership membership:memberships) { + if(membership.getInheritanceMode() == GroupMembershipInheritance.inherited || membership.getInheritanceMode() == GroupMembershipInheritance.root) { + membershipsToPropagate.add(membership); + } + } + + if(!membershipsToPropagate.isEmpty()) { + propagateMembership(treeToMove, membershipsToPropagate); + } + + dbInstance.commit(); + } + + private void propagateMembership(OrganisationNode node, List<GroupMembership> membershipsToPropagate) { + Group group = node.getOrganisation().getGroup(); + List<GroupMembership> nodeMemberships = groupDao.getMemberships(group); + Map<IdentityRoleKey,GroupMembership> identityRoleToMembership = new HashMap<>(); + for(GroupMembership nodeMembership:nodeMemberships) { + identityRoleToMembership.put(new IdentityRoleKey(nodeMembership), nodeMembership); + } + + for(GroupMembership membershipToPropagate:membershipsToPropagate) { + GroupMembership nodeMembership = identityRoleToMembership.get(new IdentityRoleKey(membershipToPropagate)); + if(nodeMembership == null) { + groupDao.addMembershipOneWay(group, membershipToPropagate.getIdentity(), membershipToPropagate.getRole(), GroupMembershipInheritance.inherited); + } else if(nodeMembership.getInheritanceMode() != GroupMembershipInheritance.inherited) { + groupDao.updateInheritanceMode(nodeMembership, GroupMembershipInheritance.inherited); + } + } + + List<OrganisationNode> children = node.getChildrenNode(); + if(children != null && !children.isEmpty()) { + for(OrganisationNode child:children) { + propagateMembership(child, membershipsToPropagate); + } + } + } + + private void cleanMembership(OrganisationNode node, Set<IdentityRoleKey> inheritance) { + List<GroupMembership> memberships = groupDao.getMemberships(node.getOrganisation().getGroup()); + for(GroupMembership membership:memberships) { + if(membership.getInheritanceMode() == GroupMembershipInheritance.inherited) { + if(!inheritance.contains(new IdentityRoleKey(membership))) { + groupDao.removeMembership(node.getOrganisation().getGroup(), membership.getIdentity(), membership.getRole()); + } + } else if(membership.getInheritanceMode() == GroupMembershipInheritance.root) { + inheritance.add(new IdentityRoleKey(membership)); + } + } + + List<OrganisationNode> children = node.getChildrenNode(); + if(children != null && !children.isEmpty()) { + for(OrganisationNode child:children) { + cleanMembership(child, new HashSet<>(inheritance)); + } + } + } + + private static class IdentityRoleKey { + + private final Long identityKey; + private final String role; + + public IdentityRoleKey(GroupMembership membership) { + identityKey = membership.getIdentity().getKey(); + role = membership.getRole(); + } + + @Override + public int hashCode() { + return identityKey.hashCode() + role.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + if(obj instanceof IdentityRoleKey) { + IdentityRoleKey m = (IdentityRoleKey)obj; + return identityKey.equals(m.identityKey) && role.equals(m.role); + } + return false; + } + } + @Override public Organisation getDefaultOrganisation() { List<Organisation> defOrganisations = organisationDao.loadDefaultOrganisation(); @@ -108,6 +265,42 @@ public class OrganisationServiceImpl implements OrganisationService, Initializin return organisationDao.find(); } + @Override + public OrganisationType createOrganisationType(String displayName, String identifier, String description) { + return organisationTypeDao.createAndPersist(displayName, identifier, description); + } + + @Override + public OrganisationType getOrganisationType(OrganisationTypeRef type) { + return organisationTypeDao.loadByKey(type.getKey()); + } + + @Override + public OrganisationType updateOrganisationType(OrganisationType type) { + return organisationTypeDao.updateOrganisationType(type); + } + + @Override + public OrganisationType updateOrganisationType(OrganisationType type, List<OrganisationType> allowedSubTypes) { + organisationTypeToTypeDao.setAllowedSubType(type, allowedSubTypes); + return organisationTypeDao.updateOrganisationType(type); + } + + @Override + public void allowOrganisationSubType(OrganisationType parentType, OrganisationType allowedSubType) { + organisationTypeToTypeDao.addAllowedSubType(parentType, allowedSubType); + } + + @Override + public void disallowOrganisationSubType(OrganisationType parentType, OrganisationType disallowedSubType) { + organisationTypeToTypeDao.disallowedSubType(parentType, disallowedSubType); + } + + @Override + public List<OrganisationType> getOrganisationTypes() { + return organisationTypeDao.load(); + } + @Override public List<Organisation> getOrganisations(IdentityRef member, OrganisationRoles... role) { List<String> roleList = new ArrayList<>(role.length); @@ -118,46 +311,22 @@ public class OrganisationServiceImpl implements OrganisationService, Initializin } @Override - public List<Organisation> getSearchableOrganisations(IdentityRef member, Roles roles, OrganisationRoles additionalManagerRole) { - List<String> roleList = new ArrayList<>();// if user manager, descent organization tree - for(OrganisationRoles r:OrganisationRoles.values()) { - if(r != OrganisationRoles.guest) { - roleList.add(r.name()); - } + public List<Organisation> getOrganisations(IdentityRef member, Roles roles, OrganisationRoles... organisationRoles) { + if(organisationRoles == null || organisationRoles.length == 0 || organisationRoles[0] == null) { + return Collections.emptyList(); } - List<Organisation> organisations = organisationDao.getOrganisations(member, roleList); - Set<Organisation> organisationWithDescendants = new HashSet<>(); - for(Organisation organisation:organisations) { - organisationWithDescendants.add(organisation); - if(roles.hasRole(organisation, additionalManagerRole) - || roles.hasRole(organisation, OrganisationRoles.administrator)) { - List<Organisation> descendants = organisationDao.getDescendants(organisation); - organisationWithDescendants.addAll(descendants); - } + if(roles.isOLATAdmin()) { + return organisationDao.find(); } - - return new ArrayList<>(organisationWithDescendants); - } - - @Override - public List<Organisation> getManageableOrganisations(IdentityRef member, Roles roles, OrganisationRoles additionalManagerRole) { - Set<OrganisationRef> manageableRootOrganisations = new HashSet<>(); - manageableRootOrganisations.addAll(roles.getOrganisationsWithRoles(OrganisationRoles.administrator)); - manageableRootOrganisations.addAll(roles.getOrganisationsWithRoles(additionalManagerRole)); - - List<Organisation> organisations = organisationDao.getOrganisations(manageableRootOrganisations); - Set<Organisation> organisationWithDescendants = new HashSet<>(); - for(Organisation organisation:organisations) { - organisationWithDescendants.add(organisation); - if(roles.hasRole(organisation, additionalManagerRole) - || roles.hasRole(organisation, OrganisationRoles.administrator)) { - List<Organisation> descendants = organisationDao.getDescendants(organisation); - organisationWithDescendants.addAll(descendants); + + Set<OrganisationRef> organisations = new HashSet<>(); + for(OrganisationRoles organisationRole:organisationRoles) { + if(organisationRole != null) { + organisations.addAll(roles.getOrganisationsWithRole(organisationRole)); } } - - return new ArrayList<>(organisationWithDescendants); + return organisationDao.getOrganisations(organisations); } @Override @@ -170,7 +339,7 @@ public class OrganisationServiceImpl implements OrganisationService, Initializin OrganisationImpl defOrganisation = (OrganisationImpl)getDefaultOrganisation(); if(!groupDao.hasRole(defOrganisation.getGroup(), identity, OrganisationRoles.guest.name())) { groupDao.removeMemberships(identity); - addMember(defOrganisation, identity, OrganisationRoles.guest); + addMember(defOrganisation, identity, OrganisationRoles.guest, GroupMembershipInheritance.none); } } @@ -185,25 +354,93 @@ public class OrganisationServiceImpl implements OrganisationService, Initializin Organisation defOrganisation = getDefaultOrganisation(); removeMember(defOrganisation, member, role); } + @Override public void addMember(Organisation organisation, Identity member, OrganisationRoles role) { + GroupMembershipInheritance inheritanceMode; + if(role == OrganisationRoles.usermanager || role == OrganisationRoles.learnresourcemanager || role == OrganisationRoles.author) { + inheritanceMode = GroupMembershipInheritance.root; + } else { + inheritanceMode = GroupMembershipInheritance.none; + } + addMember(organisation, member, role, inheritanceMode); + } + + @Override + public void addMember(Organisation organisation, Identity member, OrganisationRoles role, GroupMembershipInheritance inheritanceMode) { + if(inheritanceMode == GroupMembershipInheritance.inherited) { + throw new AssertException("Inherited are automatic"); + } + OrganisationImpl org = (OrganisationImpl)organisation; - if(!groupDao.hasRole(org.getGroup(), member, role.name())) { - groupDao.addMembershipOneWay(org.getGroup(), member, role.name()); + GroupMembership membership = groupDao.getMembership(org.getGroup(), member, role.name()); + if(membership == null) { + groupDao.addMembershipOneWay(org.getGroup(), member, role.name(), inheritanceMode); + } else if(membership.getInheritanceMode() != inheritanceMode) { + groupDao.updateInheritanceMode(membership, inheritanceMode); + } + + if(inheritanceMode == GroupMembershipInheritance.root) { + List<Organisation> descendants = organisationDao.getDescendants(organisation); + for(Organisation descendant:descendants) { + OrganisationImpl orgDescendant = (OrganisationImpl)descendant; + GroupMembership inheritedMembership = groupDao.getMembership(orgDescendant.getGroup(), member, role.name()); + if(inheritedMembership == null) { + groupDao.addMembershipOneWay(orgDescendant.getGroup(), member, role.name(), GroupMembershipInheritance.inherited); + } else if(inheritedMembership.getInheritanceMode() == GroupMembershipInheritance.none) { + groupDao.updateInheritanceMode(inheritedMembership, GroupMembershipInheritance.inherited); + } + } } } @Override public void removeMember(Organisation organisation, IdentityRef member) { - OrganisationImpl org = (OrganisationImpl)organisation; - groupDao.removeMembership(org.getGroup(), member); + List<GroupMembership> memberships = groupDao.getMemberships(organisation.getGroup(), member); + + OrganisationNode organisationTree = null; + + for(GroupMembership membership:memberships) { + if(membership.getInheritanceMode() == GroupMembershipInheritance.none) { + groupDao.removeMembership(membership); + } else if(membership.getInheritanceMode() == GroupMembershipInheritance.root) { + String role = membership.getRole(); + groupDao.removeMembership(membership); + + if(organisationTree == null) { + organisationTree = organisationDao.getDescendantTree(organisation); + } + for(OrganisationNode child:organisationTree.getChildrenNode()) { + removeInherithedMembership(child, member, role); + } + } + } } + + /** + * The method will recursively delete the inherithed membership. If it + * found a mebership marked as "root" or "none". It will stop. + * + * @param organisationNode The organization node + * @param member The user to remove + * @param role The role + */ + private void removeInherithedMembership(OrganisationNode organisationNode, IdentityRef member, String role) { + GroupMembership membership = groupDao + .getMembership(organisationNode.getOrganisation().getGroup(), member, role); + if(membership != null && membership.getInheritanceMode() == GroupMembershipInheritance.inherited) { + groupDao.removeMembership(membership); + for(OrganisationNode child:organisationNode.getChildrenNode()) { + removeInherithedMembership(child, member, role); + } + } + } + @Override public void removeMember(Organisation organisation, IdentityRef member, OrganisationRoles role) { - OrganisationImpl org = (OrganisationImpl)organisation; - groupDao.removeMembership(org.getGroup(), member, role.name()); + groupDao.removeMembership(organisation.getGroup(), member, role.name()); } @Override diff --git a/src/main/java/org/olat/basesecurity/manager/OrganisationTypeDAO.java b/src/main/java/org/olat/basesecurity/manager/OrganisationTypeDAO.java index 589fd9dadf1ff604639017034456bf1421a3aa5f..5b171c56f14fd7884638777736d2ded444136641 100644 --- a/src/main/java/org/olat/basesecurity/manager/OrganisationTypeDAO.java +++ b/src/main/java/org/olat/basesecurity/manager/OrganisationTypeDAO.java @@ -40,12 +40,13 @@ public class OrganisationTypeDAO { @Autowired private DB dbInstance; - public OrganisationType createAndPersist(String displayName, String identifier) { + public OrganisationType createAndPersist(String displayName, String identifier, String description) { OrganisationTypeImpl type = new OrganisationTypeImpl(); type.setCreationDate(new Date()); type.setLastModified(type.getCreationDate()); type.setDisplayName(displayName); type.setIdentifier(identifier); + type.setDescription(description); dbInstance.getCurrentEntityManager().persist(type); return type; } @@ -57,5 +58,17 @@ public class OrganisationTypeDAO { .getResultList(); return types == null || types.isEmpty() ? null : types.get(0); } + + public List<OrganisationType> load() { + String q = "select type from organisationtype type"; + return dbInstance.getCurrentEntityManager() + .createQuery(q, OrganisationType.class) + .getResultList(); + } + + public OrganisationType updateOrganisationType(OrganisationType type) { + ((OrganisationTypeImpl)type).setLastModified(new Date()); + return dbInstance.getCurrentEntityManager().merge(type); + } } diff --git a/src/main/java/org/olat/basesecurity/manager/OrganisationTypeToTypeDAO.java b/src/main/java/org/olat/basesecurity/manager/OrganisationTypeToTypeDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..ffd31e3eb3b2ea894d293339ae3ee9113de7622f --- /dev/null +++ b/src/main/java/org/olat/basesecurity/manager/OrganisationTypeToTypeDAO.java @@ -0,0 +1,123 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.basesecurity.manager; + +import java.util.List; + +import org.olat.basesecurity.OrganisationType; +import org.olat.basesecurity.OrganisationTypeRef; +import org.olat.basesecurity.OrganisationTypeToType; +import org.olat.basesecurity.model.OrganisationTypeToTypeImpl; +import org.olat.core.commons.persistence.DB; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 3 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service +public class OrganisationTypeToTypeDAO { + + @Autowired + private DB dbInstance; + + public int disallowedSubType(OrganisationType parentType, OrganisationType disallowedSubType) { + String q = "delete from organisationtypetotype type2type where type2type.organisationType.key=:typeKey and type2type.allowedSubOrganisationType.key=:subTypeKey"; + return dbInstance.getCurrentEntityManager() + .createQuery(q) + .setParameter("typeKey", parentType.getKey()) + .setParameter("subTypeKey", disallowedSubType.getKey()) + .executeUpdate(); + } + + public void setAllowedSubType(OrganisationType parentType, List<OrganisationType> allowSubTypes) { + List<OrganisationTypeToType> typeToTypes = getAllowedSubTypes(parentType); + for(OrganisationTypeToType typeToType:typeToTypes) { + boolean found = false; + for(OrganisationType allowSubType:allowSubTypes) { + if(typeToType.getAllowedSubOrganisationType().equals(allowSubType)) { + found = true; + break; + } + } + + if(!found) { + dbInstance.getCurrentEntityManager().remove(typeToType); + } + } + + for(OrganisationType allowSubType:allowSubTypes) { + boolean found = false; + for(OrganisationTypeToType typeToType:typeToTypes) { + if(typeToType.getAllowedSubOrganisationType().equals(allowSubType)) { + found = true; + break; + } + } + + if(!found) { + addAllowedSubType(parentType, allowSubType); + } + } + } + + public List<OrganisationTypeToType> getAllowedSubTypes(OrganisationTypeRef parentType) { + String q = "select type2type from organisationtypetotype type2type inner join fetch type2type.allowedSubOrganisationType subType where type2type.organisationType.key=:typeKey"; + return dbInstance.getCurrentEntityManager() + .createQuery(q, OrganisationTypeToType.class) + .setParameter("typeKey", parentType.getKey()) + .getResultList(); + } + + public List<OrganisationTypeToType> getAllowedSubTypes(OrganisationType parentType, OrganisationType allowedSubType) { + String q = "select type2type from organisationtypetotype type2type where type2type.organisationType.key=:typeKey and type2type.allowedSubOrganisationType.key=:subTypeKey"; + return dbInstance.getCurrentEntityManager() + .createQuery(q, OrganisationTypeToType.class) + .setParameter("typeKey", parentType.getKey()) + .setParameter("subTypeKey", allowedSubType.getKey()) + .getResultList(); + } + + public int deleteAllowedSubTypes(OrganisationTypeRef parentType) { + String q = "delete from organisationtypetotype where organisationType.key=:typeKey"; + int rows = dbInstance.getCurrentEntityManager() + .createQuery(q) + .setParameter("typeKey", parentType.getKey()) + .executeUpdate(); + + String qReverse = "delete from organisationtypetotype where allowedSubOrganisationType.key=:typeKey"; + rows += dbInstance.getCurrentEntityManager() + .createQuery(qReverse) + .setParameter("typeKey", parentType.getKey()) + .executeUpdate(); + + return rows; + } + + public void addAllowedSubType(OrganisationType parentType, OrganisationType allowedSubType) { + OrganisationTypeToTypeImpl reloadedParentType = new OrganisationTypeToTypeImpl(); + reloadedParentType.setOrganisationType(parentType); + reloadedParentType.setAllowedSubOrganisationType(allowedSubType); + dbInstance.getCurrentEntityManager().persist(reloadedParentType); + } +} diff --git a/src/main/java/org/olat/basesecurity/model/GroupMembershipImpl.java b/src/main/java/org/olat/basesecurity/model/GroupMembershipImpl.java index c9a0de90f03127399f296584cd542a9e0bce68f3..394c967f7f66157defcbafaaf83cb088a0cafebe 100644 --- a/src/main/java/org/olat/basesecurity/model/GroupMembershipImpl.java +++ b/src/main/java/org/olat/basesecurity/model/GroupMembershipImpl.java @@ -39,10 +39,12 @@ import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; import org.olat.basesecurity.Group; import org.olat.basesecurity.GroupMembership; +import org.olat.basesecurity.GroupMembershipInheritance; import org.olat.basesecurity.IdentityImpl; import org.olat.core.id.Identity; import org.olat.core.id.ModifiedInfo; import org.olat.core.id.Persistable; +import org.olat.core.util.StringHelper; /** * @@ -55,6 +57,7 @@ import org.olat.core.id.Persistable; @NamedQueries({ @NamedQuery(name="membershipsByGroup", query="select membership from bgroupmember as membership where membership.group.key=:groupKey"), @NamedQuery(name="membershipsByGroupAndRole", query="select membership from bgroupmember as membership where membership.group.key=:groupKey and membership.role=:role"), + @NamedQuery(name="membershipByGroupIdentityAndRole", query="select membership from bgroupmember as membership where membership.group.key=:groupKey and membership.identity.key=:identityKey and membership.role=:role"), @NamedQuery(name="deleteMembershipsByGroupAndRole", query="delete from bgroupmember as membership where membership.group.key=:groupKey and membership.role=:role"), @NamedQuery(name="membershipsByGroupAndIdentity", query="select membership from bgroupmember as membership where membership.group.key=:groupKey and membership.identity.key=:identityKey"), @NamedQuery(name="membershipsByGroupIdentityAndRole", query="select membership from bgroupmember as membership where membership.group.key=:groupKey and membership.identity.key=:identityKey and membership.role=:role"), @@ -91,6 +94,9 @@ public class GroupMembershipImpl implements GroupMembership, ModifiedInfo, Persi @Column(name="g_role", nullable=false, insertable=true, updatable=false) private String role; + @Column(name="g_inheritance_mode", nullable=false, insertable=true, updatable=false) + private String inheritanceModeString; + @ManyToOne(targetEntity=GroupImpl.class,fetch=FetchType.LAZY,optional=false) @JoinColumn(name="fk_group_id", nullable=false, insertable=true, updatable=false) private Group group; @@ -126,6 +132,7 @@ public class GroupMembershipImpl implements GroupMembership, ModifiedInfo, Persi this.lastModified = lastModified; } + @Override public String getRole() { return role; } @@ -134,6 +141,24 @@ public class GroupMembershipImpl implements GroupMembership, ModifiedInfo, Persi this.role = role; } + public String getInheritanceModeString() { + return inheritanceModeString; + } + + public void setInheritanceModeString(String inheritanceModeString) { + this.inheritanceModeString = inheritanceModeString; + } + + @Override + public GroupMembershipInheritance getInheritanceMode() { + return StringHelper.containsNonWhitespace(inheritanceModeString) + ? GroupMembershipInheritance.valueOf(inheritanceModeString) : GroupMembershipInheritance.none; + } + + public void setInheritanceMode(GroupMembershipInheritance mode) { + inheritanceModeString = mode == null ? GroupMembershipInheritance.none.name() : mode.name(); + } + public Group getGroup() { return group; } @@ -141,7 +166,8 @@ public class GroupMembershipImpl implements GroupMembership, ModifiedInfo, Persi public void setGroup(Group group) { this.group = group; } - + + @Override public Identity getIdentity() { return identity; } diff --git a/src/main/java/org/olat/basesecurity/model/OrganisationImpl.java b/src/main/java/org/olat/basesecurity/model/OrganisationImpl.java index 409a2a6c5892cac031ae3f4dada0e123e48e3e5e..e10160052595ac52600857f2a2460f7cf134d934 100644 --- a/src/main/java/org/olat/basesecurity/model/OrganisationImpl.java +++ b/src/main/java/org/olat/basesecurity/model/OrganisationImpl.java @@ -184,6 +184,7 @@ public class OrganisationImpl implements Persistable, Organisation { this.status = status; } + @Override public String getMaterializedPathKeys() { return materializedPathKeys; } @@ -220,6 +221,7 @@ public class OrganisationImpl implements Persistable, Organisation { managedFlagsString = OrganisationManagedFlag.toString(flags); } + @Override public Group getGroup() { return group; } @@ -264,10 +266,12 @@ public class OrganisationImpl implements Persistable, Organisation { return parentLine; } + @Override public OrganisationType getType() { return type; } + @Override public void setType(OrganisationType type) { this.type = type; } diff --git a/src/main/java/org/olat/basesecurity/model/OrganisationMember.java b/src/main/java/org/olat/basesecurity/model/OrganisationMember.java index b08719dd53d3389bcc550a67df72e07112591d1f..b4a097cb19f84c90ed83e11984c21adc6e963994 100644 --- a/src/main/java/org/olat/basesecurity/model/OrganisationMember.java +++ b/src/main/java/org/olat/basesecurity/model/OrganisationMember.java @@ -19,6 +19,7 @@ */ package org.olat.basesecurity.model; +import org.olat.basesecurity.GroupMembershipInheritance; import org.olat.core.id.Identity; /** @@ -31,10 +32,12 @@ public class OrganisationMember { private final Identity identity; private final String role; + private final GroupMembershipInheritance inheritanceMode; - public OrganisationMember(Identity identity, String role) { + public OrganisationMember(Identity identity, String role, GroupMembershipInheritance inheritanceMode) { this.identity = identity; this.role = role; + this.inheritanceMode = inheritanceMode; } public Identity getIdentity() { @@ -44,4 +47,8 @@ public class OrganisationMember { public String getRole() { return role; } + + public GroupMembershipInheritance getInheritanceMode() { + return inheritanceMode; + } } \ No newline at end of file diff --git a/src/main/java/org/olat/basesecurity/model/OrganisationNode.java b/src/main/java/org/olat/basesecurity/model/OrganisationNode.java new file mode 100644 index 0000000000000000000000000000000000000000..8283a95f680ed54bb28825056c801593f2c07f5f --- /dev/null +++ b/src/main/java/org/olat/basesecurity/model/OrganisationNode.java @@ -0,0 +1,79 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.basesecurity.model; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Consumer; + +import org.olat.core.id.Organisation; +import org.olat.core.id.OrganisationRef; + +/** + * + * Initial date: 3 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class OrganisationNode { + + private Organisation organisation; + private OrganisationNode parentNode; + private final List<OrganisationNode> childrenNodes = new ArrayList<>(); + + public OrganisationNode(Organisation organisation) { + this.organisation = organisation; + } + + public Organisation getOrganisation() { + return organisation; + } + + public OrganisationNode getParentNode() { + return parentNode; + } + + public void setParentNode(OrganisationNode parentNode) { + this.parentNode = parentNode; + } + + public List<OrganisationNode> getChildrenNode() { + return childrenNodes; + } + + public void addChildrenNode(OrganisationNode childrenNode) { + childrenNodes.add(childrenNode); + } + + public OrganisationNode getChild(OrganisationRef reference) { + OrganisationNode child = null; + for(OrganisationNode childNode:childrenNodes) { + if(childNode.getOrganisation().getKey().equals(reference.getKey())) { + child = childNode; + } + } + return child; + } + + public void visit(Consumer<OrganisationNode> visitor) { + visitor.accept(this); + childrenNodes.stream().forEach(node -> node.visit(visitor)); + } +} diff --git a/src/main/java/org/olat/basesecurity/model/OrganisationTypeImpl.java b/src/main/java/org/olat/basesecurity/model/OrganisationTypeImpl.java index ed696451f6d40d665fb2aa486bff4d5ffca00911..ce70b35e26b0a05f623232f5c49d6cfd556f09cb 100644 --- a/src/main/java/org/olat/basesecurity/model/OrganisationTypeImpl.java +++ b/src/main/java/org/olat/basesecurity/model/OrganisationTypeImpl.java @@ -36,6 +36,7 @@ import javax.persistence.Temporal; import javax.persistence.TemporalType; import org.olat.basesecurity.OrganisationType; +import org.olat.basesecurity.OrganisationTypeManagedFlag; import org.olat.basesecurity.OrganisationTypeToType; import org.olat.core.id.Persistable; @@ -139,10 +140,12 @@ public class OrganisationTypeImpl implements Persistable, OrganisationType { this.description = description; } + @Override public String getCssClass() { return cssClass; } + @Override public void setCssClass(String cssClass) { this.cssClass = cssClass; } @@ -165,6 +168,17 @@ public class OrganisationTypeImpl implements Persistable, OrganisationType { this.managedFlagsString = managedFlagsString; } + @Override + public OrganisationTypeManagedFlag[] getManagedFlags() { + return OrganisationTypeManagedFlag.toEnum(managedFlagsString); + } + + @Override + public void setManagedFlags(OrganisationTypeManagedFlag[] flags) { + managedFlagsString = OrganisationTypeManagedFlag.toString(flags); + } + + @Override public Set<OrganisationTypeToType> getAllowedSubTypes() { return allowedSubTypes; } diff --git a/src/main/java/org/olat/basesecurity/model/OrganisationTypeRefImpl.java b/src/main/java/org/olat/basesecurity/model/OrganisationTypeRefImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..639761f6271ff9c304ba57653d43a9f9323b9e4c --- /dev/null +++ b/src/main/java/org/olat/basesecurity/model/OrganisationTypeRefImpl.java @@ -0,0 +1,67 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.basesecurity.model; + +import org.olat.basesecurity.OrganisationTypeRef; + +/** + * + * Initial date: 4 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class OrganisationTypeRefImpl implements OrganisationTypeRef { + + private final Long key; + + public OrganisationTypeRefImpl(Long key) { + this.key = key; + } + + @Override + public Long getKey() { + return key; + } + + @Override + public int hashCode() { + return key == null ? 687123456 : key.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if(obj instanceof OrganisationTypeRefImpl) { + OrganisationTypeRefImpl ref = (OrganisationTypeRefImpl) obj; + return key != null && key.equals(ref.key); + } + return false; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(255); + sb.append("organisationTypeRef[key=").append(getKey() == null ? "" : getKey().toString()).append("]") + .append(super.toString()); + return sb.toString(); + } +} diff --git a/src/main/java/org/olat/commons/calendar/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/commons/calendar/_i18n/LocalStrings_pt_BR.properties index 1475807e1a67295c6ef0389f156da9f3a424c74c..ee1cd0d7e545623ae198f0b6f4099c7a8c9d20d5 100644 --- a/src/main/java/org/olat/commons/calendar/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/commons/calendar/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Thu Feb 08 14:12:17 CET 2018 +#Fri May 11 23:58:52 CEST 2018 cal.add.event=Adicionar evento cal.add.readonly=(somente leitura) cal.color.choose=Escolher cor diff --git a/src/main/java/org/olat/core/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/core/_i18n/LocalStrings_pt_BR.properties index 9c849bf555eec0f6df915cbe737dda9ce6c4d380..fb7e65ca11ad5ccdae05ac7674db1ab317475ae6 100644 --- a/src/main/java/org/olat/core/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/core/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Wed Feb 28 13:29:33 CET 2018 +#Fri May 11 23:13:11 CEST 2018 alert=Favor selecionar no m\u00EDnimo um objeto para sua a\u00E7\u00E3o. back=Voltar calendar.choose=Escolha uma data do mini calend\u00E1rio @@ -109,6 +109,7 @@ toolbox.actions=A\u00E7\u00F5es toolbox.tools=Ferramentas top=Ir para o topo top.alt=Ir para o topo da p\u00E1gina +user.fullname.separator=/ user.guest=Convidado warn.beta.feature=\=Aten\u00E7\u00E3o\! Essa \u00E9 uma fun\u00E7\u00E3o experimental. Saiba que o uso desta fun\u00E7\u00E3o pode resultar em um comportamento inesperado. warn.header=Aviso diff --git a/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_pt_BR.properties index 451f0981f2a3794f25c3c24d7674cbb758daeb84..db96a6cc91025198c254bb4091134854e9dd2407 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/core/commons/modules/bc/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Tue May 02 23:50:13 CEST 2017 +#Fri May 11 23:50:30 CEST 2018 Directory=Pasta FileDeleteFailed=Arquivos/pastas <b>{0}</b> n\u00E3o puderam ser apagados. FileDeleted=Arquivos/pastas <b>{0}</b> apagados com sucesso. @@ -74,7 +74,9 @@ header.Size=Tamanho header.Status=Status header.Type=Tipo header.Version=Vers\u00E3o +header.license=Licen\u00E7a invalid.file.names=*** +license.admin.title=Pasta lock.description=Um ou mais arquivos est\u00E3o bloqueados. lock.title=Arquivo(s) bloqueado(s) mc.copy=Copiar objeto diff --git a/src/main/java/org/olat/core/commons/modules/bc/meta/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/core/commons/modules/bc/meta/_i18n/LocalStrings_pt_BR.properties index 03bac570638ebc212afd648ee6c160d81c9e9a8c..b912351ba884b3e0c6199a6f8e63e747fa6cbecf 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/meta/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/core/commons/modules/bc/meta/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Wed Jun 15 21:45:17 CEST 2016 +#Fri May 11 23:50:40 CEST 2018 cfile.name.notvalid=$org.olat.core.commons.modules.bc\:cfile.name.notvalid external.url=Link externo para este recurso file.name.notvalid=Por favor traduzir\! O nome do arquivo n\u00E3o \u00E9 v\u00E1lido, por favor, remova quaisquer caracteres inv\u00E1lidos\! Os caracteres inv\u00E1lidos\: non Latin-1, path char, \:, etc... @@ -16,9 +16,12 @@ mf.error.filename.invalidchars=O nome do objeto cont\u00E9m caracteres inv\u00E1 mf.file=Arquivo mf.filename=Nome do arquivo mf.filename.warning=<I class \="o_icon o_icon_warn"> </i> Este arquivo cont\u00E9m caracteres inv\u00E1lidos que foram removidos. +mf.freetext=Texto da Licen\u00E7a mf.header=Meta dados arquivo/pasta mf.language=Idioma mf.lastModified=\u00DAltima modifica\u00E7\u00E3o\: +mf.license=Licen\u00E7a +mf.licensor=Licenciador mf.locked=Bloqueado mf.locked.description={0} em {1} mf.locked.help=Bloquear o arquivo se outros usu\u00E1rios n\u00E3o devem ser capazes de substituir, excluir ou mov\u00EA-lo. diff --git a/src/main/java/org/olat/core/commons/persistence/_spring/databaseCorecontext.xml b/src/main/java/org/olat/core/commons/persistence/_spring/databaseCorecontext.xml index 5a211cd82fcd4f4084a06a55dc345d19ac2c005a..56a25e8a490c5aaac135ea7b2dc093a0af7b98d8 100644 --- a/src/main/java/org/olat/core/commons/persistence/_spring/databaseCorecontext.xml +++ b/src/main/java/org/olat/core/commons/persistence/_spring/databaseCorecontext.xml @@ -170,7 +170,7 @@ <bean id="hikariHibernateProperties" class="org.olat.core.commons.persistence.DBVendorHibernatePropertiesSimplification"> <constructor-arg> <props> - <prop key="hibernate.connection.provider_class">com.zaxxer.hikari.hibernate.HikariConnectionProvider</prop> + <prop key="hibernate.connection.provider_class">org.hibernate.hikaricp.internal.HikariCPConnectionProvider</prop> <!-- Max pool size , mysql-default value is 100, If you need to support more connections, you should set a larger value for this variable in mysql config --> <prop key="hibernate.hikari.maximumPoolSize">${db.hibernate.hikari.maxsize}</prop> <prop key="hibernate.hikari.minimumIdle">4</prop> diff --git a/src/main/java/org/olat/core/commons/services/csp/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/core/commons/services/csp/ui/_i18n/LocalStrings_pt_BR.properties new file mode 100644 index 0000000000000000000000000000000000000000..4d81b10849ebe74631a56f3f6d3450719ca7b9f0 --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/csp/ui/_i18n/LocalStrings_pt_BR.properties @@ -0,0 +1,23 @@ +#Fri May 11 23:15:51 CEST 2018 +blocked.uri=URI Bloqueada +column.number=N\u00FAmero da coluna +date=Data +document.uri=URI do documento +effective.directive=Diretiva +line.number=N\u00FAmero da linha +original.policy=Pol\u00EDtica original +referrer=Referenciador +script.sample=Amostra de script +source.file=Arquivo +table.header.blocked.uri=URI bloqueado +table.header.column.number=Coluna +table.header.date=Data +table.header.document.uri=Documento +table.header.effective.directive=Diretiva +table.header.key=ID +table.header.line.number=Linha +table.header.original.policy=Pol\u00EDtica +table.header.referrer=Referenciador +table.header.source.file=Arquivo +user=Usu\u00E1rio +violated.directive=Pol\u00EDtica violada diff --git a/src/main/java/org/olat/core/commons/services/license/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/core/commons/services/license/ui/_i18n/LocalStrings_pt_BR.properties new file mode 100644 index 0000000000000000000000000000000000000000..5163fded7e96470f557d564fb3d019dc3a1eea1e --- /dev/null +++ b/src/main/java/org/olat/core/commons/services/license/ui/_i18n/LocalStrings_pt_BR.properties @@ -0,0 +1,43 @@ +#Fri May 11 23:35:15 CEST 2018 +add.license.type=Criar licen\u00E7a +admin.default.license.type=Licen\u00E7a inicial +admin.enabled=Ativar licen\u00E7as em +admin.licensor.constant=Licenciador constante +admin.licensor.constant.edit=Editar +admin.licensor.constant.title=Editar licenciador +admin.licensor.creator=Licenciador inicial +admin.lizensor=Licenciador +admin.menu.title=Licen\u00E7as +admin.menu.title.alt=Licen\u00E7as +admin.start.indexer=Ap\u00F3s a ativa\u00E7\u00E3o ou desativa\u00E7\u00E3o de licen\u00E7as em um m\u00F3dulo, voc\u00EA deve iniciar o indexador de pesquisa completo para mostrar as licen\u00E7as corretas nos resultados da pesquisa. +admin.title=Licen\u00E7as +admin.translate=Traduzir licen\u00E7a +edit.license.type=Editar licen\u00E7a +error.is.default.license.type=Voc\u00EA n\u00E3o pode desativar esta licen\u00E7a, porque \u00E9 a licen\u00E7a inicial. Por favor, altere previamente a licen\u00E7a inicial. +error.license.type.name.exists=Este nome j\u00E1 existe. O nome tem que ser \u00FAnico. +license.popup.licensor=Licenciador +license.popup.text=Texto da licen\u00E7a +license.popup.type=Licen\u00E7a +license.type.css.class=Classe CSS +license.type.down=Baixa +license.type.inactive={0} (inativo) +license.type.missing=Licen\u00E7a ausente +license.type.name=Nome +license.type.name.translation=Tradu\u00E7\u00E3o +license.type.text=Texto da Licen\u00E7a +license.type.trans.all\ rights\ reserved=Todos os direitos reservados +license.type.trans.cc\ by=CC por +license.type.trans.cc\ by-nc=CC BY-NC +license.type.trans.cc\ by-nc-nd=CC BY-NC-ND +license.type.trans.cc\ by-nc-sa=CC BY-NC-SA +license.type.trans.cc\ by-nd=CC BY-ND +license.type.trans.cc\ by-sa=CC BY-SA +license.type.trans.cc0=CC0 +license.type.trans.freetext=Texto livre +license.type.trans.no.license=Sem licen\u00E7a +license.type.trans.public\ domain=Dom\u00EDnio p\u00FAblico +license.type.up=Acima +licensor.creator.constant=Licenciador constante +licensor.creator.none=Sem licenciador +licensor.creator.user.name=Usu\u00E1rio atual +table.header.edit=Editar diff --git a/src/main/java/org/olat/core/commons/services/notifications/restapi/NotificationsWebService.java b/src/main/java/org/olat/core/commons/services/notifications/restapi/NotificationsWebService.java index 79bd9afbb5053753131ae8d71119e94b7f89f7a0..5e071b07067185063d7a9c5a5c46e4a1a32c5864 100644 --- a/src/main/java/org/olat/core/commons/services/notifications/restapi/NotificationsWebService.java +++ b/src/main/java/org/olat/core/commons/services/notifications/restapi/NotificationsWebService.java @@ -84,7 +84,7 @@ public class NotificationsWebService { * @response.representation.200.qname {http://www.example.com}publisherVo * @response.representation.200.mediaType application/xml, application/json * @response.representation.200.doc The publisher - * @response.representation.200.example {@link org.olat.restapi.support.vo.Examples#SAMPLE_PUBLISHERVO} + * @response.representation.200.example {@link org.olat.core.commons.services.notifications.restapi.vo.Examples#SAMPLE_PUBLISHERVO} * @response.representation.204.doc The publisher doesn't exist * @response.representation.401.doc The roles of the authenticated user are not sufficient * @return It returns the <code>CourseVO</code> object representing the course. diff --git a/src/main/java/org/olat/core/extensions/security/GroupManagerOnlyExtensionSecurityCallback.java b/src/main/java/org/olat/core/extensions/security/GroupManagerOnlyExtensionSecurityCallback.java index ef61513c32219b3ddd4870654d4be8acc4692980..4f225f21de32c3741746b29b35bca17c0de65f08 100644 --- a/src/main/java/org/olat/core/extensions/security/GroupManagerOnlyExtensionSecurityCallback.java +++ b/src/main/java/org/olat/core/extensions/security/GroupManagerOnlyExtensionSecurityCallback.java @@ -21,6 +21,8 @@ package org.olat.core.extensions.security; import org.olat.core.extensions.action.ActionExtensionSecurityCallback; import org.olat.core.gui.UserRequest; +import org.olat.core.id.Roles; +import org.olat.core.util.UserSession; /** * @@ -30,16 +32,17 @@ import org.olat.core.gui.UserRequest; */ public class GroupManagerOnlyExtensionSecurityCallback implements ActionExtensionSecurityCallback { - /** - * - * @see org.olat.core.extensions.action.ActionExtensionSecurityCallback#isAllowedToLaunchActionController(org.olat.core.gui.UserRequest) - */ @Override public boolean isAllowedToLaunchActionController(UserRequest ureq) { - if(ureq == null || ureq.getUserSession() == null || ureq.getUserSession().getRoles() == null) { + if(ureq == null) { return false; } - return ureq.getUserSession().getRoles().isOLATAdmin() || ureq.getUserSession().getRoles().isGroupManager(); + UserSession usess = ureq.getUserSession(); + if(usess == null || usess.getRoles() == null) { + return false; + } + + Roles roles = usess.getRoles(); + return roles.isOLATAdmin() || roles.isGroupManager(); } - } diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java index 518dd8cea3d6585a420022ec2e01a126227fc158..d1b46897053ab4c1d7bb28e1bd6456f2d22e1ec3 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java @@ -91,6 +91,10 @@ public class DefaultFlexiColumnModel implements FlexiColumnModel { this(true, false, def.i18nHeaderKey(), def.ordinal(), null, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, renderer); } + public DefaultFlexiColumnModel(boolean defVisible, FlexiSortableColumnDef def, FlexiCellRenderer renderer) { + this(defVisible, false, def.i18nHeaderKey(), def.ordinal(), null, def.sortable(), def.sortKey(), FlexiColumnModel.ALIGNMENT_LEFT, renderer); + } + public DefaultFlexiColumnModel(FlexiColumnDef def, String action, FlexiCellRenderer renderer) { this(true, false, def.i18nHeaderKey(), def.ordinal(), action, false, null, FlexiColumnModel.ALIGNMENT_LEFT, new StaticFlexiCellRenderer(action, renderer)); diff --git a/src/main/java/org/olat/core/gui/components/table/TableController.java b/src/main/java/org/olat/core/gui/components/table/TableController.java index e44beca65c55f91e11a6d69aaf3b493649abba5d..7f727cd1906847d98a752730b51806b27d4a7906 100644 --- a/src/main/java/org/olat/core/gui/components/table/TableController.java +++ b/src/main/java/org/olat/core/gui/components/table/TableController.java @@ -150,26 +150,6 @@ public class TableController extends BasicController { private Link preferenceLink; private Link downloadLink; - /** - * Constructor for the table controller using the table filter. - * - * @param tableConfig The table GUI configuration determines the tables - * behavior, may be <code>null</code> to use default table configuration. - * @param ureq The user request - * @param wControl The window control - * @param filters A list of filter objects ({@link ShortName}) - * @param activeFilter The initially activated filter object - * @param filterTitle The translated title of the filter - * @param noFilterOption The translated key for the no-filter filter or - * <code>null</code> if not used - * @param tableTrans The translator that is used to translate the table - */ - public TableController(final TableGuiConfiguration tableConfig, final UserRequest ureq, final WindowControl wControl, final List<ShortName> filters, final ShortName activeFilter, - final String filterTitle, final String noFilterOption, final Translator tableTrans) { - // init using regular constructor - this(tableConfig, ureq, wControl, filters, activeFilter, filterTitle, noFilterOption, false, tableTrans); - - } /** * Constructor for the table controller using the table filter. diff --git a/src/main/java/org/olat/core/gui/control/generic/portal/PortalMainController.java b/src/main/java/org/olat/core/gui/control/generic/portal/PortalMainController.java index c8d0f782620f3bc689414f875479ab5e66334851..aeb884f15d414add44bd9706b336b91b05398ff5 100644 --- a/src/main/java/org/olat/core/gui/control/generic/portal/PortalMainController.java +++ b/src/main/java/org/olat/core/gui/control/generic/portal/PortalMainController.java @@ -79,7 +79,7 @@ public class PortalMainController extends BasicController { portalEditButton.setEnabled(false); portalEditButton.setVisible(false); } else if((roles.isGroupManager() || roles.isLearnResourceManager() || roles.isOLATAdmin() - || roles.isPoolAdmin() || roles.isUserManager() || roles.isCurriculumManager()) + || roles.isQPoolManager() || roles.isUserManager() || roles.isCurriculumManager()) && CoreSpringFactory.containsBean("authorportal")) { portalTemplate = ((PortalImpl)CoreSpringFactory.getBean("authorportal")); } else { diff --git a/src/main/java/org/olat/core/gui/control/navigation/callback/ManagersSecurityCallback.java b/src/main/java/org/olat/core/gui/control/navigation/callback/ManagersSecurityCallback.java index 6f3a8d3b2802c6b73c6d203a1640aa105ded5bcc..87c99b532810b9e290e7a730f6d718b07a573a28 100644 --- a/src/main/java/org/olat/core/gui/control/navigation/callback/ManagersSecurityCallback.java +++ b/src/main/java/org/olat/core/gui/control/navigation/callback/ManagersSecurityCallback.java @@ -45,7 +45,7 @@ public class ManagersSecurityCallback implements SiteSecurityCallback { || usess.getRoles().isGroupManager() || usess.getRoles().isLearnResourceManager() || usess.getRoles().isUserManager() - || usess.getRoles().isPoolAdmin() + || usess.getRoles().isQPoolManager() || usess.getRoles().isCurriculumManager(); } } diff --git a/src/main/java/org/olat/core/gui/control/navigation/callback/SiteSecurityCallbackWithRolesRestriction.java b/src/main/java/org/olat/core/gui/control/navigation/callback/SiteSecurityCallbackWithRolesRestriction.java index 0c2f8db9c72c45daba8d20786c365583ff1a5933..996170af0a18b81062834837b186fb9445015433 100644 --- a/src/main/java/org/olat/core/gui/control/navigation/callback/SiteSecurityCallbackWithRolesRestriction.java +++ b/src/main/java/org/olat/core/gui/control/navigation/callback/SiteSecurityCallbackWithRolesRestriction.java @@ -52,7 +52,7 @@ public class SiteSecurityCallbackWithRolesRestriction implements SiteSecurityCal return true; } else if (theRole.equals("usermanager") && (roles.isOLATAdmin() || roles.isUserManager())) { return true; - } else if (theRole.equals("pooladmin") && (roles.isOLATAdmin() || roles.isPoolAdmin())) { + } else if (theRole.equals("pooladmin") && (roles.isOLATAdmin() || roles.isQPoolManager())) { return true; } else if (theRole.equals("institutionalresourcemanager") && (roles.isOLATAdmin() || roles.isLearnResourceManager())) { return true; diff --git a/src/main/java/org/olat/core/id/Organisation.java b/src/main/java/org/olat/core/id/Organisation.java index 38c719ca9c6b3fc9c0429d5dda6c7c53d7db1c72..e2e4058632c203db75df7fa3b3aea8ad8999551f 100644 --- a/src/main/java/org/olat/core/id/Organisation.java +++ b/src/main/java/org/olat/core/id/Organisation.java @@ -21,7 +21,9 @@ package org.olat.core.id; import java.util.List; +import org.olat.basesecurity.Group; import org.olat.basesecurity.OrganisationManagedFlag; +import org.olat.basesecurity.OrganisationType; /** * @@ -43,6 +45,10 @@ public interface Organisation extends CreateInfo, ModifiedInfo, OrganisationRef public void setDisplayName(String displayName); + public String getCssClass(); + + public void setCssClass(String css); + public String getDescription(); public void setDescription(String description); @@ -51,6 +57,10 @@ public interface Organisation extends CreateInfo, ModifiedInfo, OrganisationRef public void setExternalId(String externalId); + public String getStatus(); + + public void setStatus(String status); + public OrganisationManagedFlag[] getManagedFlags(); public void setManagedFlags(OrganisationManagedFlag[] flags); @@ -60,5 +70,11 @@ public interface Organisation extends CreateInfo, ModifiedInfo, OrganisationRef public List<OrganisationRef> getParentLine(); public Organisation getRoot(); + + public OrganisationType getType(); + + public void setType(OrganisationType type); + + public Group getGroup(); } diff --git a/src/main/java/org/olat/core/id/Roles.java b/src/main/java/org/olat/core/id/Roles.java index d91faeb7337f67ecd656ba76c675e33960d2426a..85dee2cbe39196ec94f13b8b51a4a1f49348f3cc 100644 --- a/src/main/java/org/olat/core/id/Roles.java +++ b/src/main/java/org/olat/core/id/Roles.java @@ -47,8 +47,8 @@ public class Roles implements Serializable { private final boolean isAuthor; private final boolean isCoach; private final boolean isGuestOnly; - private final boolean isInstitutionalResourceManager; - private final boolean isPoolAdmin; + private final boolean isLearnResourceManager; + private final boolean isQPoolManager; private final boolean isCurriculumManager; private final boolean isInvitee; @@ -63,20 +63,20 @@ public class Roles implements Serializable { * @param isUniCourseManager */ public Roles(boolean isOLATAdmin, boolean isUserManager, boolean isGroupManager, boolean isAuthor, boolean isGuestOnly, - boolean isInstitutionalResourceManager, boolean isInvitee) { - this(false, isOLATAdmin, isGroupManager, isUserManager, isAuthor, isGuestOnly, isInstitutionalResourceManager, false, false, false, isInvitee); + boolean isLearnResourceManager, boolean isInvitee) { + this(false, isOLATAdmin, isGroupManager, isUserManager, isAuthor, isGuestOnly, isLearnResourceManager, false, false, false, isInvitee); } public Roles(boolean isSystemAdmin, boolean isOLATAdmin, boolean isUserManager, boolean isGroupManager, boolean isAuthor, boolean isGuestOnly, - boolean isInstitutionalResourceManager, boolean isPoolAdmin, boolean isCurriculumManager, boolean isCoach, boolean isInvitee) { + boolean isLearnResourceManager, boolean isQPoolManager, boolean isCurriculumManager, boolean isCoach, boolean isInvitee) { this.isSystemAdmin = isSystemAdmin; this.isOLATAdmin = isOLATAdmin; this.isGroupManager = isGroupManager; this.isUserManager = isUserManager; this.isAuthor = isAuthor; this.isGuestOnly = isGuestOnly; - this.isInstitutionalResourceManager = isInstitutionalResourceManager; - this.isPoolAdmin = isPoolAdmin; + this.isLearnResourceManager = isLearnResourceManager; + this.isQPoolManager = isQPoolManager; this.isCurriculumManager = isCurriculumManager; this.isInvitee = isInvitee; this.isCoach = isCoach; @@ -91,6 +91,48 @@ public class Roles implements Serializable { return new Roles(false, false, false, false, false, false, false, false, false, false, false); } + public static final Roles authorRoles() { + return new Roles(false, false, false, true, false, false, false); + } + + public static final Roles roles(OrganisationRoles... organisationRoles) { + boolean systemAdmin = false; + boolean olatAdmin = false; + boolean groupManager = false; + boolean userManager = false; + boolean author = false; + boolean guestOnly = false; + boolean learnResourceManager = false; + boolean poolAdmin = false; + boolean curriculumManager = false; + boolean invitee = false; + boolean coach = false; + + if(organisationRoles != null && organisationRoles.length > 0) { + for(OrganisationRoles organisationRole:organisationRoles) { + if(organisationRole != null) { + switch(organisationRole) { + case sysadmin: systemAdmin = true; break; + case administrator: olatAdmin = true; break; + case usermanager: userManager = true; break; + case learnresourcemanager: learnResourceManager = true; break; + case groupmanager: groupManager = true; break; + case poolmanager: poolAdmin = true; break; + case curriculummanager: curriculumManager = true; break; + case author: author = true; break; + case coach: coach = true; break; + case user: break; + case invitee: invitee = true; break; + case guest: guestOnly = true; break; + } + } + } + } + + return new Roles(systemAdmin, olatAdmin, userManager, groupManager, author, guestOnly, + learnResourceManager, poolAdmin, curriculumManager, coach, invitee); + } + public void setRolesByOrganisation(List<RolesByOrganisation> rolesByOrganisations) { this.rolesByOrganisations = new ArrayList<>(rolesByOrganisations); } @@ -122,7 +164,7 @@ public class Roles implements Serializable { return new ArrayList<>(organisations); } - public List<OrganisationRef> getOrganisationsWithRoles(OrganisationRoles role) { + public List<OrganisationRef> getOrganisationsWithRole(OrganisationRoles role) { List<OrganisationRef> organisations = new ArrayList<>(); if(rolesByOrganisations != null) { for(int i=rolesByOrganisations.size(); i--> 0; ) { @@ -218,14 +260,14 @@ public class Roles implements Serializable { * @return boolean True if the user has the role "learn resource manager" in some organizations. */ public boolean isLearnResourceManager() { - return isInstitutionalResourceManager; + return isLearnResourceManager; } /** * @return boolean */ - public boolean isPoolAdmin() { - return isPoolAdmin; + public boolean isQPoolManager() { + return isQPoolManager; } public boolean isCurriculumManager() { @@ -239,12 +281,9 @@ public class Roles implements Serializable { return isInvitee; } - /** - * @see java.lang.Object#toString() - */ @Override public String toString() { - return "admin:"+isOLATAdmin+", usermanager:"+isUserManager+", groupmanager:"+isGroupManager+", author:"+isAuthor+", guestonly:"+isGuestOnly+", isInstitutionalResourceManager:"+isInstitutionalResourceManager+", isInvitee:"+isInvitee+", "+super.toString(); + return "admin:"+isOLATAdmin+", usermanager:"+isUserManager+", groupmanager:"+isGroupManager+", author:"+isAuthor+", guestonly:"+isGuestOnly+", isInstitutionalResourceManager:"+isLearnResourceManager+", isInvitee:"+isInvitee+", "+super.toString(); } @Override @@ -254,11 +293,11 @@ public class Roles implements Serializable { result = prime * result + (isAuthor ? 1231 : 1237); result = prime * result + (isGroupManager ? 1231 : 1237); result = prime * result + (isGuestOnly ? 1231 : 1237); - result = prime * result + (isInstitutionalResourceManager ? 1231 : 1237); + result = prime * result + (isLearnResourceManager ? 1231 : 1237); result = prime * result + (isInvitee ? 1231 : 1237); result = prime * result + (isOLATAdmin ? 1231 : 1237); result = prime * result + (isUserManager ? 1231 : 1237); - result = prime * result + (isPoolAdmin ? 1231 : 1237); + result = prime * result + (isQPoolManager ? 1231 : 1237); result = prime * result + (isCurriculumManager ? 1231 : 1237); return result; } @@ -281,8 +320,8 @@ public class Roles implements Serializable { && isGroupManager == other.isGroupManager && isAuthor == other.isAuthor && isGuestOnly == other.isGuestOnly - && isInstitutionalResourceManager == other.isInstitutionalResourceManager - && isPoolAdmin == other.isPoolAdmin + && isLearnResourceManager == other.isLearnResourceManager + && isQPoolManager == other.isQPoolManager && isCurriculumManager == other.isCurriculumManager && isInvitee == other.isInvitee; } diff --git a/src/main/java/org/olat/core/id/RolesByOrganisation.java b/src/main/java/org/olat/core/id/RolesByOrganisation.java index 7ea89f897108d83425d05eb0d5659ff426a1c0ae..581da7df90c6228eff10dc9675564bdc80c773d0 100644 --- a/src/main/java/org/olat/core/id/RolesByOrganisation.java +++ b/src/main/java/org/olat/core/id/RolesByOrganisation.java @@ -1,3 +1,22 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ package org.olat.core.id; import java.io.Serializable; @@ -29,41 +48,45 @@ public class RolesByOrganisation implements Serializable { this.roles = roles == null ? new OrganisationRoles[0] : roles.toArray(new OrganisationRoles[roles.size()]); } - public static RolesByOrganisation roles(OrganisationRef org, boolean invitee, boolean user, - boolean coach, boolean author, + public static RolesByOrganisation roles(OrganisationRef org, boolean guest, boolean invitee, + boolean user, boolean coach, boolean author, boolean groupManager, boolean poolManager, boolean curriculummanager, boolean usermanager, boolean learnresourcemanager, boolean admin) { List<OrganisationRoles> roleList = new ArrayList<>(); - if(user) { - roleList.add(OrganisationRoles.user); - } - if(invitee) { - roleList.add(OrganisationRoles.invitee); - } - if(coach) { - roleList.add(OrganisationRoles.coach); - } - if(groupManager) { - roleList.add(OrganisationRoles.groupmanager); - } - if(poolManager) { - roleList.add(OrganisationRoles.poolmanager); - } - if(curriculummanager) { - roleList.add(OrganisationRoles.curriculummanager); - } - if(author) { - roleList.add(OrganisationRoles.author); - } - if(usermanager) { - roleList.add(OrganisationRoles.usermanager); - } - if(learnresourcemanager) { - roleList.add(OrganisationRoles.learnresourcemanager); - } - if(admin) { - roleList.add(OrganisationRoles.administrator); + if(guest) { + roleList.add(OrganisationRoles.guest); + } else { + if(user) { + roleList.add(OrganisationRoles.user); + } + if(invitee) { + roleList.add(OrganisationRoles.invitee); + } + if(coach) { + roleList.add(OrganisationRoles.coach); + } + if(groupManager) { + roleList.add(OrganisationRoles.groupmanager); + } + if(poolManager) { + roleList.add(OrganisationRoles.poolmanager); + } + if(curriculummanager) { + roleList.add(OrganisationRoles.curriculummanager); + } + if(author) { + roleList.add(OrganisationRoles.author); + } + if(usermanager) { + roleList.add(OrganisationRoles.usermanager); + } + if(learnresourcemanager) { + roleList.add(OrganisationRoles.learnresourcemanager); + } + if(admin) { + roleList.add(OrganisationRoles.administrator); + } } return new RolesByOrganisation(org, roleList.toArray(new OrganisationRoles[roleList.size()])); } diff --git a/src/main/java/org/olat/core/id/context/HistoryManager.java b/src/main/java/org/olat/core/id/context/HistoryManager.java index 641a3438ea0731354302aa666bd559d191db8a1c..15993fb9a7170a420049313246c396a846322ec2 100644 --- a/src/main/java/org/olat/core/id/context/HistoryManager.java +++ b/src/main/java/org/olat/core/id/context/HistoryManager.java @@ -72,6 +72,8 @@ public class HistoryManager { historyReadStream.omitField(RepositoryEntry.class, "metaDataElements"); historyReadStream.omitField(RepositoryEntry.class, "version"); historyReadStream.omitField(RepositoryEntry.class, "organisations"); + historyReadStream.omitField(RepositoryEntry.class, "storedSnapshot"); + historyReadStream.omitField(RepositoryEntry.class, "statistics"); historyReadStream.omitField(org.olat.core.commons.persistence.PersistentObject.class, "version"); historyReadStream.alias("org.olat.core.util.resource.OresHelper$1", Resourceable.class); @@ -99,15 +101,16 @@ public class HistoryManager { } public HistoryPoint readHistoryPoint(Identity identity) { + File resumeXml = null; try { String pathHomePage = FolderConfig.getCanonicalRoot() + FolderConfig.getUserHomePage(identity.getName()); - File resumeXml = new File(pathHomePage, "resume.xml"); + resumeXml = new File(pathHomePage, "resume.xml"); return readHistory(resumeXml); } catch(ConversionException e) { - log.warn("Cannot read resume file: ", e); + log.warn("Cannot read resume file: " + resumeXml, e); return null; } catch (Exception e) { - log.error("Cannot read resume file: ", e); + log.error("Cannot read resume file: " + resumeXml, e); return null; } } @@ -116,8 +119,8 @@ public class HistoryManager { try { String pathHomePage = FolderConfig.getCanonicalRoot() + FolderConfig.getUserHomePage(identity.getName()); File resumeXml = new File(pathHomePage, "resume.xml"); - if(resumeXml.exists()) { - resumeXml.delete(); + if(resumeXml.exists() && !resumeXml.delete()) { + log.error("Cannot delete this resume file: " + resumeXml); } } catch (Exception e) { log.error("Can not delete history file", e); @@ -126,10 +129,12 @@ public class HistoryManager { protected HistoryPoint readHistory(File resumeXml) throws IOException { if(resumeXml.exists()) { - FileInputStream in = new FileInputStream(resumeXml); - HistoryPoint point = (HistoryPoint)historyReadStream.fromXML(in); - FileUtils.closeSafely(in); - return point; + try(FileInputStream in = new FileInputStream(resumeXml)) { + return (HistoryPoint)historyReadStream.fromXML(in); + } catch(IOException e) { + log.error("Cannot read this file: " + resumeXml, e); + throw e; + } } return null; } diff --git a/src/main/java/org/olat/core/util/Formatter.java b/src/main/java/org/olat/core/util/Formatter.java index 3b172294d014173a5c2ecb472901c304b73a41ef..a4356f856ae82b665312ec876973eaab32a45142 100644 --- a/src/main/java/org/olat/core/util/Formatter.java +++ b/src/main/java/org/olat/core/util/Formatter.java @@ -663,11 +663,25 @@ public class Formatter { sb.append("<").append(elem).append(" id=\"").append(domid).append("\">"); sb.append(htmlFragment); sb.append("</").append(elem).append(">"); - sb.append("\n<script type='text/javascript'>\n/* <![CDATA[ */\n setTimeout(function() { BFormatter.formatLatexFormulas('").append(domid).append("');}, 100);\n/* ]]> */\n</script>"); + sb.append(elementLatexFormattingScript(domid)); return sb.toString(); } return htmlFragment; } + + /** + * Html code script to render the latex formulas of a given element id + * @param domid Id of the DOM node containing the elements to render. + */ + public static String elementLatexFormattingScript(String domid) { + return String.format("%n" + + "<script type='text/javascript'>%n" + + "/* <![CDATA[ */%n" + + " jQuery(function() {setTimeout(function() { BFormatter.formatLatexFormulas('%s');}, 100); }); %n" + + "/* ]]> */%n" + + "</script>", + domid); + } // Pattern to find URL's in text diff --git a/src/main/java/org/olat/core/util/mail/ui/EMailCalloutCtrl.java b/src/main/java/org/olat/core/util/mail/ui/EMailCalloutCtrl.java index d2d66784c2987c8d7a7b045938981ab4bdd4e28e..d6bd3151077f0ea6efe22cca0f79d5d2018e1241 100644 --- a/src/main/java/org/olat/core/util/mail/ui/EMailCalloutCtrl.java +++ b/src/main/java/org/olat/core/util/mail/ui/EMailCalloutCtrl.java @@ -83,13 +83,8 @@ public class EMailCalloutCtrl extends FormBasicController { boolean autoCompleteAllowed = securityModule.isUserAllowedAutoComplete(roles); boolean isAdministrativeUser = securityModule.isUserAllowedAdminProps(roles); if (autoCompleteAllowed) { - List<Organisation> searcheableOrganisations; - if(roles.isOLATAdmin()) { - searcheableOrganisations = null; - } else { - searcheableOrganisations = organisationService - .getSearchableOrganisations(getIdentity(), roles, OrganisationRoles.usermanager); - } + List<Organisation> searcheableOrganisations = organisationService.getOrganisations(getIdentity(), roles, + OrganisationRoles.valuesWithoutGuestAndInvitee()); ListProvider provider = new UserSearchListProvider(searcheableOrganisations); autocompleterC = new FlexiAutoCompleterController(ureq, getWindowControl(), provider, null, isAdministrativeUser, allowExternalAddress, 60, 3, null, mainForm); autocompleterC.setFormElement(false); @@ -137,7 +132,7 @@ public class EMailCalloutCtrl extends FormBasicController { @Override protected boolean validateFormLogic(UserRequest ureq) { - boolean allOk = true; + boolean allOk = super.validateFormLogic(ureq); if(emailEl != null) { emailEl.clearError(); @@ -147,7 +142,7 @@ public class EMailCalloutCtrl extends FormBasicController { } } - return allOk & super.validateFormLogic(ureq); + return allOk; } @Override diff --git a/src/main/java/org/olat/core/util/session/UserSessionManager.java b/src/main/java/org/olat/core/util/session/UserSessionManager.java index 4305cb088c79dd4d6d675566b5c770756f5124e6..9ae2d4fa8da66ebaed441d17d036692aee402b66 100644 --- a/src/main/java/org/olat/core/util/session/UserSessionManager.java +++ b/src/main/java/org/olat/core/util/session/UserSessionManager.java @@ -28,11 +28,13 @@ import java.util.Set; import java.util.TreeSet; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; import javax.annotation.PostConstruct; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.olat.basesecurity.IdentityRef; import org.olat.core.commons.persistence.DB; import org.olat.core.gui.control.Disposable; import org.olat.core.gui.control.Event; @@ -328,6 +330,21 @@ public class UserSessionManager implements GenericEventListener { } } + /** + * The method will logout the specified user from all of its + * session, UI, WebDAV, REST... + * @param identity + */ + public void signOffAndClearAll(IdentityRef identity) { + List<UserSession> userSessions = authUserSessions.stream() + .filter(userSession -> userSession.getIdentity() != null && userSession.getIdentity().getKey().equals(identity.getKey())) + .collect(Collectors.toList()); + for(UserSession userSession:userSessions) { + internSignOffAndClear(userSession); + dbInstance.commit(); + } + } + /** * called to make sure the current authenticated user (if there is one at all) * is cleared and signed off. This method is firing the SignOnOffEvent Multiuserevent. diff --git a/src/main/java/org/olat/course/CourseFactory.java b/src/main/java/org/olat/course/CourseFactory.java index 4499e35e3cdc340560e885a57f3d05f311767078..8cddc63f3c9f6e13daad770cf28f1fc9ebb098aa 100644 --- a/src/main/java/org/olat/course/CourseFactory.java +++ b/src/main/java/org/olat/course/CourseFactory.java @@ -635,8 +635,7 @@ public class CourseFactory { ContextEntry ce = BusinessControlFactory.getInstance().createContextEntry(entry); WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ce, wControl); RepositoryEntrySecurity reSecurity = new RepositoryEntrySecurity(false, false, false, false, false, false, false, true, false); - RunMainController launchC = new RunMainController(ureq, bwControl, null, course, entry, reSecurity, null); - return launchC; + return new RunMainController(ureq, bwControl, null, course, entry, reSecurity, null); } } @@ -655,7 +654,7 @@ public class CourseFactory { File exportDirectory = CourseFactory.getOrCreateDataExportDirectory(identity, course.getCourseTitle()); boolean isOLATAdmin = roles.isOLATAdmin(); boolean isOresOwner = RepositoryManager.getInstance().isOwnerOfRepositoryEntry(identity, courseRe); - boolean isOresInstitutionalManager = RepositoryManager.getInstance().isInstitutionalRessourceManagerFor(identity, roles, courseRe); + boolean isOresInstitutionalManager = RepositoryManager.getInstance().isLearnResourceManagerFor(roles, courseRe); archiveCourse(identity, course, charset, locale, exportDirectory, isOLATAdmin, isOresOwner, isOresInstitutionalManager); } diff --git a/src/main/java/org/olat/course/archiver/CourseLogsArchiveController.java b/src/main/java/org/olat/course/archiver/CourseLogsArchiveController.java index 42b74eff78a2ba9b4a0769a20538f41a9db9a5a3..28438fb1ac420a8db90f75ea3de6794c1d417f5f 100644 --- a/src/main/java/org/olat/course/archiver/CourseLogsArchiveController.java +++ b/src/main/java/org/olat/course/archiver/CourseLogsArchiveController.java @@ -55,6 +55,7 @@ import org.olat.home.HomeMainController; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryManager; import org.olat.user.UserManager; +import org.springframework.beans.factory.annotation.Autowired; /** * Description: Archives the user chosen courselogfiles @@ -73,6 +74,9 @@ public class CourseLogsArchiveController extends BasicController { private CloseableModalController cmc; + @Autowired + private RepositoryManager repositoryManager; + /** * Constructor for the course logs archive controller * @param ureq @@ -90,10 +94,10 @@ public class CourseLogsArchiveController extends BasicController { Identity identity = ureq.getIdentity(); Roles roles = ureq.getUserSession().getRoles(); - RepositoryEntry re = RepositoryManager.getInstance().lookupRepositoryEntry(ores, false); - boolean isOLATAdmin = ureq.getUserSession().getRoles().isOLATAdmin(); - boolean isOresOwner = RepositoryManager.getInstance().isOwnerOfRepositoryEntry(identity, re); - boolean isOresInstitutionalManager = RepositoryManager.getInstance().isInstitutionalRessourceManagerFor(identity, roles, re); + RepositoryEntry re = repositoryManager.lookupRepositoryEntry(ores, false); + boolean isOLATAdmin = roles.isOLATAdmin(); + boolean isOresOwner = repositoryManager.isOwnerOfRepositoryEntry(identity, re); + boolean isOresInstitutionalManager = repositoryManager.isLearnResourceManagerFor(roles, re); boolean aLogV = isOresOwner || isOresInstitutionalManager; boolean uLogV = isOLATAdmin; boolean sLogV = isOresOwner || isOresInstitutionalManager; @@ -124,10 +128,7 @@ public class CourseLogsArchiveController extends BasicController { putInitialPanel(myPanel); } - /** - * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, - * org.olat.core.gui.components.Component, org.olat.core.gui.control.Event) - */ + @Override public void event(UserRequest ureq, Component source, Event event) { if (source == showFileButton){ ICourse course = CourseFactory.loadCourse(ores); @@ -165,6 +166,7 @@ public class CourseLogsArchiveController extends BasicController { } } + @Override public void event(UserRequest ureq, Controller source, Event event) { if (source == logFileChooserForm) { if (event == Event.DONE_EVENT) { @@ -218,14 +220,11 @@ public class CourseLogsArchiveController extends BasicController { vcOngoing.contextPut("body", translate("course.logs.busy")); } myPanel.setContent(vcOngoing); - - // initialize polling - //myPanel.put("updatecontrol", new JSAndCSSComponent("intervall", this.getClass(), 3000)); } protected void showExportFinished() { ICourse course = CourseFactory.loadCourse(ores); - VelocityContainer vcFeedback = createVelocityContainer("courselogs_feedback"); + VelocityContainer vcFeedback = createVelocityContainer("courselogs_feedback"); showFileButton = LinkFactory.createButton("showfile", vcFeedback, this); vcFeedback.contextPut("body", translate("course.logs.feedback", course.getCourseTitle())); myPanel.setContent(vcFeedback); @@ -237,9 +236,8 @@ public class CourseLogsArchiveController extends BasicController { showInfo("course.logs.finished", course.getCourseTitle()); } - /** - * @see org.olat.core.gui.control.DefaultController#doDispose(boolean) - */ + + @Override protected void doDispose() { //has nothing to dispose so far } diff --git a/src/main/java/org/olat/course/assessment/manager/AssessmentNotificationsHandler.java b/src/main/java/org/olat/course/assessment/manager/AssessmentNotificationsHandler.java index 6d3d5f21e3315e1290782d78cc5c73e75fa93471..abd5b2269b791a886f6dd25d6e91d2b674d3939c 100644 --- a/src/main/java/org/olat/course/assessment/manager/AssessmentNotificationsHandler.java +++ b/src/main/java/org/olat/course/assessment/manager/AssessmentNotificationsHandler.java @@ -222,8 +222,8 @@ public class AssessmentNotificationsHandler implements NotificationsHandler { if (ident == null) return false; CourseGroupManager grpMan = course.getCourseEnvironment().getCourseGroupManager(); - boolean isInstitutionalResourceManager = organisationService.hasRole(ident, OrganisationRoles.learnresourcemanager); - return isInstitutionalResourceManager || grpMan.isIdentityCourseAdministrator(ident) || grpMan.isIdentityCourseCoach(ident) || grpMan.hasRight(ident, CourseRights.RIGHT_ASSESSMENT); + boolean isLearnResourceManager = organisationService.hasRole(ident, OrganisationRoles.learnresourcemanager); + return isLearnResourceManager || grpMan.isIdentityCourseAdministrator(ident) || grpMan.isIdentityCourseCoach(ident) || grpMan.hasRight(ident, CourseRights.RIGHT_ASSESSMENT); } /** diff --git a/src/main/java/org/olat/course/config/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/config/ui/_i18n/LocalStrings_pt_BR.properties index 957355907bdb47eb49081b81dd4ab8acf26843a0..d196a0e0a42a88ad03f8aacf94bd0e6b1dc8bf16 100644 --- a/src/main/java/org/olat/course/config/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/config/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,5 @@ -#Thu Mar 16 22:12:51 CET 2017 +#Fri May 11 23:51:09 CEST 2018 +chkbx.breadcrumb.onoff=Navega\u00E7\u00E3o "Bread-crumb" chkbx.calendar.onoff=Usar calend\u00E1rio chkbx.chat.onoff=Usar bate-papo do curso chkbx.efficency.onoff=Usar comprovante de conclus\u00E3o diff --git a/src/main/java/org/olat/course/db/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/db/_i18n/LocalStrings_pt_BR.properties index b58e8ba42b9d8ba71d6e933d9fa79c793e3e1740..514d26a9134d02d023b59debddfe4e65ba2ebefa 100644 --- a/src/main/java/org/olat/course/db/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/db/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Wed Feb 28 13:30:38 CET 2018 +#Fri May 11 23:51:11 CEST 2018 command.new_db=Criar novo banco de dados customDb.category=Nome customDb.create=Criar diff --git a/src/main/java/org/olat/course/groupsandrights/PersistingCourseGroupManager.java b/src/main/java/org/olat/course/groupsandrights/PersistingCourseGroupManager.java index 8304d329fe95e533bae3b8582630d76e74253b91..4c29546294b6e3c4ccbc6b5cab1b5c26ceb2deb2 100644 --- a/src/main/java/org/olat/course/groupsandrights/PersistingCourseGroupManager.java +++ b/src/main/java/org/olat/course/groupsandrights/PersistingCourseGroupManager.java @@ -274,7 +274,7 @@ public class PersistingCourseGroupManager implements CourseGroupManager { @Override public boolean isIdentityCourseLearnResourceManager(Identity identity, Roles roles) { - return repositoryManager.isInstitutionalRessourceManagerFor(identity, roles, courseRepoEntry); + return repositoryManager.isLearnResourceManagerFor(roles, courseRepoEntry); } @Override diff --git a/src/main/java/org/olat/course/nodes/GoToMeetingCourseNode.java b/src/main/java/org/olat/course/nodes/GoToMeetingCourseNode.java index 552dfb5f1c341062bd36c7b3347b45b8664f9a95..58dec61f2d1831cbe2eaa9e9f0edb2f7582eae31 100644 --- a/src/main/java/org/olat/course/nodes/GoToMeetingCourseNode.java +++ b/src/main/java/org/olat/course/nodes/GoToMeetingCourseNode.java @@ -121,7 +121,7 @@ public class GoToMeetingCourseNode extends AbstractAccessableCourseNode { RepositoryManager rm = RepositoryManager.getInstance(); if (re != null) { admin = rm.isOwnerOfRepositoryEntry(ureq.getIdentity(), re) - || rm.isInstitutionalRessourceManagerFor(ureq.getIdentity(), roles, re); + || rm.isLearnResourceManagerFor(roles, re); moderator = admin || rm.isIdentityInTutorSecurityGroup(ureq.getIdentity(), re) || isCoach(re, ureq.getIdentity()); diff --git a/src/main/java/org/olat/course/nodes/OpenMeetingsCourseNode.java b/src/main/java/org/olat/course/nodes/OpenMeetingsCourseNode.java index 5c4076d99d9ff61cf4a27b93a4dd780e46cf3cb0..8a88d36066e6ecfb74a776507a62d469f050b6bf 100644 --- a/src/main/java/org/olat/course/nodes/OpenMeetingsCourseNode.java +++ b/src/main/java/org/olat/course/nodes/OpenMeetingsCourseNode.java @@ -117,7 +117,7 @@ public class OpenMeetingsCourseNode extends AbstractAccessableCourseNode { RepositoryManager rm = RepositoryManager.getInstance(); if (re != null) { admin = rm.isOwnerOfRepositoryEntry(ureq.getIdentity(), re) - || rm.isInstitutionalRessourceManagerFor(ureq.getIdentity(), roles, re); + || rm.isLearnResourceManagerFor(roles, re); moderator = admin || rm.isIdentityInTutorSecurityGroup(ureq.getIdentity(), re) || isCoach(re, ureq.getIdentity()); diff --git a/src/main/java/org/olat/course/nodes/ViteroCourseNode.java b/src/main/java/org/olat/course/nodes/ViteroCourseNode.java index dcd732e98107a22a245880a988fc8c1e08496068..8ee6c9da07799b98a9c112255433533ad3d5f55c 100644 --- a/src/main/java/org/olat/course/nodes/ViteroCourseNode.java +++ b/src/main/java/org/olat/course/nodes/ViteroCourseNode.java @@ -107,14 +107,14 @@ public class ViteroCourseNode extends AbstractAccessableCourseNode { boolean moderator = roles.isOLATAdmin(); Long key = userCourseEnv.getCourseEnvironment().getCourseResourceableId(); if (!moderator) { - if(roles.isLearnResourceManager() || roles.isAuthor()) { + if(roles.isLearnResourceManager() || roles.isAuthor() || roles.isOLATAdmin()) { RepositoryManager rm = RepositoryManager.getInstance(); ICourse course = CourseFactory.loadCourse(key); RepositoryEntry re = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry(); if (re != null) { moderator = rm.isOwnerOfRepositoryEntry(ureq.getIdentity(), re); if(!moderator) { - moderator = rm.isInstitutionalRessourceManagerFor(ureq.getIdentity(), roles, re); + moderator = rm.isLearnResourceManagerFor(roles, re); } } } diff --git a/src/main/java/org/olat/course/nodes/cal/CourseCalendars.java b/src/main/java/org/olat/course/nodes/cal/CourseCalendars.java index 29b02f559f3d644c31f91335d14a07a7d9b48149..6a5097eb95e7bae7b87715ccc0efd9f3947d4447 100644 --- a/src/main/java/org/olat/course/nodes/cal/CourseCalendars.java +++ b/src/main/java/org/olat/course/nodes/cal/CourseCalendars.java @@ -80,8 +80,7 @@ public class CourseCalendars { } public CourseCalendarSubscription createSubscription2(UserRequest ureq) { - CourseCalendarSubscription calSubscription = new CourseCalendarSubscription(getKalendar(), ureq.getUserSession().getGuiPreferences()); - return calSubscription; + return new CourseCalendarSubscription(getKalendar(), ureq.getUserSession().getGuiPreferences()); } /** @@ -98,12 +97,11 @@ public class CourseCalendars { ICourse course = CourseFactory.loadCourse(courseEnv.getCourseEnvironment().getCourseResourceableId()); KalendarRenderWrapper courseKalendarWrapper = calendarManager.getCourseCalendar(course); CourseGroupManager cgm = course.getCourseEnvironment().getCourseGroupManager(); - Identity identity = ureq.getIdentity(); Roles roles = ureq.getUserSession().getRoles(); boolean isPrivileged = ! courseEnv.isCourseReadOnly() && (roles.isOLATAdmin() || courseEnv.isAdmin() || (ne != null && ne.isCapabilityAccessible(CalCourseNode.EDIT_CONDITION_ID)) - || RepositoryManager.getInstance().isInstitutionalRessourceManagerFor(identity, roles, cgm.getCourseEntry())); + || RepositoryManager.getInstance().isLearnResourceManagerFor(roles, cgm.getCourseEntry())); if (isPrivileged) { courseKalendarWrapper.setAccess(KalendarRenderWrapper.ACCESS_READ_WRITE); @@ -133,7 +131,8 @@ public class CourseCalendars { CourseGroupManager cgm = course.getCourseEnvironment().getCourseGroupManager(); // add course group calendars - boolean isGroupManager = ureq.getUserSession().getRoles().isOLATAdmin() || ureq.getUserSession().getRoles().isGroupManager() + Roles roles = ureq.getUserSession().getRoles(); + boolean isGroupManager = roles.isOLATAdmin() || roles.isGroupManager() || cgm.isIdentityCourseAdministrator(identity) || cgm.hasRight(identity, CourseRights.RIGHT_GROUPMANAGEMENT); boolean readOnly = courseEnv.isCourseReadOnly(); diff --git a/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_pt_BR.properties index 22c93af5becb49105c9fbe635ac23e021aa8d9e4..29febd9a77c5d96ffd9e381df5f1a0664141d0b5 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/nodes/cl/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Thu Feb 08 13:44:27 CET 2018 +#Fri May 11 23:51:23 CEST 2018 add.checkbox=Adicionar checkbox assessment=Avalia\u00E7\u00E3o assessment.checkbox.description=Edite por Caixa de sele\u00E7\u00E3o (checkbox)\: Aplique o filtro de caixa para editar a mesma caixa de sele\u00E7\u00E3o em todos os participantes. @@ -8,6 +8,7 @@ box.assessment=Editar por checkbox box.check=Selecionar box.points=Pontua\u00E7\u00E3o box.points.info=({0} Pontos) +box.points.info.score=({0} de {1} Pontos) checkbox.title=T\u00EDtulo checklist=Checklists checklist.point.example=Pontos (min\: {0} / max\: {1}) @@ -48,8 +49,8 @@ details=Detalhes done.by=Completado por\: down=Baixar edit.checkbox=Editar checkbox -error.missing.score.config=Configura\u00E7\u00E3o pontua\u00E7\u00E3o faltante\: "$\:config.points.min" or "$\:config.points.max" error.missing.cutvalue.config=Configura\u00E7\u00E3o pontua\u00E7\u00E3o faltante\: "$\:config.cutvalue" +error.missing.score.config=Configura\u00E7\u00E3o pontua\u00E7\u00E3o faltante\: "$\:config.points.min" or "$\:config.points.max" file=Arquivo filter.all=Mostrar tudo form.error.date=Uma data deve ser indicada. diff --git a/src/main/java/org/olat/course/nodes/cp/CPEditController.java b/src/main/java/org/olat/course/nodes/cp/CPEditController.java index c5a5ae69f55d7afa6cd973b38b9bab66802840d7..abd188605cb74cc6de64f5aacf4042a487122825 100644 --- a/src/main/java/org/olat/course/nodes/cp/CPEditController.java +++ b/src/main/java/org/olat/course/nodes/cp/CPEditController.java @@ -68,6 +68,7 @@ import org.olat.modules.cp.CPUIFactory; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryManager; import org.olat.repository.controllers.ReferencableEntriesSearchController; +import org.springframework.beans.factory.annotation.Autowired; /** * Description:<BR/> Edit controller for content packaging course nodes <P/> @@ -106,7 +107,7 @@ public class CPEditController extends ActivateableTabbableDefaultController impl private TabbedPane myTabbedPane; - final static String[] paneKeys = { PANE_TAB_CPCONFIG, PANE_TAB_ACCESSIBILITY }; + private static final String[] paneKeys = { PANE_TAB_CPCONFIG, PANE_TAB_ACCESSIBILITY }; private Link previewLink; private Link editLink; @@ -116,6 +117,9 @@ public class CPEditController extends ActivateableTabbableDefaultController impl private Controller previewCtr; private CloseableModalController cmc; private final BreadcrumbPanel stackPanel; + + @Autowired + private RepositoryManager repositoryManager; /** * @param cpNode @@ -286,8 +290,8 @@ public class CPEditController extends ActivateableTabbableDefaultController impl */ private boolean isEditable(Identity identity, Roles roles, RepositoryEntry re) { return roles.isOLATAdmin() - || RepositoryManager.getInstance().isOwnerOfRepositoryEntry(identity, re) - || RepositoryManager.getInstance().isInstitutionalRessourceManagerFor(identity, roles, re); + || repositoryManager.isOwnerOfRepositoryEntry(identity, re) + || repositoryManager.isLearnResourceManagerFor(roles, re); } /** @@ -320,9 +324,7 @@ public class CPEditController extends ActivateableTabbableDefaultController impl else return null; } RepositoryManager rm = RepositoryManager.getInstance(); - RepositoryEntry entry = rm.lookupRepositoryEntryBySoftkey(repoSoftkey, strict); - // entry can be null only if !strict - return entry; + return rm.lookupRepositoryEntryBySoftkey(repoSoftkey, strict); } /** diff --git a/src/main/java/org/olat/course/nodes/edubase/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/nodes/edubase/_i18n/LocalStrings_pt_BR.properties index fd734cd397ae67bc2356878ba527012e4e2721b1..6ba3941b4a66e9ffd1c62257297b6e83ea4a6976 100644 --- a/src/main/java/org/olat/course/nodes/edubase/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/nodes/edubase/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Thu Nov 23 17:46:43 CET 2017 +#Fri May 11 23:51:30 CEST 2018 condition.accessibility.title=Acesso edubase.book.section.description=Ordem de leitura edubase.book.section.details=Detalhes @@ -23,6 +23,7 @@ form.error.page.to.higher.from=A "p\u00E1gina para" deve ser maior do que a "p\u form.error.wrong.int=Formato num\u00E9rico errado. Exemplos\: 2, 10, 144 form.error.wrong.section.id=Valor inv\u00E1lido link.text=Edubase +open.document=Abrir documento pane.tab.accessibility=Acesso pane.tab.book.section.list=Se\u00E7\u00F5es do livro pane.tab.config=Configura\u00E7\u00E3o diff --git a/src/main/java/org/olat/course/nodes/gta/ui/GTAAssessmentDetailsController.java b/src/main/java/org/olat/course/nodes/gta/ui/GTAAssessmentDetailsController.java index ef3b134b070c677a3269e5f231a3c64b30c641b0..4951be9f10ac1db16f499daada9030acaaef48c6 100644 --- a/src/main/java/org/olat/course/nodes/gta/ui/GTAAssessmentDetailsController.java +++ b/src/main/java/org/olat/course/nodes/gta/ui/GTAAssessmentDetailsController.java @@ -97,7 +97,7 @@ public class GTAAssessmentDetailsController extends BasicController implements A Roles roles = ureq.getUserSession().getRoles(); RepositoryEntry courseRe = courseEnv.getCourseGroupManager().getCourseEntry(); - if(!roles.isOLATAdmin() && !repositoryManager.isInstitutionalRessourceManagerFor(getIdentity(), roles, courseRe)) { + if(!roles.isOLATAdmin() && !repositoryManager.isLearnResourceManagerFor(roles, courseRe)) { List<String> reRoles = repositoryService.getRoles(getIdentity(), courseRe); if(reRoles.contains(GroupRoles.owner.name())) { //view all groups; diff --git a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_pt_BR.properties index b077984244173d350c937493e8028bfa72fcae14..5fefd3d112d79696cbc00086e9b6e9d25ac71e84 100644 --- a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Thu Nov 23 17:47:05 CET 2017 +#Fri May 11 23:52:01 CEST 2018 add.solution=Adicionar solu\u00E7\u00E3o add.task=Adicionar tarefa assessment.group.tool=S\u00E9rie do grupo @@ -82,6 +82,7 @@ download.task=Baixar tarefa download.task.infos={0} ({1} MB) duedate.standard=Data padr\u00E3o\: {0} duedates=Ampliar +duedates.multiple.user=Estender para os usu\u00E1rios escolhidos duedates.user=Ampliar por \u201C{0}\u201D edit.task=Editar tarefa editor.revisions.title=Configura\u00E7\u00E3o da revis\u00E3o @@ -89,6 +90,7 @@ editor.title=Configura\u00E7\u00E3o de envio/apresenta\u00E7\u00E3o embedded.editor=Enviar com editor de texto OpenOLAT enabled=ativado error.assignment.closed=Atribui\u00E7\u00E3o est\u00E1 encerrada +error.atleast.task=Voc\u00EA precisa escolher pelo menos uma tarefa. error.duplicate.coaching=Este usu\u00E1rio \u00E9 um membro de v\u00E1rios grupos nesta tarefa. error.duplicate.memberships=Os seguintes usu\u00E1rios s\u00E3o membros de v\u00E1rios grupos\: {1} error.editor.atLeastOne=Voc\u00EA deve escolher, pelo menos, um tipo de editor. @@ -141,6 +143,7 @@ notifications.correction.doc=Voc\u00EA recebeu coment\u00E1rios para a tarefa "{ notifications.correction.duedate=$\:notifications.correction O prazo para a revis\u00E3o est\u00E1 definido para o {2}. notifications.group.header=Tarefa em grupo no curso "{0}" notifications.group.header.task=Tarefa em grupo "{0}" no curso "{1}" +notifications.header=Tarefa no curso "{0}" notifications.individual.header=Tarefa no curso \u201C{0}\u201D notifications.individual.header.task=Tarefa \u201C{0}\u201D no curso \u201C{1}\u201D notifications.revision.group=Para a tarefa "{0}" no curso "{1}" uma nova revis\u00E3o foi enviada para o grupo "{2}". @@ -322,6 +325,7 @@ warning.group.submit=Esta \u00E9 uma tarefa de grupo\! O documento apresentado \ warning.group.task=Esta \u00E9 uma tarefa de grupo\! A atribui\u00E7\u00E3o de tarefas, a apresenta\u00E7\u00E3o de documentos e a classifica\u00E7\u00E3o s\u00E3o realizadas como um grupo. Contacte seus colegas de grupo sobre como proceder em decidir sobre uma tarefa e resolver de forma colaborativa a tarefa. warning.no.task.choosed=Parece que, devido a uma altera\u00E7\u00E3o na configura\u00E7\u00E3o do elemento de curso, voc\u00EA n\u00E3o foi capaz de escolher uma tarefa para este elemento. warning.no.task.choosed.coach=Parece que, devido a uma altera\u00E7\u00E3o na configura\u00E7\u00E3o do elemento de curso, o designado n\u00E3o foi capaz de escolher uma tarefa para este elemento. +warning.reopen=Se voc\u00EA decidir estender o prazo de envio, isso reabrir\u00E1 automaticamente o envio da tarefa. warning.submit.documents.edited=Voc\u00EA n\u00E3o pode enviar a tarefa. O documento "{1}" est\u00E1 sendo editado por "{0}". warning.tasks.in.process.delete.text=Voc\u00EA realmente deseja apagar esta tarefa? J\u00E1 existem usu\u00E1rios que iniciaram o processo da tarefa. Isso pode resultar em problemas para esses usu\u00E1rios. warning.tasks.in.process.delete.title=$\:warning.tasks.in.process.title diff --git a/src/main/java/org/olat/course/nodes/info/InfoRunController.java b/src/main/java/org/olat/course/nodes/info/InfoRunController.java index ad828dd2404132438ea45e8b63630dddadc4637c..2d6a585ef099a099ed7c092e338a942f0d066983 100644 --- a/src/main/java/org/olat/course/nodes/info/InfoRunController.java +++ b/src/main/java/org/olat/course/nodes/info/InfoRunController.java @@ -118,7 +118,7 @@ public class InfoRunController extends BasicController { boolean isAdmin = roles.isOLATAdmin() || cgm.isIdentityCourseAdministrator(identity) - || repositoryManager.isInstitutionalRessourceManagerFor(identity, roles, cgm.getCourseEntry()); + || repositoryManager.isLearnResourceManagerFor(roles, cgm.getCourseEntry()); canAdd = isAdmin || ne.isCapabilityAccessible(InfoCourseNode.EDIT_CONDITION_ID); canAdmin = isAdmin || ne.isCapabilityAccessible(InfoCourseNode.ADMIN_CONDITION_ID); diff --git a/src/main/java/org/olat/course/nodes/iq/IQConfigurationController.java b/src/main/java/org/olat/course/nodes/iq/IQConfigurationController.java index c5e9635ebf4e5a9366c2c7fbcae31198af89f164..53f994f1558ae2a39ffbddfb519b687b871549f7 100644 --- a/src/main/java/org/olat/course/nodes/iq/IQConfigurationController.java +++ b/src/main/java/org/olat/course/nodes/iq/IQConfigurationController.java @@ -257,7 +257,7 @@ public class IQConfigurationController extends BasicController { return roles.isOLATAdmin() || repositoryManager.isOwnerOfRepositoryEntry(identity, re) - || repositoryManager.isInstitutionalRessourceManagerFor(identity, roles, re); + || repositoryManager.isLearnResourceManagerFor(roles, re); } @Override diff --git a/src/main/java/org/olat/course/nodes/iq/_content/assessment_run.html b/src/main/java/org/olat/course/nodes/iq/_content/assessment_run.html index d613e8fa0aad762cc7c390533a45d6c52518e805..d181271b76ab232b72b37509bd2e1d7d04498328 100644 --- a/src/main/java/org/olat/course/nodes/iq/_content/assessment_run.html +++ b/src/main/java/org/olat/course/nodes/iq/_content/assessment_run.html @@ -141,7 +141,7 @@ $r.render("highScore") #end -#if($showResultsOnHomePage && $attempts > 0) +#if($showResultsOnHomePage && $r.isNotNull($attempts) && $attempts > 0) <div class="panel panel-default o_results"> <div class="panel-heading"> <h4 class="panel-title">#if ($showResults && $r.available("command.hideResults")) diff --git a/src/main/java/org/olat/course/nodes/iq/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/nodes/iq/_i18n/LocalStrings_pt_BR.properties index a3f6ff0835ce257551943bc734c06817c6bd65ed..5c41e4d798d9f61c2a8faec4d436bdf9523f8ead 100644 --- a/src/main/java/org/olat/course/nodes/iq/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/nodes/iq/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Wed Feb 28 13:30:52 CET 2018 +#Fri May 11 23:52:26 CEST 2018 Intro.self=Clicar o bot\u00E3o "Iniciar" para executar o auto-teste. Intro.surv=Clicar o bot\u00E3o "Iniciar" para executar a pesquisa. Intro.test=Clicar o bot\u00E3o "Iniciar" para executar o teste. @@ -51,6 +51,7 @@ error.assessment.pulled=Seu tutor selecioneu o seu teste. error.assessment.stopped=Seu tutor puxou o seu teste. error.begin.after.end=A data de in\u00EDcio deve ser anterior \u00E0 data de t\u00E9rmino. error.entry.locked=O recurso did\u00E1tico selecionado \u00E9 editado atualmente por outro usu\u00E1rio. Favor selecionar algum outro recurso did\u00E1tico. +error.onyx=O plug-in Onyx n\u00E3o \u00E9 mais suportado. error.reopean.failed=Reabrir o teste n\u00E3o pode ser feito error.resource.corrupted=O recurso did\u00E1tico n\u00E3o pode ser interpretado. Parece corrompido ou com o formato errado. error.self.undefined.long=Nenhum auto-teste definido para "{0}" . Escolher um. @@ -111,6 +112,7 @@ qti.form.enablecancel=Permiss\u00E3o para cancelar qti.form.enablesuspend=Permiss\u00E3o para suspender qti.form.fullwindow=Mostrar apenas m\u00F3dulo, sem LMS qti.form.limit.attempts=Limitar o n\u00FAmero de tentativas +qti.form.max.score.item=Mostrar m\u00E1ximo pontos das perguntas qti.form.menudisplay=Exibir menu de navega\u00E7\u00E3o qti.form.menuenable=Permitir menu de navega\u00E7\u00E3o qti.form.menurender=Layout do menu diff --git a/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_pt_BR.properties index 1492700ad1af1002c3114cd0d53111d2b8e35a16..b46393f10ae0df40a8795ce72ac188b1e8d60c2c 100644 --- a/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/nodes/members/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Wed Feb 28 13:30:55 CET 2018 +#Fri May 11 23:52:28 CEST 2018 add.member=Adicionar already.all.selected=Voc\u00EA j\u00E1 escolheu todos usu\u00E1rios coaches=Treinadores do Curso diff --git a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectBrokerManagerImpl.java b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectBrokerManagerImpl.java index fd2c080f1219491fb493c918d5284c871bc43fdc..1f13e51714be5011f74c69c06efb62fcb0b56edc 100644 --- a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectBrokerManagerImpl.java +++ b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectBrokerManagerImpl.java @@ -259,27 +259,28 @@ public class ProjectBrokerManagerImpl implements ProjectBrokerManager { log.debug("start deleteProject project=" + project); final Long projectBrokerId = project.getProjectBroker().getKey(); OLATResourceable projectBrokerOres = OresHelper.createOLATResourceableInstance(this.getClass(),projectBrokerId); - CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync( projectBrokerOres, new SyncerExecutor() { - public void execute() { - Project reloadedProject = (Project) dbInstance.loadObject(project, true); - // delete first candidate-group, project-group will be deleted after deleting project - SecurityGroup candidateGroup = reloadedProject.getCandidateGroup(); - if ( (courseEnv != null) && (cNode != null) ) { - deleteAllAttachmentFilesOfProject(reloadedProject, courseEnv, cNode); - deleteAllDropboxFilesOfProject(reloadedProject, courseEnv, cNode); - deleteAllReturnboxFilesOfProject(reloadedProject, courseEnv, cNode); - } - dbInstance.deleteObject(reloadedProject); - log.info("deleteSecurityGroup(project.getCandidateGroup())=" + candidateGroup.getKey()); - securityGroupDao.deleteSecurityGroup(candidateGroup); - // invalide with removing from cache - projectCache.remove(projectBrokerId.toString()); + + CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync( projectBrokerOres, () -> { + Project reloadedProject = (Project) dbInstance.loadObject(project, true); + BusinessGroup projectGroup = reloadedProject.getProjectGroup(); + // delete first candidate-group, project-group will be deleted after deleting project + SecurityGroup candidateGroup = reloadedProject.getCandidateGroup(); + if ( (courseEnv != null) && (cNode != null) ) { + deleteAllAttachmentFilesOfProject(reloadedProject, courseEnv, cNode); + deleteAllDropboxFilesOfProject(reloadedProject, courseEnv, cNode); + deleteAllReturnboxFilesOfProject(reloadedProject, courseEnv, cNode); + } + dbInstance.deleteObject(reloadedProject); + log.info("deleteSecurityGroup(project.getCandidateGroup())=" + candidateGroup.getKey()); + securityGroupDao.deleteSecurityGroup(candidateGroup); + // invalide with removing from cache + projectCache.remove(projectBrokerId.toString()); + if (deleteGroup) { + log.debug("start deleteProjectGroupFor project group=" + projectGroup); + businessGroupService.deleteBusinessGroup(projectGroup); } }); - if (deleteGroup) { - log.debug("start deleteProjectGroupFor project=" + project); - projectGroupManager.deleteProjectGroupFor(project); - } + log.debug("DONE deleteProjectGroupFor project=" + project); } diff --git a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManager.java b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManager.java index 777c557eb8d1e3ca2170b8ca3e6d0ae1abbb4177..57243d8b03dc1c8c28565f348c4904a5c3468487 100644 --- a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManager.java +++ b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManager.java @@ -146,7 +146,7 @@ public interface ProjectGroupManager { * @param project * @return */ - public abstract List<Identity> addCandidates(List<Identity> addIdentities, Project project); + public List<Identity> addCandidates(List<Identity> addIdentities, Project project); /** * Remove identities as candidates. @@ -161,7 +161,7 @@ public interface ProjectGroupManager { * @param courseResourceableId * @param identity */ - public abstract void sendGroupChangeEvent(Project project, Long courseResourceableId, Identity identity); + public void sendGroupChangeEvent(Project project, Long courseResourceableId, Identity identity); /** * Accept all candidates for a project broker as participants. @@ -170,14 +170,14 @@ public interface ProjectGroupManager { * @param autoSignOut * @param isAcceptSelectionManually */ - public abstract void acceptAllCandidates(Long projectBrokerId, Identity actionIdentity, boolean autoSignOut, boolean isAcceptSelectionManually); + public void acceptAllCandidates(Long projectBrokerId, Identity actionIdentity, boolean autoSignOut, boolean isAcceptSelectionManually); /** * Returns true when a certain project-broker has any candidates in any of his projects * @param projectBrokerId * @return */ - public abstract boolean hasProjectBrokerAnyCandidates(Long projectBrokerId); + public boolean hasProjectBrokerAnyCandidates(Long projectBrokerId); /** * Check if a certain identity has the role of project-manager for certain project. diff --git a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManagerImpl.java b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManagerImpl.java index 0e265ff6d5f18218b6f1f3aa59099238eda9871b..cb1bf8353200aa582eeb4faab526763bf2663e41 100644 --- a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManagerImpl.java +++ b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManagerImpl.java @@ -185,6 +185,7 @@ public class ProjectGroupManagerImpl implements ProjectGroupManager { return false; } + @Override public void deleteAccountManagerGroup( CoursePropertyManager cpm, CourseNode courseNode) { log.debug("deleteAccountManagerGroup start..."); Property accountManagerGroupProperty = cpm.findCourseNodeProperty(courseNode, null, null, ProjectBrokerCourseNode.CONF_ACCOUNTMANAGER_GROUP_KEY); @@ -245,8 +246,7 @@ public class ProjectGroupManagerImpl implements ProjectGroupManager { @Override public void deleteProjectGroupFor(Project project) { - BusinessGroupService bgs = businessGroupService; - bgs.deleteBusinessGroup(project.getProjectGroup()); + businessGroupService.deleteBusinessGroup(project.getProjectGroup()); } /** @@ -256,9 +256,8 @@ public class ProjectGroupManagerImpl implements ProjectGroupManager { */ @Override public BusinessGroup changeProjectGroupName(Identity ureqIdentity, BusinessGroup projectGroup, String groupName, String groupDescription, OLATResource courseResource) { - BusinessGroupService bgs = businessGroupService; - BusinessGroup reloadedBusinessGroup = bgs.loadBusinessGroup(projectGroup); - return bgs.updateBusinessGroup(ureqIdentity, reloadedBusinessGroup, groupName, groupDescription, + BusinessGroup reloadedBusinessGroup = businessGroupService.loadBusinessGroup(projectGroup); + return businessGroupService.updateBusinessGroup(ureqIdentity, reloadedBusinessGroup, groupName, groupDescription, reloadedBusinessGroup.getExternalId(), reloadedBusinessGroup.getManagedFlagsString(), reloadedBusinessGroup.getMinParticipants(), reloadedBusinessGroup.getMaxParticipants()); } diff --git a/src/main/java/org/olat/course/nodes/sp/SPRunController.java b/src/main/java/org/olat/course/nodes/sp/SPRunController.java index f8c88cdb2f8be06749ef015581290dac5234073b..e46283569858e9aa5c29201041f66c753977f9a6 100644 --- a/src/main/java/org/olat/course/nodes/sp/SPRunController.java +++ b/src/main/java/org/olat/course/nodes/sp/SPRunController.java @@ -90,7 +90,6 @@ public class SPRunController extends BasicController implements Activateable2 { private final boolean hasEditRights; private CustomLinkTreeModel linkTreeModel; - private CloneController cloneC; private final UserCourseEnvironment userCourseEnv; @@ -150,7 +149,7 @@ public class SPRunController extends BasicController implements Activateable2 { CourseGroupManager cgm = userCourseEnv.getCourseEnvironment().getCourseGroupManager(); if(roles.isLearnResourceManager() && - repositoryManager.isInstitutionalRessourceManagerFor(getIdentity(), roles, cgm.getCourseEntry())) { + repositoryManager.isLearnResourceManagerFor(roles, cgm.getCourseEntry())) { return true; } if(config.getBooleanSafe(SPEditController.CONFIG_KEY_ALLOW_COACH_EDIT, false) @@ -234,7 +233,7 @@ public class SPRunController extends BasicController implements Activateable2 { Controller ctrl = TitledWrapperHelper.getWrapper(ureq, getWindowControl(), spCtr, courseNode, "o_sp_icon"); if(ctrl instanceof CloneableController) { - cloneC= new CloneController(ureq, getWindowControl(), (CloneableController)ctrl, clccc); + CloneController cloneC= new CloneController(ureq, getWindowControl(), (CloneableController)ctrl, clccc); listenTo(cloneC); main.setContent(cloneC.getInitialComponent()); } else { diff --git a/src/main/java/org/olat/course/run/calendar/CourseCalendarController.java b/src/main/java/org/olat/course/run/calendar/CourseCalendarController.java index ef5ab9a8d36a2e80994801cddbf60e78a178b7e0..4c8f6bdcb076da8a139fa5d9e9d109d52e03e46c 100644 --- a/src/main/java/org/olat/course/run/calendar/CourseCalendarController.java +++ b/src/main/java/org/olat/course/run/calendar/CourseCalendarController.java @@ -96,7 +96,7 @@ public class CourseCalendarController extends BasicController { Roles roles = ureq.getUserSession().getRoles(); boolean isPrivileged = !userCourseEnv.isCourseReadOnly() && (roles.isOLATAdmin() || userCourseEnv.isAdmin() - || repositoryManager.isInstitutionalRessourceManagerFor(getIdentity(), roles, cgm.getCourseEntry())); + || repositoryManager.isLearnResourceManagerFor(roles, cgm.getCourseEntry())); if (isPrivileged) { courseKalendarWrapper.setAccess(KalendarRenderWrapper.ACCESS_READ_WRITE); courseKalendarWrapper.setPrivateEventsVisible(true); diff --git a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java index ed1c85d0729d54a5a2af29bc8e41a9b67669d24e..1c99d1afd57cd5806ab2bae0e25d0772a7dc03a2 100644 --- a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java +++ b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java @@ -113,6 +113,7 @@ import org.olat.repository.RepositoryEntryRelationType; import org.olat.repository.RepositoryEntryShort; import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryService; +import org.olat.repository.manager.RepositoryEntryQueries; import org.olat.repository.manager.RepositoryEntryRelationDAO; import org.olat.repository.model.RepositoryEntryToGroupRelation; import org.olat.repository.model.SearchRepositoryEntryParameters; @@ -158,6 +159,8 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD @Autowired private RepositoryEntryRelationDAO repositoryEntryRelationDao; @Autowired + private RepositoryEntryQueries repositoryEntryQueries; + @Autowired private RepositoryDeletionModule deletionManager; @Autowired private NotificationsManager notificationsManager; @@ -766,8 +769,6 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD // 1) Delete all group properties CollaborationTools ct = CollaborationToolsFactory.getInstance().getOrCreateCollaborationTools(group); ct.deleteTools(group);// deletes everything concerning properties&collabTools - // 1.c)delete user in security groups - //removeFromRepositoryEntrySecurityGroup(group); // 2) Delete the group areas areaManager.deleteBGtoAreaRelations(group); // 3) Delete the relations @@ -783,8 +784,6 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD infoMessageManager.removeInfoMessagesAndSubscriptionContext(group); // 7) the group businessGroupDAO.delete(group); - // 8) delete the associated security groups - //TODO group dbInstance.commit(); @@ -1585,7 +1584,7 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD float ratio = -1.0f; if(delegate != null) { - int numOfEntries = repositoryManager.countGenericANDQueryWithRolesRestriction(params); + int numOfEntries = repositoryEntryQueries.countEntries(params); ratio = 100.0f / numOfEntries; } @@ -1595,7 +1594,7 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD int batch = 25; List<RepositoryEntry> entries; do { - entries = repositoryManager.genericANDQueryWithRolesRestriction(params, counter, batch, true); + entries = repositoryEntryQueries.searchEntries(params, counter, batch, true); for(RepositoryEntry re:entries) { countForCommit += 2 + dedupSingleRepositoryentry(ureqIdentity, re, coaches, participants, false); if(countForCommit > 25) { diff --git a/src/main/java/org/olat/group/ui/edit/BusinessGroupEditResourceController.java b/src/main/java/org/olat/group/ui/edit/BusinessGroupEditResourceController.java index 84b4fae04f491128b810d45dd2f8bd9a26358786..4d2978ee1199612785e84ff6e2db22935be1f36e 100644 --- a/src/main/java/org/olat/group/ui/edit/BusinessGroupEditResourceController.java +++ b/src/main/java/org/olat/group/ui/edit/BusinessGroupEditResourceController.java @@ -151,10 +151,6 @@ public class BusinessGroupEditResourceController extends BasicController impleme } } - /** - * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, - * org.olat.core.gui.control.Controller, org.olat.core.gui.control.Event) - */ @Override public void event(UserRequest ureq, Controller source, Event event) { if (source == repoSearchCtr) { @@ -221,7 +217,7 @@ public class BusinessGroupEditResourceController extends BasicController impleme } private void doAddRepositoryEntry(List<RepositoryEntry> entries) { - List<RepositoryEntry> repoEntries = new ArrayList<RepositoryEntry>(); + List<RepositoryEntry> repoEntries = new ArrayList<>(); for(RepositoryEntry entry:entries) { if(!repoTableModel.getObjects().contains(entry)) { repoEntries.add(entry); @@ -231,10 +227,7 @@ public class BusinessGroupEditResourceController extends BasicController impleme repoTableModel.addObjects(repoEntries); resourcesCtr.modelChanged(); } - - /** - * @see org.olat.core.gui.control.DefaultController#doDispose(boolean asynchronous) - */ + @Override protected void doDispose() { // diff --git a/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java b/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java index 205283b828d903dcd5bae34678f0a8a57eefd526..385461a45884dfd66dea4d98cc26c1c6a7aed790 100644 --- a/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java +++ b/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java @@ -66,7 +66,6 @@ import org.olat.core.id.context.ContextEntry; import org.olat.core.id.context.StateEntry; import org.olat.core.logging.activity.ThreadLocalUserActivityLogger; import org.olat.core.util.StringHelper; -import org.olat.core.util.UserSession; import org.olat.core.util.Util; import org.olat.core.util.mail.ContactList; import org.olat.core.util.mail.ContactMessage; @@ -758,8 +757,8 @@ public abstract class AbstractBusinessGroupListController extends FormBasicContr return; } - UserSession usess = ureq.getUserSession(); - boolean isAuthor = usess.getRoles().isAuthor() || usess.getRoles().isLearnResourceManager(); + Roles roles = ureq.getUserSession().getRoles(); + boolean isAuthor = roles.isOLATAdmin() || roles.isAuthor() || roles.isLearnResourceManager(); Step start = new BGConfigToolsStep(ureq, isAuthor); StepRunnerCallback finish = new StepRunnerCallback() { @@ -784,7 +783,7 @@ public abstract class AbstractBusinessGroupListController extends FormBasicContr } } else if (CollaborationTools.TOOL_CALENDAR.equals(enabledTool)) { - tools.saveCalendarAccess(new Long(configuration.getCalendarAccess())); + tools.saveCalendarAccess(Long.valueOf(configuration.getCalendarAccess())); } } for(String disabledTool:configuration.getToolsToDisable()) { @@ -1067,7 +1066,8 @@ public abstract class AbstractBusinessGroupListController extends FormBasicContr } protected boolean filterEditableGroupKeys(UserRequest ureq, List<Long> groupKeys) { - if(ureq.getUserSession().getRoles().isOLATAdmin() || ureq.getUserSession().getRoles().isGroupManager()) { + Roles roles = ureq.getUserSession().getRoles(); + if(roles.isOLATAdmin() || roles.isGroupManager()) { return false; } @@ -1094,10 +1094,10 @@ public abstract class AbstractBusinessGroupListController extends FormBasicContr * @param doSendMail specifies if notification mails should be sent to users of delted group */ private void doDelete(UserRequest ureq, boolean doSendMail, List<BusinessGroup> groups) { + Roles roles = ureq.getUserSession().getRoles(); for(BusinessGroup group:groups) { //check security - boolean ow = ureq.getUserSession().getRoles().isOLATAdmin() - || ureq.getUserSession().getRoles().isGroupManager() + boolean ow = roles.isOLATAdmin() || roles.isGroupManager() || businessGroupService.hasRoles(getIdentity(), group, GroupRoles.coach.name()); if (ow) { diff --git a/src/main/java/org/olat/group/ui/run/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/group/ui/run/_i18n/LocalStrings_pt_BR.properties index febef551b998c94750fe352a748df22546a9f817..f31c7bb303ba07ead800da88e4f2d19eb2a8a140 100644 --- a/src/main/java/org/olat/group/ui/run/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/group/ui/run/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Wed Feb 28 13:29:35 CET 2018 +#Fri May 11 23:46:23 CEST 2018 businessgroup.contact.bodytext=<p></p>---<p>Ir imediatamente para o grupo "{0}"\: {1}</p> businessgroup.contact.subject=Mensagem para grupo {0} contact.all.coaches=Todos os treinadores (coaches) de grupo diff --git a/src/main/java/org/olat/group/ui/wizard/BGConfigToolsStep.java b/src/main/java/org/olat/group/ui/wizard/BGConfigToolsStep.java index cac267d3c75d61fc169eb85e7e0f4486d74dc55f..312bbedcb5f1b5ddd24b5604251fd252b0a37431 100644 --- a/src/main/java/org/olat/group/ui/wizard/BGConfigToolsStep.java +++ b/src/main/java/org/olat/group/ui/wizard/BGConfigToolsStep.java @@ -58,7 +58,6 @@ public class BGConfigToolsStep extends BasicStep { @Override public StepFormController getStepController(UserRequest ureq, WindowControl wControl, StepsRunContext runContext, Form form) { - BGConfigToolsStepController controller = new BGConfigToolsStepController(ureq, wControl, form, runContext); - return controller; + return new BGConfigToolsStepController(ureq, wControl, form, runContext); } } diff --git a/src/main/java/org/olat/gui/demo/guidemo/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/gui/demo/guidemo/_i18n/LocalStrings_pt_BR.properties index 1fea268297902da456af69b2e82f289cef36bfae..20ff4224d85a749d6b2a51f96babeb976ce70b6f 100644 --- a/src/main/java/org/olat/gui/demo/guidemo/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/gui/demo/guidemo/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Thu Nov 23 17:53:18 CET 2017 +#Sat May 12 00:00:47 CEST 2018 ErrorDemoController.menu.title=Erros ErrorDemoController.menu.title.alt=Demonstra Error Handling GuiDemoBreadCrumbController.button.add=Add another crumb @@ -42,6 +42,7 @@ GuiDemoWindowControlController.menu.title.alt=Demonstrates WindowControl PollDemoController.menu.title=Poll demo PollDemoController.menu.title.alt=shows how controllers can poll for new gui states advanced_form.cancel=Cancelar +advanced_form.cbdropdown=Caixa de sele\u00E7\u00E3o suspensa advanced_form.checkboxes=Checkboxes advanced_form.description=Existem v\u00E1rios elementos Flexiform utilizados. A forma reage a alguns eventos. No entanto, dados de formul\u00E1rio n\u00E3o ser\u00E3o processados. advanced_form.file=Carregar arquivo @@ -63,6 +64,11 @@ calloutTriggerLink=Adicionar Usu\u00E1rio calloutTriggerLink2=mais... choose=Choose close=Close +guidemo.cbdropdown.book=Livro +guidemo.cbdropdown.clock=Rel\u00F3gio +guidemo.cbdropdown.letter=Carta +guidemo.cbdropdown.non.selected=Favor selecionar +guidemo.cbdropdown.phone=Fone guidemo.dialog.customcss=Start dialog with custom CSS guidemo.dialog.generic=Start generic dialog guidemo.dialog.guimsg=Gerar p\u00E1gina de informa\u00E7\u00F5es diff --git a/src/main/java/org/olat/ims/qti21/questionimport/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/ims/qti21/questionimport/_i18n/LocalStrings_pt_BR.properties index ca92a538f532b7de37cc2c5bd7409a976932a1f0..6922be3a80256de59d27ac713b6820b979c75d40 100644 --- a/src/main/java/org/olat/ims/qti21/questionimport/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/ims/qti21/questionimport/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Wed Feb 07 18:57:01 CET 2018 +#Fri May 11 23:36:04 CEST 2018 download.example=$org.olat.ims.qti.questionimport\:download.example error.at.line=Problema com a linha {0} form.importdata=$org.olat.ims.qti.questionimport\:form.importdata @@ -8,6 +8,7 @@ item.type.fib=$org.olat.ims.qti.editor\:item.type.fib item.type.kprim=$org.olat.ims.qti.editor\:item.type.kprim item.type.match=$org.olat.ims.qti21.ui.editor\:new.match item.type.matchdraganddrop=$org.olat.ims.qti21.ui.editor\:new.matchdraganddrop +item.type.matchtruefalse=$org.olat.ims.qti21.ui.editor\:new.matchtruefalse item.type.mc=$org.olat.ims.qti.editor\:item.type.mc item.type.sc=$org.olat.ims.qti.editor\:item.type.sc table.header.points=$org.olat.ims.qti.questionimport\:table.header.points diff --git a/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java b/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java index 2eb6621cd5e36c5b73ac37063f5de310af8893b9..f3c255aa375f81737f1a4448d8361eef03d7742e 100644 --- a/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java +++ b/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java @@ -398,9 +398,11 @@ public class AssessmentTestDisplayController extends BasicController implements @Override protected void doDispose() { suspendAssessmentTest(new Date()); - OLATResourceable sessionOres = OresHelper - .createOLATResourceableInstance(AssessmentTestSession.class, candidateSession.getKey()); - CoordinatorManager.getInstance().getCoordinator().getEventBus().deregisterFor(this, sessionOres); + if(candidateSession != null) { + OLATResourceable sessionOres = OresHelper + .createOLATResourceableInstance(AssessmentTestSession.class, candidateSession.getKey()); + CoordinatorManager.getInstance().getCoordinator().getEventBus().deregisterFor(this, sessionOres); + } } /** diff --git a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_pt_BR.properties index 0473d5c71f6e5ddedf88ef1830bef1de8d87b05a..040eb79015b3d91e14e1730e46b04bda4cec1922 100644 --- a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Wed Feb 07 18:57:28 CET 2018 +#Fri May 11 23:37:20 CEST 2018 actualPoints=$org.olat.modules.iq\:actualPoints admin.12.title=Configura\u00E7\u00F5es QTI 1.2 admin.menu.title=QTI 2.1 @@ -16,8 +16,13 @@ archive.table.header.node=Curso archive.table.header.node.passed=Elemento de curso aprovado archive.table.header.node.points=Pontua\u00E7\u00E3o do elemento do curso archive.table.header.points=$\:table.header.score +archive.table.header.section=Se\u00E7\u00E3o "{0}" archive.table.header.test=Teste +assessment.comment.legend=Notas pessoais +assessment.comment.legend.help=Por favor, use a seguinte caixa de texto para quaisquer notas pessoais durante este teste. Estas notas s\u00E3o vis\u00EDveis apenas para voc\u00EA e n\u00E3o ser\u00E3o levadas em conta para o exame. assessment.item.mark=Adicionar marca\u00E7\u00E3o pessoal como lembrete para rever esta pergunta +assessment.item.point={0} ponto +assessment.item.points={0} pontos assessment.item.status.answered=Respondido assessment.item.status.finished=Conclu\u00EDdo assessment.item.status.modelSolution=Solu\u00E7\u00E3o modelo @@ -72,6 +77,8 @@ confirm.suspend.test=$org.olat.modules.iq\:confirmSuspend confirmation=Confirma\u00E7\u00E3o correct.solution=Solu\u00E7\u00E3o correta correction=Grau +correction.workflow=Workflow de corre\u00E7\u00E3o +correction.workflow.anonymous=An\u00F4nimo create.12.resources=Permitir novos testes QTI 1.2 e perguntas debug.outcomes=Dados de sa\u00EDda debug.responses=Dados de respostas @@ -150,6 +157,7 @@ qti.form.enablecancel=$org.olat.course.nodes.iq\:qti.form.enablecancel qti.form.enablesuspend=$org.olat.course.nodes.iq\:qti.form.enablesuspend qti.form.hide.lms=$org.olat.course.nodes.iq\:qti.form.fullwindow qti.form.limit.attempts=$org.olat.course.nodes.iq\:qti.form.limit.attempts +qti.form.max.score.item=$org.olat.course.nodes.iq\:qti.form.max.score.item qti.form.menudisplay=$org.olat.course.nodes.iq\:qti.form.menudisplay qti.form.questionprogress=$org.olat.course.nodes.iq\:qti.form.questionprogress qti.form.questiontitle=$org.olat.course.nodes.iq\:qti.form.questiontitle @@ -192,6 +200,7 @@ results.of.points=pontos results.of.questions=perguntas results.points=pontos results.questions.overview=Vis\u00E3o geral da pergunta +results.report=Resultados results.score.yourscore=$org.olat.course.nodes.iq\:score.yourscore results.session.status=Status results.session.status.final=Respondido diff --git a/src/main/java/org/olat/ims/qti21/ui/assessment/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/ims/qti21/ui/assessment/_i18n/LocalStrings_pt_BR.properties index 573bf12e5df86d3d86b8cbce466034a87b94683a..ab5b398f44dd690682950ed6593b837b7284a2a8 100644 --- a/src/main/java/org/olat/ims/qti21/ui/assessment/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/ims/qti21/ui/assessment/_i18n/LocalStrings_pt_BR.properties @@ -1,19 +1,52 @@ -#Wed Jun 21 23:29:51 CEST 2017 +#Fri May 11 23:41:32 CEST 2018 assessed.identity=Usu\u00E1rio avaliado +back.overview=Voltar ao menu principal comment=Coment\u00E1rio +comment.help=Coment\u00E1rios s\u00E3o vis\u00EDveis para o usu\u00E1rio como para outros treinadores. comment.test=Coment\u00E1rio do teste +confirm.save=Voc\u00EA deseja salvar os resultados como conclu\u00EDdos? correction=Corre\u00E7\u00E3o +correction.assessed.identities=Usu\u00E1rios +correction.assessment.items=Quest\u00F5es +correction.auto=Auto correction.min.max.score=A pontua\u00E7\u00E3o precisa estar entre {0} e {1}. correction.test.title=Grau +error.double.format=Formato numeral incorreto. Exemplos\: 15.0, 5.5, 10 error.in.form=As altera\u00E7\u00F5es n\u00E3o podem ser salvas, pois existem erros em um ou mais itens de pergunta. A descri\u00E7\u00E3o detalhada do erro pode ser encontrada pelo item de pergunta correspondente. grade.no.items=N\u00E3o h\u00E1 resultados para corrigir nesta quest\u00E3o. next.item=Pr\u00F3xima quest\u00E3o +next.user=Pr\u00F3ximo usu\u00E1rio not.responded=A pergunta n\u00E3o foi respondida +number.assessed.identity={0}. usu\u00E1rio +override.score=Substituir pontua\u00E7\u00E3o overview.tests=Vis\u00E3o geral e fechamento previous.item=Quest\u00E3o anterior +previous.user=Usu\u00E1rio anterior +save.back=Salvar e voltar \u00E0 vis\u00E3o geral save.next=Salvar e pr\u00F3xima pergunta save.tests=Salvar resultados como conclu\u00EDdos score=Pontua\u00E7\u00E3o -table.header.action=<i class='o_icon o_icon_actions o_icon-lg'> </i> +status=Status +table.header.action=<i class\='o_icon o_icon_actions o_icon-lg'> </i> +table.header.answered=Respondidas +table.header.autoCorrected=Auto +table.header.corrected=Manual +table.header.item.keywords=Palavras-chave +table.header.item.title=Pergunta +table.header.item.type=Tipo de pergunta +table.header.not.corrected=N\u00E3o corrigido +table.header.notAnswered=N\u00E3o respondido +table.header.score=Pontos +table.header.section=Se\u00E7\u00E3o +table.header.to.review=Para revis\u00E3o +table.header.user=Participante table.header.username=Usu\u00E1rio +to.review=Marcar para revis\u00E3o +tool.review.all=Marcar todos para revis\u00E3o +tool.unreview.all=Remover marca\u00E7\u00F5es +view.solution=Mostrar solu\u00E7\u00E3o +waring.atleast.one=Voc\u00EA precisa de pelo menos uma pergunta. +warning.assessment.item.locked=A resposta est\u00E1 atualmente bloqueada por outro usu\u00E1rio\: {0}. +warning.confirm.save=$\:confirm.save Voc\u00EA ainda tem perguntas n\u00E3o corrigidas. +warning.no.assessment.item=N\u00E3o h\u00E1 nada para corrigir. warning.not.submitted=A resposta n\u00E3o foi enviada pelo usu\u00E1rio diff --git a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectComponentRenderer.java b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectComponentRenderer.java index b4a38444a428ea6756e1279e762f0827b812e34a..d56f17be9db0aa7b57e5db10247cf2f657b0b695 100644 --- a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectComponentRenderer.java +++ b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectComponentRenderer.java @@ -83,6 +83,7 @@ import org.olat.core.helpers.Settings; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; import org.olat.core.util.CodeHelper; +import org.olat.core.util.Formatter; import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.ims.qti21.QTI21Constants; @@ -97,6 +98,7 @@ import uk.ac.ed.ph.jqtiplus.attribute.Attribute; import uk.ac.ed.ph.jqtiplus.attribute.AttributeList; import uk.ac.ed.ph.jqtiplus.attribute.ForeignAttribute; import uk.ac.ed.ph.jqtiplus.attribute.value.IntegerAttribute; +import uk.ac.ed.ph.jqtiplus.attribute.value.StringAttribute; import uk.ac.ed.ph.jqtiplus.attribute.value.StringMultipleAttribute; import uk.ac.ed.ph.jqtiplus.node.ForeignElement; import uk.ac.ed.ph.jqtiplus.node.QtiNode; @@ -470,15 +472,29 @@ public abstract class AssessmentObjectComponentRenderer extends DefaultComponent } case RubricBlock.QTI_CLASS_NAME: break; //never rendered automatically case Math.QTI_CLASS_NAME: { + String domid = "mw_" + CodeHelper.getRAMUniqueID(); + sb.append("<div id=\"").append(domid).append("\">"); renderMath(renderer, sb, component, resolvedAssessmentItem, itemSessionState, (Math)block); + sb.append("</div>") + .append(Formatter.elementLatexFormattingScript(domid)); break; } - case Div.QTI_CLASS_NAME: + case Div.QTI_CLASS_NAME: { + String domid = null; + if (containsClass(block, "math")) { + domid = "mw_" + CodeHelper.getRAMUniqueID(); + sb.append("<div id=\"").append(domid).append("\">"); + } renderStartHtmlTag(sb, component, resolvedAssessmentItem, block, null); ((Div)block).getFlows().forEach((flow) -> renderFlow(renderer, sb, component, resolvedAssessmentItem, itemSessionState, flow, ubu, translator)); renderEndTag(sb, block); + if (domid != null) { + sb.append("</div>") + .append(Formatter.elementLatexFormattingScript(domid)); + } break; + } case Ul.QTI_CLASS_NAME: renderStartHtmlTag(sb, component, resolvedAssessmentItem, block, null); ((Ul)block).getLis().forEach((li) @@ -672,7 +688,11 @@ public abstract class AssessmentObjectComponentRenderer extends DefaultComponent break; } case Math.QTI_CLASS_NAME: { + String domid = "mw_" + CodeHelper.getRAMUniqueID(); + sb.append("<span id=\"").append(domid).append("\">"); renderMath(renderer, sb, component, resolvedAssessmentItem, itemSessionState, (Math)inline); + sb.append("</span>") + .append(Formatter.elementLatexFormattingScript(domid)); break; } case Img.QTI_CLASS_NAME: { @@ -709,9 +729,7 @@ public abstract class AssessmentObjectComponentRenderer extends DefaultComponent protected final void renderSpan(AssessmentRenderer renderer, StringOutput sb, Span span, AssessmentObjectComponent component, ResolvedAssessmentItem resolvedAssessmentItem, ItemSessionState itemSessionState, URLBuilder ubu, Translator translator) { - StringMultipleAttribute attrClass = span.getAttributes().getStringMultipleAttribute("class"); - - if (attrClass != null && attrClass.getValue() != null && attrClass.getValue().contains("math")) { + if (containsClass(span,"math")) { String domid = "mw_" + CodeHelper.getRAMUniqueID(); sb.append("<span id=\"").append(domid).append("\">"); @@ -721,7 +739,7 @@ public abstract class AssessmentObjectComponentRenderer extends DefaultComponent renderEndTag(sb, span); sb.append("</span>") - .append("\n<script type='text/javascript'>\n/* <![CDATA[ */\n jQuery(function() {setTimeout(function() { BFormatter.formatLatexFormulas('").append(domid).append("');}, 100); }); \n/* ]]> */\n</script>"); + .append(Formatter.elementLatexFormattingScript(domid)); } else { renderStartHtmlTag(sb, component, resolvedAssessmentItem, span, null); span.getInlines().forEach((child) @@ -1391,10 +1409,15 @@ public abstract class AssessmentObjectComponentRenderer extends DefaultComponent renderer.setMathXsltDisabled(true); try(StringOutput mathOutput = StringOutputPool.allocStringBuilder(2048)) { - mathOutput.append("<math xmlns=\"http://www.w3.org/1998/Math/MathML\">"); + if (!math.getAttributes().contains("xmlns")) { + StringAttribute xmlnsAttribute = new StringAttribute(math, "xmlns", false); + xmlnsAttribute.setValue("http://www.w3.org/1998/Math/MathML"); + math.getAttributes().add(xmlnsAttribute); + } + renderStartHtmlTag(mathOutput, component, resolvedAssessmentItem, math, null); math.getContent().forEach((foreignElement) -> renderMath(renderer, mathOutput, component, resolvedAssessmentItem, itemSessionState, foreignElement)); - mathOutput.append("</math>"); + renderEndTag(mathOutput, math); String enrichedMathML = StringOutputPool.freePop(mathOutput); renderer.setMathXsltDisabled(false); transformMathmlAsString(sb, enrichedMathML); @@ -1449,7 +1472,7 @@ public abstract class AssessmentObjectComponentRenderer extends DefaultComponent renderEndTag(out, fElement); } } else if(mathElement instanceof TextRun) { - out.append(((TextRun)mathElement).getTextContent()); + out.append(StringEscapeUtils.escapeXml(((TextRun)mathElement).getTextContent())); } } @@ -1588,7 +1611,7 @@ public abstract class AssessmentObjectComponentRenderer extends DefaultComponent sb.append("<span class='o_error'>ERROR MATHML</span>"); } } - + protected boolean containsClass(QtiNode element, String marker) { AttributeList attributes = element.getAttributes(); for(int i=attributes.size(); i-->0; ) { diff --git a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentRenderFunctions.java b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentRenderFunctions.java index d883dcd785e58af4534becf44922ff6311e69209..af2273133dd3efcdc73b4baf1db5fa9dc2b1917a 100644 --- a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentRenderFunctions.java +++ b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentRenderFunctions.java @@ -593,6 +593,8 @@ public class AssessmentRenderFunctions { case "class": case "contextmenu": case "dir": + case "display": + case "download": case "hidden": case "name": case "id": @@ -603,6 +605,7 @@ public class AssessmentRenderFunctions { case "style": case "width": case "height": + case "xmlns": value = getDomAttributeValue(attribute); break; case "href": diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_pt_BR.properties index 37899c877dd455e57f381ae2ed3a7bcb463171d9..05c6618598535f32bf5d1cf45be6b49e8a68b72a 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Wed Feb 07 18:58:12 CET 2018 +#Fri May 11 23:42:04 CEST 2018 MULTIPLE=M\u00FAltipla escolha SINGLE=Escolha \u00FAnica add=Adicionar @@ -27,6 +27,7 @@ delete.section=$org.olat.ims.qti.editor\:delete.section delete.testPart=Deseja realmente excluir esta parte do teste juntamente com todas as suas perguntas? editor.sc.title=Escolha \u00FAnica editor.unkown.title=Intera\u00E7\u00E3o desconhecida +error.assessment.item=$\:error.assessment.test error.assessment.test=O arquivo n\u00E3o pode ser interpretado. Parece corrompido ou com o formato errado. error.cannot.create.section=Uma se\u00E7\u00E3o n\u00E3o pode ser criada em todos os lugares\! error.cannot.delete=N\u00E3o \u00E9 poss\u00EDvel excluir este objeto. @@ -181,6 +182,9 @@ item.session.control.attempts.hint=Esta limita\u00E7\u00E3o das tentativas s\u00 item.session.control.show.solution=Mostrar solu\u00E7\u00E3o item.session.control.show.solution.hint=Solu\u00E7\u00E3o \u00E9 mostrada na revis\u00E3o tamb\u00E9m. lifecycle.version=$org.olat.modules.qpool.ui\:lifecycle.version +match.false=Errado +match.true=Direito +match.unanswered=N\u00E3o respondido math.operator.bigger=> math.operator.biggerEquals=>\= math.operator.equals=\= @@ -208,6 +212,7 @@ new.hottext.text=Text new.kprim=Kprim new.match=Combine new.matchdraganddrop=Arraste e solte +new.matchtruefalse=Verdadeiro/Falso new.mc=Escolha M\u00FAltipla new.numerical=$\:new.fib.numerical new.rectangle=Ret\u00E2ngulo diff --git a/src/main/java/org/olat/ldap/manager/LDAPLoginManagerImpl.java b/src/main/java/org/olat/ldap/manager/LDAPLoginManagerImpl.java index 0bb1140b23f11a58bb8168ca48633beda147d488..648c600ba99d439cc0f3d528fb67595b214178e2 100644 --- a/src/main/java/org/olat/ldap/manager/LDAPLoginManagerImpl.java +++ b/src/main/java/org/olat/ldap/manager/LDAPLoginManagerImpl.java @@ -67,6 +67,7 @@ import org.olat.core.gui.control.Event; import org.olat.core.id.Identity; import org.olat.core.id.Organisation; import org.olat.core.id.Roles; +import org.olat.core.id.RolesByOrganisation; import org.olat.core.id.User; import org.olat.core.id.UserConstants; import org.olat.core.logging.OLog; @@ -1071,41 +1072,58 @@ public class LDAPLoginManagerImpl implements LDAPLoginManager, GenericEventListe Identity identity = securityManager.loadIdentityByKey(identityRef.getKey()); Roles roles = securityManager.getRoles(identity); switch(role) { - case coach: - roles = new Roles(roles.isSystemAdmin(), roles.isOLATAdmin(), roles.isUserManager(), roles.isGroupManager(), true, - false, roles.isLearnResourceManager(), roles.isPoolAdmin(), roles.isCurriculumManager(), roles.isCoach(), false); - securityManager.updateRoles(null, identity, organisation, roles); + case coach: { + RolesByOrganisation modifiedRoles = RolesByOrganisation.roles(organisation, false, false, true, + true, roles.isAuthor(), roles.isGroupManager(), roles.isQPoolManager(), roles.isCurriculumManager(), + roles.isUserManager(), roles.isLearnResourceManager(), roles.isOLATAdmin()); + securityManager.updateRoles(null, identity, modifiedRoles); break; - case author: - roles = new Roles(roles.isSystemAdmin(), roles.isOLATAdmin(), roles.isUserManager(), roles.isGroupManager(), roles.isAuthor(), - false, roles.isLearnResourceManager(), roles.isPoolAdmin(), roles.isCurriculumManager(), true, false); - securityManager.updateRoles(null, identity, organisation, roles); + } + case author: { + RolesByOrganisation modifiedRoles = RolesByOrganisation.roles(organisation, false, false, true, + roles.isCoach(), true, roles.isGroupManager(), roles.isQPoolManager(), roles.isCurriculumManager(), + roles.isUserManager(), roles.isLearnResourceManager(), roles.isOLATAdmin()); + securityManager.updateRoles(null, identity, modifiedRoles); break; - case usermanager: - roles = new Roles(roles.isSystemAdmin(), roles.isOLATAdmin(), true, roles.isGroupManager(), roles.isAuthor(), - false, roles.isLearnResourceManager(), roles.isPoolAdmin(), roles.isCurriculumManager(), roles.isCoach(), false); - securityManager.updateRoles(null, identity, organisation, roles); + } + case usermanager: { + RolesByOrganisation modifiedRoles = RolesByOrganisation.roles(organisation, false, false, true, + roles.isCoach(), roles.isAuthor(), roles.isGroupManager(), roles.isQPoolManager(), roles.isCurriculumManager(), + true, roles.isLearnResourceManager(), roles.isOLATAdmin()); + securityManager.updateRoles(null, identity, modifiedRoles); break; - case groupmanager: - roles = new Roles(roles.isSystemAdmin(), roles.isOLATAdmin(), roles.isUserManager(), true, roles.isAuthor(), - false, roles.isLearnResourceManager(), roles.isPoolAdmin(), roles.isCurriculumManager(), roles.isCoach(), false); - securityManager.updateRoles(null, identity, organisation, roles); + } + case groupmanager: { + RolesByOrganisation modifiedRoles = RolesByOrganisation.roles(organisation, false, false, true, + roles.isCoach(), roles.isAuthor(), true, roles.isQPoolManager(), roles.isCurriculumManager(), + roles.isUserManager(), roles.isLearnResourceManager(), roles.isOLATAdmin()); + securityManager.updateRoles(null, identity, modifiedRoles); break; - case poolmanager: - roles = new Roles(roles.isSystemAdmin(), roles.isOLATAdmin(), roles.isUserManager(), roles.isGroupManager(), roles.isAuthor(), - false, roles.isLearnResourceManager(), true, roles.isCurriculumManager(), roles.isCoach(), false); - securityManager.updateRoles(null, identity, organisation, roles); + } + case poolmanager: { + RolesByOrganisation modifiedRoles = RolesByOrganisation.roles(organisation, false, false, true, + roles.isCoach(), roles.isAuthor(), roles.isGroupManager(), true, roles.isCurriculumManager(), + roles.isUserManager(), roles.isLearnResourceManager(), roles.isOLATAdmin()); + securityManager.updateRoles(null, identity, modifiedRoles); break; - case curriculummanager: - roles = new Roles(roles.isSystemAdmin(), roles.isOLATAdmin(), roles.isUserManager(), roles.isGroupManager(), roles.isAuthor(), - false, roles.isLearnResourceManager(), roles.isPoolAdmin(), true, roles.isCoach(), false); - securityManager.updateRoles(null, identity, organisation, roles); - break; - case learnresourcemanager: - roles = new Roles(roles.isSystemAdmin(), roles.isOLATAdmin(), roles.isUserManager(), roles.isGroupManager(), roles.isAuthor(), - false, true, roles.isPoolAdmin(), roles.isCurriculumManager(), roles.isCoach(), false); - securityManager.updateRoles(null, identity, organisation, roles); + } + case curriculummanager: { + RolesByOrganisation modifiedRoles = RolesByOrganisation.roles(organisation, false, false, true, + roles.isCoach(), roles.isAuthor(), roles.isGroupManager(), roles.isQPoolManager(), true, + roles.isUserManager(), roles.isLearnResourceManager(), roles.isOLATAdmin()); + securityManager.updateRoles(null, identity, modifiedRoles); break; + } + case learnresourcemanager: { + RolesByOrganisation modifiedRoles = RolesByOrganisation.roles(organisation, false, false, true, + roles.isCoach(), roles.isAuthor(), roles.isGroupManager(), roles.isQPoolManager(), roles.isCurriculumManager(), + roles.isUserManager(), true, roles.isOLATAdmin()); + securityManager.updateRoles(null, identity, modifiedRoles); + break; + } + default: { + log.error("LDAP Role synchronization not supported for: " + role); + } } } } diff --git a/src/main/java/org/olat/login/LoginModule.java b/src/main/java/org/olat/login/LoginModule.java index fe84b96288f7ad44b4ad6f609f9fea36b607e615..3c3ed041d99bd0ebe9457b142ff285d4b678f133 100644 --- a/src/main/java/org/olat/login/LoginModule.java +++ b/src/main/java/org/olat/login/LoginModule.java @@ -448,7 +448,7 @@ public class LoginModule extends AbstractSpringModule { if(roles.isLearnResourceManager()) { age = getMaxAgeOrDefault(age, passwordMaxAgeLearnResourceManager); } - if(roles.isPoolAdmin()) { + if(roles.isQPoolManager()) { age = getMaxAgeOrDefault(age, passwordMaxAgePoolManager); } if(roles.isGroupManager()) { diff --git a/src/main/java/org/olat/login/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/login/_i18n/LocalStrings_pt_BR.properties index 1b18af085304b2f6c9953878f020e9e8bda4547b..1f3e98aad4b81284c3b9676a75e568cd297294cc 100644 --- a/src/main/java/org/olat/login/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/login/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Thu Feb 08 14:08:16 CET 2018 +#Fri May 11 23:55:04 CEST 2018 about.copyright=Copyright e contribui\u00E7\u00F5es about.date=Zurique, 8 de Fevereiro de 2011 about.elearningjournal.test.2015=O eLearning-Journal classificou o LMS OpenOLAT com o resultado "muito bom" em uma compara\u00E7\u00E3o extensa e em testes de LMS dispon\u00EDveis no mercado. Com este grande resultado, o OpenOLAT \u00E9 avaliado como a melhor solu\u00E7\u00E3o. Como grande destaque, o OpenOLAT foi nomeado devido ao grande n\u00FAmero de recursos e ferramentas dispon\u00EDveis. @@ -38,6 +38,8 @@ accesskey.top=$org.olat.core.commons.fullWebApp\:accesskey.top accesskey.topnav=$org.olat.core.commons.fullWebApp\:accesskey.topnav admin.menu.title=Convidados e convites admin.menu.title.alt=$\:admin.menu.title +admin.password.menu.title=Pol\u00EDtica de senha +admin.password.menu.title.alt=Pol\u00EDtica sobre altera\u00E7\u00F5es de senhas authentication.provider.description=Voc\u00EA n\u00E3o pertence a uma das institui\u00E7\u00F5es mencionadas acima ou possui uma conta de usu\u00E1rio local? authentication.provider.linkText=Entrar com conta OpenOLAT browsercheck.bestresults.newerversion=ou vers\u00E3o mais atual @@ -70,7 +72,9 @@ browsercheck.yourbrowser.name=Browser\: browsercheck.yourbrowser.os=Sistema operacional\: browsercheck.yourbrowser.title=Voc\u00EA est\u00E1 usando os seguintes browsers\: browsercheck.yourbrowser.usragent=Agente do usu\u00E1rio\: +change.once=Alterar senha no primeiro login default.shib.intro=Voc\u00EA ser\u00E1 redirecionado para autentica\u00E7\u00E3o +disable.history=Desativado enabled=lig. guest.login=Login de convidado na p\u00E1gina de login guest.login.links=Links para convidados @@ -94,6 +98,15 @@ login.intro=Favor entrar com sua identifica\u00E7\u00E3o pessoal do OpenOLAT. login.notavailable=Servidor sobrecarregado. Favor tentar novamente mais tarde. mail.pwd.body=A senha para a sua conta OpenOLAT {0} com o endere\u00E7o de e-mail {1} foi alterado por {2}.\r\n\r\n\r\nSe voc\u00EA n\u00E3o concordar com essa mudan\u00E7a, ou se voc\u00EA acha que sua conta foi comprometida por terceiros, por favor, contate o suporte imediato em {3} ou utilize o link {4} para alterar a senha novamente. mail.pwd.subject=Senha alterada +max.age=Aplicar nova senha depois +max.age.administrator=...para administrador +max.age.author=... para autores +max.age.description=Nesse formul\u00E1rio, voc\u00EA pode especificar com que frequ\u00EAncia um usu\u00E1rio precisa alterar sua senha e se uma senha pode ou n\u00E3o ser reutilizada. A vida \u00FAtil das senhas pode ser especificada para cada fun\u00E7\u00E3o separadamente. +max.age.groupmanager=... para gestor de grupo +max.age.hint=em dias +max.age.learnresourcemanager=... para gestor de recursos did\u00E1tico +max.age.poolmanager=... para gestor de banco de perguntas +max.age.usermanager=... para gestor de usu\u00E1rios menu.about=Sobre o OpenOLAT menu.about.alt=Informa\u00E7\u00E3o sobre o OpenOLAT menu.guest=Acesso ao Convidado @@ -105,6 +118,9 @@ menu.register=Registrar menu.register.alt=Criar sua pr\u00F3pria conta OpenOLAT menu.root=OpenOLAT menu.root.alt=infinite learning +password.after=para {0} mudan\u00E7as +password.history=Previnir reaproveitamento de senhas anteriores +password.policy.title=Pol\u00EDticas de senhas runonce.forced=Por favor, preencha este formul\u00E1rio e salve as configura\u00E7\u00F5es. runonce.title=Modifica\u00E7\u00F5es/Ajustes recorrentes ao entrar pela primeira vez shib.redirect=Shibboleth Login diff --git a/src/main/java/org/olat/modules/coach/manager/CoachingDAO.java b/src/main/java/org/olat/modules/coach/manager/CoachingDAO.java index 0cae6df06958787b0fbbe2f639c486436b646e5a..7a688cb1d8de8df7d5186594e6521fee9632007c 100644 --- a/src/main/java/org/olat/modules/coach/manager/CoachingDAO.java +++ b/src/main/java/org/olat/modules/coach/manager/CoachingDAO.java @@ -83,9 +83,9 @@ public class CoachingDAO { .append(" inner join baseGroup.members as membership on membership.role in ('").append(GroupRoles.owner.name()).append("','").append(GroupRoles.coach.name()).append("')") .append(" where membership.identity.key=:identityKey") .append(" and (") - .append(" (membership.role = 'coach' and (v.access>=3 or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true)))") + .append(" (membership.role = '").append(GroupRoles.coach.name()).append("' and (v.access>=").append(RepositoryEntry.ACC_USERS).append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true)))") .append(" or") - .append(" (membership.role = 'owner' and v.access>=1)") + .append(" (membership.role = '").append(GroupRoles.owner.name()).append("' and v.access>=").append(RepositoryEntry.ACC_OWNERS).append(")") .append(" )"); List<Long> firstKey = dbInstance.getCurrentEntityManager() @@ -392,7 +392,7 @@ public class CoachingDAO { .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as coach on coach.role in ('").append(GroupRoles.coach.name()).append("','").append(GroupRoles.owner.name()).append("')") .append(" where coach.identity.key=:coachKey and res.resName='CourseModule'") - .append(" and ((v.access=1 and v.membersOnly=true) ") + .append(" and ((v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true)") .append(" or (v.access >= ").append(RepositoryEntry.ACC_USERS).append(" and coach.role='").append(GroupRoles.coach.name()).append("')") .append(" or (v.access >= ").append(RepositoryEntry.ACC_OWNERS).append(" and coach.role='").append(GroupRoles.owner.name()).append("'))"); @@ -418,8 +418,8 @@ public class CoachingDAO { .append(" count(distinct pg_initial_launch.id) as pg_id") .append(" from o_repositoryentry sg_re ") .append(" inner join o_re_to_group togroup on (togroup.fk_entry_id = sg_re.repositoryentry_id)") - .append(" inner join o_bs_group_member sg_coach on (sg_coach.fk_group_id=togroup.fk_group_id and sg_coach.g_role = 'coach')") - .append(" inner join o_bs_group_member sg_participant on (sg_participant.fk_group_id=sg_coach.fk_group_id and sg_participant.g_role='participant')") + .append(" inner join o_bs_group_member sg_coach on (sg_coach.fk_group_id=togroup.fk_group_id and sg_coach.g_role = '").append(GroupRoles.coach.name()).append("')") + .append(" inner join o_bs_group_member sg_participant on (sg_participant.fk_group_id=sg_coach.fk_group_id and sg_participant.g_role='").append(GroupRoles.participant.name()).append("')") .append(" left join o_as_user_course_infos pg_initial_launch") .append(" on (pg_initial_launch.fk_resource_id = sg_re.fk_olatresource and pg_initial_launch.fk_identity = sg_participant.fk_identity_id)") .append(" where sg_coach.fk_identity_id=:coachKey and ( ") @@ -758,9 +758,9 @@ public class CoachingDAO { .append(" inner join o_as_eff_statement sg_statement ") .append(" on (sg_statement.fk_identity = sg_participant.fk_identity_id and sg_statement.fk_resource_id = sg_re.fk_olatresource) ") .append(" where ( ") - .append(" (sg_re.accesscode>2) ") + .append(" (sg_re.accesscode>").append(RepositoryEntry.ACC_OWNERS_AUTHORS).append(") ") .append(" or ") - .append(" (sg_re.accesscode=1 and sg_re.membersonly=").appendTrue().append(")) ") + .append(" (sg_re.accesscode=").append(RepositoryEntry.ACC_OWNERS).append(" and sg_re.membersonly=").appendTrue().append(")) ") .append(" )"); } if(hasOwned) { @@ -889,7 +889,7 @@ public class CoachingDAO { .append(" inner join o_as_eff_statement sg_statement on (sg_statement.fk_identity = sg_participant.fk_identity_id and sg_statement.fk_resource_id = sg_re.fk_olatresource) ") .append(" inner join o_bs_identity id_participant on (sg_participant.fk_identity_id = id_participant.id) "); appendUsersStatisticsJoins(params, sb) - .append(" where sg_re.accesscode>0 "); + .append(" where sg_re.accesscode>=").append(RepositoryEntry.ACC_OWNERS); appendUsersStatisticsSearchParams(params, queryParams, sb) .append(") ") .append("group by fin_statement.fk_identity "); diff --git a/src/main/java/org/olat/modules/curriculum/CurriculumElement.java b/src/main/java/org/olat/modules/curriculum/CurriculumElement.java index 722918abe4343c9857a1d0eb446e79b598051a3d..b42d71e8cab653a639964478f0ce587df530f543 100644 --- a/src/main/java/org/olat/modules/curriculum/CurriculumElement.java +++ b/src/main/java/org/olat/modules/curriculum/CurriculumElement.java @@ -19,6 +19,9 @@ */ package org.olat.modules.curriculum; +import java.util.Date; + +import org.olat.basesecurity.Group; import org.olat.core.id.CreateInfo; import org.olat.core.id.ModifiedInfo; @@ -46,6 +49,16 @@ public interface CurriculumElement extends CurriculumElementRef, CreateInfo, Mod public void setExternalId(String externalId); + public Date getBeginDate(); + + public void setBeginDate(Date date); + + public Date getEndDate(); + + public void setEndDate(Date date); + + public String getMaterializedPathKeys(); + public CurriculumElementManagedFlag[] getManagedFlags(); public void setManagedFlags(CurriculumElementManagedFlag[] flags); @@ -53,5 +66,12 @@ public interface CurriculumElement extends CurriculumElementRef, CreateInfo, Mod public Curriculum getCurriculum(); public CurriculumElement getParent(); + + public CurriculumElementType getType(); + + public void setType(CurriculumElementType type); + + public Group getGroup(); + } diff --git a/src/main/java/org/olat/modules/curriculum/CurriculumElementManagedFlag.java b/src/main/java/org/olat/modules/curriculum/CurriculumElementManagedFlag.java index 0da71b5914f85c51658252edbc70c93ab482189a..3ebbcf956fca3802f28af915fcf2073bf68896d6 100644 --- a/src/main/java/org/olat/modules/curriculum/CurriculumElementManagedFlag.java +++ b/src/main/java/org/olat/modules/curriculum/CurriculumElementManagedFlag.java @@ -39,6 +39,9 @@ public enum CurriculumElementManagedFlag { displayName(all), description(all), externalId(all), + dates(all), + type(all), + members(all), move(all), addChildren(all), delete(all); diff --git a/src/main/java/org/olat/modules/curriculum/CurriculumElementType.java b/src/main/java/org/olat/modules/curriculum/CurriculumElementType.java index 48c4714e0866041e107caee13ecdde513e92069e..2bf1f3a90217f7f40e938ce218690cd6b3a4429b 100644 --- a/src/main/java/org/olat/modules/curriculum/CurriculumElementType.java +++ b/src/main/java/org/olat/modules/curriculum/CurriculumElementType.java @@ -19,6 +19,8 @@ */ package org.olat.modules.curriculum; +import java.util.Set; + import org.olat.core.id.CreateInfo; import org.olat.core.id.ModifiedInfo; @@ -45,5 +47,9 @@ public interface CurriculumElementType extends CurriculumElementTypeRef, CreateI public String getExternalId(); public void setExternalId(String externalId); + + public CurriculumElementTypeManagedFlag[] getManagedFlags(); + + public Set<CurriculumElementTypeToType> getAllowedSubTypes(); } diff --git a/src/main/java/org/olat/modules/curriculum/CurriculumElementTypeManagedFlag.java b/src/main/java/org/olat/modules/curriculum/CurriculumElementTypeManagedFlag.java new file mode 100644 index 0000000000000000000000000000000000000000..49e36f5ab47ce0929e4f00046467e09d3fdf333f --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/CurriculumElementTypeManagedFlag.java @@ -0,0 +1,141 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum; + +import java.util.Arrays; + +import org.olat.core.CoreSpringFactory; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; +import org.olat.core.util.StringHelper; + +/** + * + * Initial date: 11 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public enum CurriculumElementTypeManagedFlag { + + all, + identifier(all), + displayName(all), + description(all), + externalId(all), + subTypes(all), + copy(all), + delete(all); + + private CurriculumElementTypeManagedFlag[] parents; + private static final OLog log = Tracing.createLoggerFor(CurriculumElementTypeManagedFlag.class); + public static final CurriculumElementTypeManagedFlag[] EMPTY_ARRAY = new CurriculumElementTypeManagedFlag[0]; + + private static CurriculumModule curriculumModule; + + private CurriculumElementTypeManagedFlag() { + // + } + + private CurriculumElementTypeManagedFlag(CurriculumElementTypeManagedFlag... parents) { + if(parents == null) { + this.parents = new CurriculumElementTypeManagedFlag[0]; + } else { + this.parents = parents; + } + } + + public static CurriculumElementTypeManagedFlag[] toEnum(String flags) { + if(StringHelper.containsNonWhitespace(flags)) { + String[] flagArr = flags.split(","); + CurriculumElementTypeManagedFlag[] flagEnums = new CurriculumElementTypeManagedFlag[flagArr.length]; + + int count = 0; + for(String flag:flagArr) { + if(StringHelper.containsNonWhitespace(flag)) { + try { + CurriculumElementTypeManagedFlag flagEnum = valueOf(flag); + flagEnums[count++] = flagEnum; + } catch (Exception e) { + log.warn("Cannot parse this managed flag: " + flag, e); + } + } + } + + if(count != flagEnums.length) { + flagEnums = Arrays.copyOf(flagEnums, count); + } + return flagEnums; + } + return EMPTY_ARRAY; + } + + public static String toString(CurriculumElementTypeManagedFlag... flags) { + StringBuilder sb = new StringBuilder(); + if(flags != null && flags.length > 0 && flags[0] != null) { + for(CurriculumElementTypeManagedFlag flag:flags) { + if(flag != null) { + if(sb.length() > 0) sb.append(","); + sb.append(flag.name()); + } + } + } + return sb.length() == 0 ? null : sb.toString(); + } + + public static boolean isManaged(CurriculumElementType elementType, CurriculumElementTypeManagedFlag marker) { + if(curriculumModule == null) { + curriculumModule = CoreSpringFactory.getImpl(CurriculumModule.class); + } + if(!curriculumModule.isCurriculumManaged()) { + return false; + } + return (elementType != null && (contains(elementType, marker) || contains(elementType, marker.parents))); + } + + public static boolean isManaged(CurriculumElementTypeManagedFlag[] flags, CurriculumElementTypeManagedFlag marker) { + if(curriculumModule == null) { + curriculumModule = CoreSpringFactory.getImpl(CurriculumModule.class); + } + if(!curriculumModule.isCurriculumManaged()) { + return false; + } + + return (flags != null && (contains(flags, marker) || contains(flags, marker.parents))); + } + + private static boolean contains(CurriculumElementType elementType, CurriculumElementTypeManagedFlag... markers) { + if(elementType == null) return false; + CurriculumElementTypeManagedFlag[] flags = elementType.getManagedFlags(); + return contains(flags, markers); + } + + private static boolean contains(CurriculumElementTypeManagedFlag[] flags, CurriculumElementTypeManagedFlag... markers) { + if(flags == null || flags.length == 0) return false; + + for(CurriculumElementTypeManagedFlag flag:flags) { + for(CurriculumElementTypeManagedFlag marker:markers) { + if(flag.equals(marker)) { + return true; + } + } + } + return false; + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/curriculum/CurriculumModule.java b/src/main/java/org/olat/modules/curriculum/CurriculumModule.java index 609a1152493b473974cce7f9b8f81dbc331ba938..a047103324975406754b1ff98ab073ceaf9ddf23 100644 --- a/src/main/java/org/olat/modules/curriculum/CurriculumModule.java +++ b/src/main/java/org/olat/modules/curriculum/CurriculumModule.java @@ -83,6 +83,7 @@ public class CurriculumModule extends AbstractSpringModule implements ConfigOnOf public void setEnabled(boolean enabled) { this.enabled = enabled; + setStringProperty(CURRICULUM_ENABLED, Boolean.toString(enabled), true); } public boolean isCurriculumManaged() { @@ -95,6 +96,7 @@ public class CurriculumModule extends AbstractSpringModule implements ConfigOnOf public void setCurriculumInMyCourses(boolean curriculumInMyCourses) { this.curriculumInMyCourses = curriculumInMyCourses; + setStringProperty(CURRICULUM_IN_MY_COURSES_ENABLED, Boolean.toString(curriculumInMyCourses), true); } diff --git a/src/main/java/org/olat/modules/curriculum/CurriculumRepositoryEntryRelation.java b/src/main/java/org/olat/modules/curriculum/CurriculumRepositoryEntryRelation.java new file mode 100644 index 0000000000000000000000000000000000000000..c57779bed167432b8f29b3b635b9c15148de9118 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/CurriculumRepositoryEntryRelation.java @@ -0,0 +1,42 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum; + +import org.olat.core.id.CreateInfo; +import org.olat.core.id.ModifiedInfo; +import org.olat.repository.RepositoryEntry; + +/** + * + * Initial date: 9 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public interface CurriculumRepositoryEntryRelation extends CreateInfo, ModifiedInfo { + + public Long getKey(); + + public CurriculumElement getCurriculumElement(); + + public RepositoryEntry getEntry(); + + public boolean isMaster(); + +} diff --git a/src/main/java/org/olat/modules/curriculum/CurriculumRoles.java b/src/main/java/org/olat/modules/curriculum/CurriculumRoles.java new file mode 100644 index 0000000000000000000000000000000000000000..6dca311f822bd75660d682e12f30b32521c58bda --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/CurriculumRoles.java @@ -0,0 +1,32 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum; + +/** + * + * Initial date: 9 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public enum CurriculumRoles { + + supervisor, + +} diff --git a/src/main/java/org/olat/modules/curriculum/CurriculumService.java b/src/main/java/org/olat/modules/curriculum/CurriculumService.java index 8b3367ed9c941cf0fcfaf88ffe325055d0f9bb13..2dfda1670b11220a2a7d3a32a32a504051829987 100644 --- a/src/main/java/org/olat/modules/curriculum/CurriculumService.java +++ b/src/main/java/org/olat/modules/curriculum/CurriculumService.java @@ -19,10 +19,16 @@ */ package org.olat.modules.curriculum; +import java.util.Date; import java.util.List; +import org.olat.basesecurity.IdentityRef; +import org.olat.core.id.Identity; import org.olat.core.id.Organisation; +import org.olat.modules.curriculum.model.CurriculumElementMember; import org.olat.modules.curriculum.model.CurriculumSearchParameters; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryEntryRef; /** * @@ -48,10 +54,33 @@ public interface CurriculumService { public List<Curriculum> getCurriculums(CurriculumSearchParameters params); + /** + * The list of all types available. + * + * @return A list of curriculum element types + */ + public List<CurriculumElementType> getCurriculumElementTypes(); + + /** + * Load the curriculum element type with the specified primary key. + * + * @param ref The reference of the type + * @return A curriculum element type + */ + public CurriculumElementType getCurriculumElementType(CurriculumElementTypeRef typeRef); + + public CurriculumElementType createCurriculumElementType(String identifier, String displayName, String description, String externalId); + + public CurriculumElementType updateCurriculumElementType(CurriculumElementType elementType, List<CurriculumElementType> allowedSubTypes); + + public CurriculumElementType cloneCurriculumElementType(CurriculumElementTypeRef typeRef); + + public boolean deleteCurriculumElementType(CurriculumElementTypeRef typeRef); - public CurriculumElement createCurriculumElement(String identifier, String displayName, - CurriculumElementRef parent, Curriculum curriculum); + public CurriculumElement createCurriculumElement(String identifier, String displayName, Date beginDate, Date endDate, + CurriculumElementRef parent, CurriculumElementType elementType, Curriculum curriculum); + public CurriculumElement getCurriculumElement(CurriculumElementRef element); @@ -61,8 +90,69 @@ public interface CurriculumService { * @param curriculum The curriculum * @return A list of curriculum elements */ - public List<CurriculumElement> getCurriculumElements(CurriculumRef element); + public List<CurriculumElement> getCurriculumElements(CurriculumRef curriculum); + + /** + * Return the parent line of the specified curriculum element. + * + * @param element A curriculum element + * @return A list of curriculum elements + */ + public List<CurriculumElement> getCurriculumElementParentLine(CurriculumElement element); public CurriculumElement updateCurriculumElement(CurriculumElement element); + + /** + * + * @param elementToMove The element to move + * @param newParent The new parent or null if root + */ + public CurriculumElement moveCurriculumElement(CurriculumElement elementToMove, CurriculumElement newParent); + + /** + * The list of members of the specified curriculum element. + * + * @param element The curriculum element + * @return The list of memberships + */ + public List<CurriculumElementMember> getMembers(CurriculumElement element); + + /** + * Add a member with the specified role to the curriculum element. The + * inheritance mode of the membership is per default "none". + * + * @param element The curriculum element + * @param member The identity to make a member of + * @param role The role of the member + */ + public void addMember(CurriculumElement element, Identity member, CurriculumRoles role); + + /** + * Remove a member of the curriculum element and discard all its roles. + * + * @param element The curriculum element + * @param member The identity to remove + */ + public void removeMember(CurriculumElement element, IdentityRef member); + + /** + * The all list of repository entries hold by the specified curriculum element. + * + * @param element The curriculum element + * @return A list of repository entries + */ + public List<RepositoryEntry> getRepositoryEntries(CurriculumElementRef element); + + /** + * This will add a relation between the curriculum element and the repository + * entry and it will add the base group of the curriculum to the set of groups + * of the repository entry. + * + * + * @param element The curriculum element + * @param entry The repository entry + * @param master If the relation is the master one + */ + public void addRepositoryEntry(CurriculumElement element, RepositoryEntryRef entry, boolean master); } diff --git a/src/main/java/org/olat/modules/curriculum/manager/CurriculumElementDAO.java b/src/main/java/org/olat/modules/curriculum/manager/CurriculumElementDAO.java index 574521cbf60a15292187525e14583a0314a49568..328ebc6fe7507e30cf247db885235602730dc7ae 100644 --- a/src/main/java/org/olat/modules/curriculum/manager/CurriculumElementDAO.java +++ b/src/main/java/org/olat/modules/curriculum/manager/CurriculumElementDAO.java @@ -19,16 +19,24 @@ */ package org.olat.modules.curriculum.manager; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.Date; import java.util.List; +import org.olat.basesecurity.GroupMembershipInheritance; import org.olat.basesecurity.manager.GroupDAO; import org.olat.core.commons.persistence.DB; +import org.olat.core.id.Identity; +import org.olat.core.util.StringHelper; import org.olat.modules.curriculum.Curriculum; import org.olat.modules.curriculum.CurriculumElement; import org.olat.modules.curriculum.CurriculumElementRef; +import org.olat.modules.curriculum.CurriculumElementType; import org.olat.modules.curriculum.CurriculumRef; import org.olat.modules.curriculum.model.CurriculumElementImpl; +import org.olat.modules.curriculum.model.CurriculumElementMember; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -46,22 +54,26 @@ public class CurriculumElementDAO { @Autowired private GroupDAO groupDao; - public CurriculumElement createCurriculumElement(String identifier, String displayName, CurriculumElementRef parentRef, Curriculum curriculum) { + public CurriculumElement createCurriculumElement(String identifier, String displayName, Date beginDate, Date endDate, + CurriculumElementRef parentRef, CurriculumElementType elementType, Curriculum curriculum) { CurriculumElementImpl element = new CurriculumElementImpl(); element.setCreationDate(new Date()); element.setLastModified(element.getCreationDate()); element.setIdentifier(identifier); element.setDisplayName(displayName); + element.setBeginDate(beginDate); + element.setEndDate(endDate); element.setCurriculum(curriculum); + element.setType(elementType); element.setGroup(groupDao.createGroup()); CurriculumElement parent = parentRef == null ? null : loadByKey(parentRef.getKey()); element.setParent(parent); dbInstance.getCurrentEntityManager().persist(element); - if(parent != null) { ((CurriculumElementImpl)parent).getChildren().add(element); dbInstance.getCurrentEntityManager().merge(parent); } + element.setMaterializedPathKeys(getMaterializedPathKeys(parent, element)); return element; } @@ -79,11 +91,54 @@ public class CurriculumElementDAO { return elements == null || elements.isEmpty() ? null : elements.get(0); } + public String getMaterializedPathKeys(CurriculumElement parent, CurriculumElement element) { + if(parent != null) { + String parentPathOfKeys = parent.getMaterializedPathKeys(); + if(parentPathOfKeys == null || "/".equals(parentPathOfKeys)) { + parentPathOfKeys = ""; + } + return parentPathOfKeys + element.getKey() + "/"; + } + return "/" + element.getKey() + "/"; + } + public CurriculumElement update(CurriculumElement element) { ((CurriculumElementImpl)element).setLastModified(new Date()); + ((CurriculumElementImpl)element).setMaterializedPathKeys(getMaterializedPathKeys(element.getParent(), element)); return dbInstance.getCurrentEntityManager().merge(element); } + public CurriculumElement move(CurriculumElement element, CurriculumElement newParentElement) { + CurriculumElement parentElement = element.getParent(); + if(parentElement == null && newParentElement == null) { + return element;//already root + } else if(parentElement != null && parentElement.equals(newParentElement)) { + return element;//same parent + } + + String keysPath = element.getMaterializedPathKeys(); + + List<CurriculumElement> descendants = getDescendants(element); + CurriculumElementImpl elementImpl = (CurriculumElementImpl)element; + elementImpl.setParent(newParentElement); + elementImpl.setLastModified(new Date()); + String newKeysPath = getMaterializedPathKeys(newParentElement, elementImpl); + elementImpl.setMaterializedPathKeys(newKeysPath); + elementImpl = dbInstance.getCurrentEntityManager().merge(elementImpl); + + for(CurriculumElement descendant:descendants) { + String descendantKeysPath = descendant.getMaterializedPathKeys(); + if(descendantKeysPath.indexOf(keysPath) == 0) { + String end = descendantKeysPath.substring(keysPath.length(), descendantKeysPath.length()); + String updatedPath = newKeysPath + end; + ((CurriculumElementImpl)descendant).setMaterializedPathKeys(updatedPath); + } + dbInstance.getCurrentEntityManager().merge(descendant); + } + dbInstance.commit(); + return elementImpl; + } + public List<CurriculumElement> loadElements(CurriculumRef curriculum) { StringBuilder sb = new StringBuilder(256); sb.append("select el from curriculumelement el") @@ -97,4 +152,79 @@ public class CurriculumElementDAO { .setParameter("curriculumKey", curriculum.getKey()) .getResultList(); } + + public List<CurriculumElement> getParentLine(CurriculumElement curriculumElement) { + StringBuilder sb = new StringBuilder(384); + sb.append("select el from curriculumelement as el") + .append(" inner join el.curriculum as curriculum") + .append(" inner join el.group as baseGroup") + .append(" left join fetch el.parent as parent") + .append(" left join fetch el.type as type") + .append(" where curriculum.key=:curriculumKey and locate(el.materializedPathKeys,:materializedPath) = 1"); + + List<CurriculumElement> elements = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), CurriculumElement.class) + .setParameter("curriculumKey", curriculumElement.getCurriculum().getKey()) + .setParameter("materializedPath", curriculumElement.getMaterializedPathKeys() + "%") + .getResultList(); + Collections.sort(elements, new PathMaterializedPathLengthComparator()); + return elements; + } + + public List<CurriculumElement> getDescendants(CurriculumElement curriculumElement) { + StringBuilder sb = new StringBuilder(384); + sb.append("select el from curriculumelement as el") + .append(" inner join el.curriculum as curriculum") + .append(" inner join el.group as baseGroup") + .append(" left join fetch el.parent as parent") + .append(" left join fetch el.type as type") + .append(" where el.curriculum.key=:curriculumKey") + .append(" and el.key!=:elementKey and el.materializedPathKeys like :materializedPath"); + + List<CurriculumElement> elements = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), CurriculumElement.class) + .setParameter("materializedPath", curriculumElement.getMaterializedPathKeys() + "%") + .setParameter("elementKey", curriculumElement.getKey()) + .setParameter("curriculumKey", curriculumElement.getCurriculum().getKey()) + .getResultList(); + Collections.sort(elements, new PathMaterializedPathLengthComparator()); + return elements; + } + + public List<CurriculumElementMember> getMembers(CurriculumElementRef element) { + StringBuilder sb = new StringBuilder(256); + sb.append("select ident, membership.role, membership.inheritanceModeString from curriculumelement el") + .append(" inner join el.group baseGroup") + .append(" inner join baseGroup.members membership") + .append(" inner join membership.identity ident") + .append(" where el.key=:elementKey"); + List<Object[]> objects = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), Object[].class) + .setParameter("elementKey", element.getKey()) + .getResultList(); + List<CurriculumElementMember> members = new ArrayList<>(objects.size()); + for(Object[] object:objects) { + Identity identity = (Identity)object[0]; + String role = (String)object[1]; + String inheritanceModeString = (String)object[2]; + GroupMembershipInheritance inheritanceMode = GroupMembershipInheritance.none; + if(StringHelper.containsNonWhitespace(inheritanceModeString)) { + inheritanceMode = GroupMembershipInheritance.valueOf(inheritanceModeString); + } + members.add(new CurriculumElementMember(identity, role, inheritanceMode)); + } + return members; + } + + private static class PathMaterializedPathLengthComparator implements Comparator<CurriculumElement> { + @Override + public int compare(CurriculumElement c1, CurriculumElement c2) { + String s1 = c1.getMaterializedPathKeys(); + String s2 = c2.getMaterializedPathKeys(); + + int len1 = s1 == null ? 0 : s1.length(); + int len2 = s2 == null ? 0 : s2.length(); + return len1 - len2; + } + } } diff --git a/src/main/java/org/olat/modules/curriculum/manager/CurriculumElementTypeDAO.java b/src/main/java/org/olat/modules/curriculum/manager/CurriculumElementTypeDAO.java index 5bdfad9696305c787f7b711d6b98c81fa3e277b2..99b6406ded961e2b9a943e37aedb6a1b584a2cce 100644 --- a/src/main/java/org/olat/modules/curriculum/manager/CurriculumElementTypeDAO.java +++ b/src/main/java/org/olat/modules/curriculum/manager/CurriculumElementTypeDAO.java @@ -60,6 +60,12 @@ public class CurriculumElementTypeDAO { return types == null || types.isEmpty() ? null : types.get(0); } + public List<CurriculumElementType> load() { + return dbInstance.getCurrentEntityManager() + .createNamedQuery("loadCurriculumElementTypes", CurriculumElementType.class) + .getResultList(); + } + public CurriculumElementType update(CurriculumElementType type) { ((CurriculumElementTypeImpl)type).setLastModified(new Date()); return dbInstance.getCurrentEntityManager().merge(type); diff --git a/src/main/java/org/olat/modules/curriculum/manager/CurriculumRepositoryEntryRelationDAO.java b/src/main/java/org/olat/modules/curriculum/manager/CurriculumRepositoryEntryRelationDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..1a26bf705c846a5e7adb973967c8735066f8e886 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/manager/CurriculumRepositoryEntryRelationDAO.java @@ -0,0 +1,87 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.manager; + +import java.util.Date; +import java.util.List; + +import org.olat.core.commons.persistence.DB; +import org.olat.modules.curriculum.CurriculumElement; +import org.olat.modules.curriculum.CurriculumElementRef; +import org.olat.modules.curriculum.CurriculumRepositoryEntryRelation; +import org.olat.modules.curriculum.model.CurriculumRepositoryEntryRelationImpl; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryEntryRef; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 9 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service +public class CurriculumRepositoryEntryRelationDAO { + + @Autowired + private DB dbInstance; + + public CurriculumRepositoryEntryRelation createRelation(RepositoryEntry entry, CurriculumElement element, boolean master) { + CurriculumRepositoryEntryRelationImpl relation = new CurriculumRepositoryEntryRelationImpl(); + relation.setCreationDate(new Date()); + relation.setLastModified(relation.getCreationDate()); + relation.setCurriculumElement(element); + relation.setEntry(entry); + relation.setMaster(master); + dbInstance.getCurrentEntityManager().persist(relation); + return relation; + } + + public List<CurriculumElement> getCurriculumElements(RepositoryEntryRef entry) { + StringBuilder sb = new StringBuilder(256); + sb.append("select el from curriculumelement as el") + .append(" inner join fetch el.group as bGroup") + .append(" inner join repoentrytogroup as rel on (bGroup.key=rel.group.key)") + .append(" where rel.entry.key=:repoKey"); + + return dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), CurriculumElement.class) + .setParameter("repoKey", entry.getKey()) + .getResultList(); + } + + public List<RepositoryEntry> getRepositoryEntries(CurriculumElementRef element) { + StringBuilder sb = new StringBuilder(256); + sb.append("select distinct v from repositoryentry as v") + .append(" inner join fetch v.olatResource as ores") + .append(" inner join fetch v.statistics as statistics") + .append(" left join fetch v.lifecycle as lifecycle") + .append(" inner join v.groups as rel") + .append(" inner join curriculumelement as el on (el.group.key=rel.group.key)") + .append(" where el.key=:elementKey"); + + return dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), RepositoryEntry.class) + .setParameter("elementKey", element.getKey()) + .getResultList(); + } + +} diff --git a/src/main/java/org/olat/modules/curriculum/manager/CurriculumServiceImpl.java b/src/main/java/org/olat/modules/curriculum/manager/CurriculumServiceImpl.java index 7148cbb3cf71129e0cd8a2b4c4e798dd18437964..d15477598306e91300d7dced9ec464098a8c09f1 100644 --- a/src/main/java/org/olat/modules/curriculum/manager/CurriculumServiceImpl.java +++ b/src/main/java/org/olat/modules/curriculum/manager/CurriculumServiceImpl.java @@ -19,15 +19,28 @@ */ package org.olat.modules.curriculum.manager; +import java.util.Date; import java.util.List; +import org.olat.basesecurity.GroupMembershipInheritance; +import org.olat.basesecurity.IdentityRef; +import org.olat.basesecurity.manager.GroupDAO; +import org.olat.core.id.Identity; import org.olat.core.id.Organisation; import org.olat.modules.curriculum.Curriculum; import org.olat.modules.curriculum.CurriculumElement; import org.olat.modules.curriculum.CurriculumElementRef; +import org.olat.modules.curriculum.CurriculumElementType; +import org.olat.modules.curriculum.CurriculumElementTypeRef; import org.olat.modules.curriculum.CurriculumRef; +import org.olat.modules.curriculum.CurriculumRoles; import org.olat.modules.curriculum.CurriculumService; +import org.olat.modules.curriculum.model.CurriculumElementMember; import org.olat.modules.curriculum.model.CurriculumSearchParameters; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryEntryRef; +import org.olat.repository.manager.RepositoryEntryDAO; +import org.olat.repository.manager.RepositoryEntryRelationDAO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -40,10 +53,22 @@ import org.springframework.stereotype.Service; @Service public class CurriculumServiceImpl implements CurriculumService { + @Autowired + private GroupDAO groupDao; @Autowired private CurriculumDAO curriculumDao; @Autowired + private RepositoryEntryDAO repositoryEntryDao; + @Autowired private CurriculumElementDAO curriculumElementDao; + @Autowired + private CurriculumElementTypeDAO curriculumElementTypeDao; + @Autowired + private CurriculumElementTypeToTypeDAO curriculumElementTypeToTypeDao; + @Autowired + private RepositoryEntryRelationDAO repositoryEntryRelationDao; + @Autowired + private CurriculumRepositoryEntryRelationDAO curriculumRepositoryEntryRelationDao; @Override public Curriculum createCurriculum(String identifier, String displayName, String description, Organisation organisation) { @@ -60,15 +85,48 @@ public class CurriculumServiceImpl implements CurriculumService { return curriculumDao.update(curriculum); } + @Override + public List<CurriculumElementType> getCurriculumElementTypes() { + return curriculumElementTypeDao.load(); + } + + @Override + public CurriculumElementType getCurriculumElementType(CurriculumElementTypeRef typeRef) { + return curriculumElementTypeDao.loadByKey(typeRef.getKey()); + } + + @Override + public CurriculumElementType createCurriculumElementType(String identifier, String displayName, + String description, String externalId) { + return curriculumElementTypeDao.createCurriculumElementType(identifier, displayName, description, externalId); + } + + @Override + public CurriculumElementType updateCurriculumElementType(CurriculumElementType elementType, List<CurriculumElementType> allowedSubTypes) { + curriculumElementTypeToTypeDao.setAllowedSubType(elementType, allowedSubTypes); + return curriculumElementTypeDao.update(elementType); + } + + @Override + public CurriculumElementType cloneCurriculumElementType(CurriculumElementTypeRef typeRef) { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean deleteCurriculumElementType(CurriculumElementTypeRef typeRef) { + return false; + } + @Override public List<Curriculum> getCurriculums(CurriculumSearchParameters params) { return curriculumDao.search(params); } @Override - public CurriculumElement createCurriculumElement(String identifier, String displayName, - CurriculumElementRef parentRef, Curriculum curriculum) { - return curriculumElementDao.createCurriculumElement(identifier, displayName, parentRef, curriculum); + public CurriculumElement createCurriculumElement(String identifier, String displayName, Date beginDate, Date endDate, + CurriculumElementRef parentRef, CurriculumElementType elementType, Curriculum curriculum) { + return curriculumElementDao.createCurriculumElement(identifier, displayName, beginDate, endDate, parentRef, elementType, curriculum); } @Override @@ -81,11 +139,47 @@ public class CurriculumServiceImpl implements CurriculumService { return curriculumElementDao.update(element); } + @Override + public CurriculumElement moveCurriculumElement(CurriculumElement elementToMove, CurriculumElement newParent) { + return curriculumElementDao.move(elementToMove, newParent); + } + @Override public List<CurriculumElement> getCurriculumElements(CurriculumRef curriculum) { return curriculumElementDao.loadElements(curriculum); } - - - + + @Override + public List<CurriculumElement> getCurriculumElementParentLine(CurriculumElement element) { + return curriculumElementDao.getParentLine(element); + } + + @Override + public List<CurriculumElementMember> getMembers(CurriculumElement element) { + return curriculumElementDao.getMembers(element); + } + + @Override + public void addMember(CurriculumElement element, Identity member, CurriculumRoles role) { + if(!groupDao.hasRole(element.getGroup(), member, role.name())) { + groupDao.addMembershipOneWay(element.getGroup(), member, role.name(), GroupMembershipInheritance.none); + } + } + + @Override + public void removeMember(CurriculumElement element, IdentityRef member) { + groupDao.removeMembership(element.getGroup(), member); + } + + @Override + public List<RepositoryEntry> getRepositoryEntries(CurriculumElementRef element) { + return curriculumRepositoryEntryRelationDao.getRepositoryEntries(element); + } + + @Override + public void addRepositoryEntry(CurriculumElement element, RepositoryEntryRef entry, boolean master) { + RepositoryEntry repoEntry = repositoryEntryDao.loadByKey(entry.getKey()); + repositoryEntryRelationDao.createRelation(element.getGroup(), repoEntry); + curriculumRepositoryEntryRelationDao.createRelation(repoEntry, element, master); + } } diff --git a/src/main/java/org/olat/modules/curriculum/model/CurriculumElementImpl.java b/src/main/java/org/olat/modules/curriculum/model/CurriculumElementImpl.java index dfda9261eafe1a51059ff1b6581820591fa249a4..2c363cde05955a31c80a45314f8bbb3b3b6fd391 100644 --- a/src/main/java/org/olat/modules/curriculum/model/CurriculumElementImpl.java +++ b/src/main/java/org/olat/modules/curriculum/model/CurriculumElementImpl.java @@ -44,6 +44,7 @@ import org.olat.core.id.Persistable; import org.olat.modules.curriculum.Curriculum; import org.olat.modules.curriculum.CurriculumElement; import org.olat.modules.curriculum.CurriculumElementManagedFlag; +import org.olat.modules.curriculum.CurriculumElementType; /** * @@ -90,6 +91,9 @@ public class CurriculumElementImpl implements CurriculumElement, Persistable { @Column(name="c_managed_flags", nullable=true, insertable=true, updatable=true) private String managedFlagsString; + @Column(name="c_m_path_keys", nullable=true, insertable=true, updatable=true) + private String materializedPathKeys; + @ManyToOne(targetEntity=GroupImpl.class,fetch=FetchType.LAZY,optional=false) @JoinColumn(name="fk_group", nullable=false, insertable=true, updatable=false) private Group group; @@ -107,6 +111,10 @@ public class CurriculumElementImpl implements CurriculumElement, Persistable { @JoinColumn(name="fk_curriculum", nullable=true, insertable=true, updatable=true) private Curriculum curriculum; + @ManyToOne(targetEntity=CurriculumElementTypeImpl.class,fetch=FetchType.LAZY,optional=true) + @JoinColumn(name="fk_type", nullable=true, insertable=true, updatable=true) + private CurriculumElementType type; + @Override public Long getKey() { return key; @@ -135,26 +143,32 @@ public class CurriculumElementImpl implements CurriculumElement, Persistable { this.lastModified = lastModified; } + @Override public String getIdentifier() { return identifier; } + @Override public void setIdentifier(String identifier) { this.identifier = identifier; } + @Override public String getDisplayName() { return displayName; } + @Override public void setDisplayName(String displayName) { this.displayName = displayName; } + @Override public String getDescription() { return description; } + @Override public void setDescription(String description) { this.description = description; } @@ -167,18 +181,22 @@ public class CurriculumElementImpl implements CurriculumElement, Persistable { this.status = status; } + @Override public Date getBeginDate() { return beginDate; } + @Override public void setBeginDate(Date beginDate) { this.beginDate = beginDate; } + @Override public Date getEndDate() { return endDate; } + @Override public void setEndDate(Date endDate) { this.endDate = endDate; } @@ -193,6 +211,15 @@ public class CurriculumElementImpl implements CurriculumElement, Persistable { this.externalId = externalId; } + @Override + public String getMaterializedPathKeys() { + return materializedPathKeys; + } + + public void setMaterializedPathKeys(String materializedPathKeys) { + this.materializedPathKeys = materializedPathKeys; + } + public String getManagedFlagsString() { return managedFlagsString; } @@ -211,6 +238,7 @@ public class CurriculumElementImpl implements CurriculumElement, Persistable { managedFlagsString = CurriculumElementManagedFlag.toString(flags); } + @Override public Group getGroup() { return group; } @@ -219,6 +247,7 @@ public class CurriculumElementImpl implements CurriculumElement, Persistable { this.group = group; } + @Override public CurriculumElement getParent() { return parent; } @@ -247,6 +276,15 @@ public class CurriculumElementImpl implements CurriculumElement, Persistable { this.curriculum = curriculum; } + @Override + public CurriculumElementType getType() { + return type; + } + + public void setType(CurriculumElementType type) { + this.type = type; + } + @Override public int hashCode() { return key == null ? 28562153 : key.hashCode(); diff --git a/src/main/java/org/olat/modules/curriculum/model/CurriculumElementMember.java b/src/main/java/org/olat/modules/curriculum/model/CurriculumElementMember.java new file mode 100644 index 0000000000000000000000000000000000000000..9e06c012391bad4954269358c7b02430737e79a8 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/model/CurriculumElementMember.java @@ -0,0 +1,55 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.model; + +import org.olat.basesecurity.GroupMembershipInheritance; +import org.olat.core.id.Identity; + +/** + * + * Initial date: 9 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumElementMember { + + private final Identity identity; + private final String role; + private final GroupMembershipInheritance inheritanceMode; + + public CurriculumElementMember(Identity identity, String role, GroupMembershipInheritance inheritanceMode) { + this.identity = identity; + this.role = role; + this.inheritanceMode = inheritanceMode; + } + + public Identity getIdentity() { + return identity; + } + + public String getRole() { + return role; + } + + public GroupMembershipInheritance getInheritanceMode() { + return inheritanceMode; + } + +} diff --git a/src/main/java/org/olat/modules/curriculum/model/CurriculumElementTypeImpl.java b/src/main/java/org/olat/modules/curriculum/model/CurriculumElementTypeImpl.java index f60f40076238cf522cec8e3d0eb74be2a5d4d174..a9dc56fd7d8595d787cb63ec23f9bafb3b4ce344 100644 --- a/src/main/java/org/olat/modules/curriculum/model/CurriculumElementTypeImpl.java +++ b/src/main/java/org/olat/modules/curriculum/model/CurriculumElementTypeImpl.java @@ -39,6 +39,7 @@ import javax.persistence.TemporalType; import org.olat.core.id.Persistable; import org.olat.modules.curriculum.CurriculumElementType; +import org.olat.modules.curriculum.CurriculumElementTypeManagedFlag; import org.olat.modules.curriculum.CurriculumElementTypeToType; /** @@ -48,9 +49,8 @@ import org.olat.modules.curriculum.CurriculumElementTypeToType; * */ @NamedQueries({ - @NamedQuery(name="loadCurriculumElementTypeByKey", query="select el from curriculumelementtype el where el.key=:key") - - + @NamedQuery(name="loadCurriculumElementTypeByKey", query="select el from curriculumelementtype el where el.key=:key"), + @NamedQuery(name="loadCurriculumElementTypes", query="select elementType from curriculumelementtype elementType") }) @Entity(name="curriculumelementtype") @Table(name="o_cur_element_type") @@ -172,6 +172,16 @@ public class CurriculumElementTypeImpl implements Persistable, CurriculumElement this.managedFlagsString = managedFlagsString; } + @Override + public CurriculumElementTypeManagedFlag[] getManagedFlags() { + return CurriculumElementTypeManagedFlag.toEnum(managedFlagsString); + } + + public void setManagedFlagss(CurriculumElementTypeManagedFlag[] flags) { + managedFlagsString = CurriculumElementTypeManagedFlag.toString(flags); + } + + @Override public Set<CurriculumElementTypeToType> getAllowedSubTypes() { return allowedSubTypes; } diff --git a/src/main/java/org/olat/modules/curriculum/model/CurriculumElementTypeRefImpl.java b/src/main/java/org/olat/modules/curriculum/model/CurriculumElementTypeRefImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..c4d89670246bb8c25bdac63545ce7e9db698e377 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/model/CurriculumElementTypeRefImpl.java @@ -0,0 +1,59 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.model; + +import org.olat.modules.curriculum.CurriculumElementTypeRef; + +/** + * + * Initial date: 11 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumElementTypeRefImpl implements CurriculumElementTypeRef { + + private final Long key; + + public CurriculumElementTypeRefImpl(Long key) { + this.key = key; + } + + @Override + public Long getKey() { + return key; + } + + @Override + public int hashCode() { + return getKey() == null ? 78254 : getKey().hashCode(); + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + if(obj instanceof CurriculumElementTypeRefImpl) { + CurriculumElementTypeRefImpl ref = (CurriculumElementTypeRefImpl)obj; + return getKey() != null && getKey().equals(ref.getKey()); + } + return super.equals(obj); + } +} diff --git a/src/main/java/org/olat/modules/curriculum/model/CurriculumRepositoryEntryRelationImpl.java b/src/main/java/org/olat/modules/curriculum/model/CurriculumRepositoryEntryRelationImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..271482c1b89c83716d29f967a4aeb39fe4a86b09 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/model/CurriculumRepositoryEntryRelationImpl.java @@ -0,0 +1,153 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.model; + +import java.util.Date; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +import org.olat.core.id.Persistable; +import org.olat.modules.curriculum.CurriculumElement; +import org.olat.modules.curriculum.CurriculumRepositoryEntryRelation; +import org.olat.repository.RepositoryEntry; + +/** + * + * Initial date: 9 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Entity(name="repoentrytocurriculumelement") +@Table(name="o_re_to_curriculum_element") +public class CurriculumRepositoryEntryRelationImpl implements CurriculumRepositoryEntryRelation, Persistable { + + private static final long serialVersionUID = -4889700699342402333L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name="id", nullable=false, unique=true, insertable=true, updatable=false) + private Long key; + + @Temporal(TemporalType.TIMESTAMP) + @Column(name="creationdate", nullable=false, insertable=true, updatable=false) + private Date creationDate; + @Temporal(TemporalType.TIMESTAMP) + @Column(name="lastmodified", nullable=false, insertable=true, updatable=true) + private Date lastModified; + + @Column(name="c_master", nullable=true, insertable=true, updatable=false) + private boolean master; + + @ManyToOne(targetEntity=RepositoryEntry.class,fetch=FetchType.LAZY,optional=true) + @JoinColumn(name="fk_entry", nullable=true, insertable=true, updatable=true) + private RepositoryEntry entry; + + @ManyToOne(targetEntity=CurriculumElementImpl.class,fetch=FetchType.LAZY,optional=true) + @JoinColumn(name="fk_curriculum_element", nullable=true, insertable=true, updatable=false) + private CurriculumElement curriculumElement; + + @Override + public Long getKey() { + return key; + } + + public void setKey(Long key) { + this.key = key; + } + + @Override + public Date getCreationDate() { + return creationDate; + } + + public void setCreationDate(Date creationDate) { + this.creationDate = creationDate; + } + + @Override + public Date getLastModified() { + return lastModified; + } + + @Override + public void setLastModified(Date lastModified) { + this.lastModified = lastModified; + } + + @Override + public boolean isMaster() { + return master; + } + + public void setMaster(boolean master) { + this.master = master; + } + + @Override + public RepositoryEntry getEntry() { + return entry; + } + + public void setEntry(RepositoryEntry entry) { + this.entry = entry; + } + + @Override + public CurriculumElement getCurriculumElement() { + return curriculumElement; + } + + public void setCurriculumElement(CurriculumElement curriculumElement) { + this.curriculumElement = curriculumElement; + } + + @Override + public int hashCode() { + return getKey() == null ? 391598261 : getKey().hashCode(); + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + if(obj instanceof CurriculumRepositoryEntryRelationImpl) { + CurriculumRepositoryEntryRelationImpl rel = (CurriculumRepositoryEntryRelationImpl)obj; + return getKey() != null && getKey().equals(rel.getKey()); + } + + return false; + } + + @Override + public boolean equalsByPersistableKey(Persistable persistable) { + return equals(persistable); + } +} diff --git a/src/main/java/org/olat/modules/curriculum/site/CurriculumManagerSecurityCallback.java b/src/main/java/org/olat/modules/curriculum/site/CurriculumManagerSecurityCallback.java index 6b07b1ca89bddfadeb845d3f2c31f409ea8c9074..e64d3a63cad04f8c8185a2e63884374f4f4ee5c4 100644 --- a/src/main/java/org/olat/modules/curriculum/site/CurriculumManagerSecurityCallback.java +++ b/src/main/java/org/olat/modules/curriculum/site/CurriculumManagerSecurityCallback.java @@ -21,6 +21,7 @@ package org.olat.modules.curriculum.site; import org.olat.core.gui.UserRequest; import org.olat.core.gui.control.navigation.SiteSecurityCallback; +import org.olat.core.id.Roles; import org.olat.core.util.UserSession; import org.springframework.stereotype.Service; @@ -35,14 +36,18 @@ public class CurriculumManagerSecurityCallback implements SiteSecurityCallback { @Override public boolean isAllowedToLaunchSite(UserRequest ureq) { - if (ureq == null || ureq.getUserSession() == null) { + if (ureq == null) { return false; } UserSession usess = ureq.getUserSession(); - if (usess.getRoles() == null || usess.getRoles().isInvitee() || usess.getRoles().isGuestOnly()) { + if(usess == null || usess.getRoles() == null) { return false; } - - return usess.getRoles().isOLATAdmin() || usess.getRoles().isCurriculumManager(); + + Roles roles = usess.getRoles(); + if (usess.getRoles() == null || roles.isInvitee() || roles.isGuestOnly()) { + return false; + } + return roles.isOLATAdmin() || roles.isCurriculumManager(); } } diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumAdminConfigurationController.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumAdminConfigurationController.java new file mode 100644 index 0000000000000000000000000000000000000000..455a551ef793f7688932c316acac7ca7fc77c0e8 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumAdminConfigurationController.java @@ -0,0 +1,101 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.form.flexible.FormItem; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.form.flexible.impl.FormEvent; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.modules.curriculum.CurriculumModule; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 12 févr. 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumAdminConfigurationController extends FormBasicController { + + private static final String[] onKeys = new String[] { "on" }; + + private MultipleSelectionElement enableEl; + private MultipleSelectionElement curriculumMyCoursesEl; + + @Autowired + private CurriculumModule curriculumModule; + + public CurriculumAdminConfigurationController(UserRequest ureq, WindowControl wControl) { + super(ureq, wControl); + + initForm(ureq); + update(); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + setFormDescription("admin.description"); + + String[] onValues = new String[] { translate("on") }; + enableEl = uifactory.addCheckboxesHorizontal("curriculum.admin.enabled", formLayout, onKeys, onValues); + enableEl.addActionListener(FormEvent.ONCHANGE); + if(curriculumModule.isEnabled()) { + enableEl.select(onKeys[0], true); + } + + curriculumMyCoursesEl = uifactory.addCheckboxesHorizontal("curriculum.in.my.courses.enabled", formLayout, onKeys, onValues); + curriculumMyCoursesEl.addActionListener(FormEvent.ONCHANGE); + if(curriculumModule.isEnabled()) { + curriculumMyCoursesEl.select(onKeys[0], true); + } + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + @Override + protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { + if(enableEl == source) { + curriculumModule.setEnabled(enableEl.isAtLeastSelected(1)); + update(); + fireEvent(ureq, Event.CHANGED_EVENT); + } else if(curriculumMyCoursesEl == source) { + curriculumModule.setCurriculumInMyCourses(curriculumMyCoursesEl.isAtLeastSelected(1)); + } + super.formInnerEvent(ureq, source, event); + } + + private void update() { + boolean enabled = enableEl.isAtLeastSelected(1); + curriculumMyCoursesEl.setVisible(enabled); + } +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumAdminController.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumAdminController.java index 19f3c0e4713e3008b7ee47c07fe79f3b54ea7ba2..59a99d801eed47f2df565465e8a6684509bc9eb6 100644 --- a/src/main/java/org/olat/modules/curriculum/ui/CurriculumAdminController.java +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumAdminController.java @@ -20,28 +20,36 @@ package org.olat.modules.curriculum.ui; import org.olat.core.gui.UserRequest; -import org.olat.core.gui.components.form.flexible.FormItem; -import org.olat.core.gui.components.form.flexible.FormItemContainer; -import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement; -import org.olat.core.gui.components.form.flexible.impl.FormBasicController; -import org.olat.core.gui.components.form.flexible.impl.FormEvent; +import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.link.Link; +import org.olat.core.gui.components.link.LinkFactory; +import org.olat.core.gui.components.segmentedview.SegmentViewComponent; +import org.olat.core.gui.components.segmentedview.SegmentViewEvent; +import org.olat.core.gui.components.segmentedview.SegmentViewFactory; +import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.controller.BasicController; +import org.olat.core.util.resource.OresHelper; import org.olat.modules.curriculum.CurriculumModule; import org.springframework.beans.factory.annotation.Autowired; /** * - * Initial date: 12 févr. 2018<br> + * Initial date: 11 mai 2018<br> * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com * */ -public class CurriculumAdminController extends FormBasicController { +public class CurriculumAdminController extends BasicController { - private static final String[] onKeys = new String[] { "on" }; + private final Link configurationLink; + private final Link curriculumElementTypeListLink; + private final VelocityContainer mainVC; + private final SegmentViewComponent segmentView; - private MultipleSelectionElement enableEl; - private MultipleSelectionElement curriculumMyCoursesEl; + private CurriculumAdminConfigurationController configurationCtrl; + private CurriculumElementTypesEditController elementTypeListCtrl; @Autowired private CurriculumModule curriculumModule; @@ -49,52 +57,75 @@ public class CurriculumAdminController extends FormBasicController { public CurriculumAdminController(UserRequest ureq, WindowControl wControl) { super(ureq, wControl); - initForm(ureq); - update(); - } - - @Override - protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { - setFormTitle("admin.title"); - setFormDescription("admin.description"); + mainVC = createVelocityContainer("curriculum_admin"); - String[] onValues = new String[] { translate("on") }; - enableEl = uifactory.addCheckboxesHorizontal("curriculum.admin.enabled", formLayout, onKeys, onValues); - enableEl.addActionListener(FormEvent.ONCHANGE); + segmentView = SegmentViewFactory.createSegmentView("segments", mainVC, this); + segmentView.setDontShowSingleSegment(true); + configurationLink = LinkFactory.createLink("curriculum.configuration", mainVC, this); + segmentView.addSegment(configurationLink, true); + curriculumElementTypeListLink = LinkFactory.createLink("curriculum.element.types", mainVC, this); + doOpenConfiguration(ureq); if(curriculumModule.isEnabled()) { - enableEl.select(onKeys[0], true); + segmentView.addSegment(curriculumElementTypeListLink, false); } - curriculumMyCoursesEl = uifactory.addCheckboxesHorizontal("curriculum.in.my.courses.enabled", formLayout, onKeys, onValues); - curriculumMyCoursesEl.addActionListener(FormEvent.ONCHANGE); - if(curriculumModule.isEnabled()) { - curriculumMyCoursesEl.select(onKeys[0], true); - } + mainVC.put("segmentCmp", configurationCtrl.getInitialComponent()); + putInitialPanel(mainVC); + } @Override protected void doDispose() { // } - + @Override - protected void formOK(UserRequest ureq) { - // + protected void event(UserRequest ureq, Controller source, Event event) { + if(configurationCtrl == source) { + if(event == Event.CHANGED_EVENT) { + segmentView.removeSegment(curriculumElementTypeListLink); + if(curriculumModule.isEnabled()) { + segmentView.addSegment(curriculumElementTypeListLink, false); + } + } + } + super.event(ureq, source, event); } @Override - protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { - if(enableEl == source) { - curriculumModule.setEnabled(enableEl.isAtLeastSelected(1)); - update(); - } else if(curriculumMyCoursesEl == source) { - curriculumModule.setCurriculumInMyCourses(curriculumMyCoursesEl.isAtLeastSelected(1)); + protected void event(UserRequest ureq, Component source, Event event) { + if(source == segmentView) { + if(event instanceof SegmentViewEvent) { + SegmentViewEvent sve = (SegmentViewEvent)event; + String segmentCName = sve.getComponentName(); + Component clickedLink = mainVC.getComponent(segmentCName); + if (clickedLink == configurationLink) { + doOpenConfiguration(ureq); + } else if (clickedLink == curriculumElementTypeListLink){ + doOpenCurriculumElementTypes(ureq); + } + } } - super.formInnerEvent(ureq, source, event); } - private void update() { - boolean enabled = enableEl.isAtLeastSelected(1); - curriculumMyCoursesEl.setVisible(enabled); + private void doOpenConfiguration(UserRequest ureq) { + if(configurationCtrl == null) { + WindowControl bwControl = addToHistory(ureq, OresHelper.createOLATResourceableType("Configuration"), null); + configurationCtrl = new CurriculumAdminConfigurationController(ureq, bwControl); + listenTo(configurationCtrl); + } + addToHistory(ureq, configurationCtrl); + mainVC.put("segmentCmp", configurationCtrl.getInitialComponent()); } + + private void doOpenCurriculumElementTypes(UserRequest ureq) { + if(elementTypeListCtrl == null) { + WindowControl bwControl = addToHistory(ureq, OresHelper.createOLATResourceableType("Types"), null); + elementTypeListCtrl = new CurriculumElementTypesEditController(ureq, bwControl); + listenTo(elementTypeListCtrl); + } + addToHistory(ureq, elementTypeListCtrl); + mainVC.put("segmentCmp", elementTypeListCtrl.getInitialComponent()); + } + } diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumComposerController.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumComposerController.java index d9da766f725d6b402d235768a24f7dcabbaa5ff1..dfaa0d43fd34ea749719b1e7be8e90adf486e71a 100644 --- a/src/main/java/org/olat/modules/curriculum/ui/CurriculumComposerController.java +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumComposerController.java @@ -37,6 +37,7 @@ import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFle import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTreeNodeComparator; +import org.olat.core.gui.components.form.flexible.impl.elements.table.SelectionEvent; import org.olat.core.gui.components.form.flexible.impl.elements.table.TreeNodeFlexiCellRenderer; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; @@ -76,6 +77,7 @@ public class CurriculumComposerController extends FormBasicController implements private EditCurriculumElementController newElementCtrl; private CloseableCalloutWindowController toolsCalloutCtrl; private EditCurriculumElementController newSubElementCtrl; + private MoveCurriculumElementController moveElementCtrl; private int counter; private final Curriculum curriculum; @@ -163,7 +165,7 @@ public class CurriculumComposerController extends FormBasicController implements @Override protected void event(UserRequest ureq, Controller source, Event event) { - if(newElementCtrl == source || newSubElementCtrl == source) { + if(newElementCtrl == source || newSubElementCtrl == source || moveElementCtrl == source) { if(event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) { loadModel(); } @@ -176,8 +178,10 @@ public class CurriculumComposerController extends FormBasicController implements } private void cleanUp() { + removeAsListenerAndDispose(moveElementCtrl); removeAsListenerAndDispose(newElementCtrl); removeAsListenerAndDispose(cmc); + moveElementCtrl = null; newElementCtrl = null; cmc = null; } @@ -197,7 +201,16 @@ public class CurriculumComposerController extends FormBasicController implements @Override protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { - if (source instanceof FormLink) { + if(tableEl == source) { + if(event instanceof SelectionEvent) { + SelectionEvent se = (SelectionEvent)event; + String cmd = se.getCommand(); + if("select".equals(cmd)) { + CurriculumElementRow row = tableModel.getObject(se.getIndex()); + doEditCurriculumElement(ureq, row); + } + } + } else if (source instanceof FormLink) { FormLink link = (FormLink)source; String cmd = link.getCmd(); if("tools".equals(cmd)) { @@ -210,7 +223,7 @@ public class CurriculumComposerController extends FormBasicController implements private void doNewCurriculumElement(UserRequest ureq) { if(newElementCtrl != null) return; - newElementCtrl = new EditCurriculumElementController(ureq, getWindowControl(), curriculum); + newElementCtrl = new EditCurriculumElementController(ureq, getWindowControl(), null, curriculum); listenTo(newElementCtrl); cmc = new CloseableModalController(getWindowControl(), "close", newElementCtrl.getInitialComponent(), true, translate("add.curriculum.element")); @@ -224,7 +237,7 @@ public class CurriculumComposerController extends FormBasicController implements tableEl.reloadData(); showWarning("warning.curriculum.element.deleted"); } else { - newSubElementCtrl = new EditCurriculumElementController(ureq, getWindowControl(), curriculum); + newSubElementCtrl = new EditCurriculumElementController(ureq, getWindowControl(), parentElement, curriculum); newSubElementCtrl.setParentElement(parentElement); listenTo(newSubElementCtrl); @@ -247,6 +260,22 @@ public class CurriculumComposerController extends FormBasicController implements } } + private void doMoveCurriculumElement(UserRequest ureq, CurriculumElementRow row) { + CurriculumElement element = curriculumService.getCurriculumElement(row); + if(element == null) { + tableEl.reloadData(); + showWarning("warning.curriculum.element.deleted"); + } else { + List<CurriculumElement> elementsToMove = Collections.singletonList(element); + moveElementCtrl = new MoveCurriculumElementController(ureq, getWindowControl(), elementsToMove, curriculum); + listenTo(moveElementCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", moveElementCtrl.getInitialComponent(), true, translate("add.curriculum.element")); + listenTo(cmc); + cmc.activate(); + } + } + private void doOpenTools(UserRequest ureq, CurriculumElementRow row, FormLink link) { removeAsListenerAndDispose(toolsCtrl); removeAsListenerAndDispose(toolsCalloutCtrl); @@ -320,7 +349,10 @@ public class CurriculumComposerController extends FormBasicController implements if(editLink == source) { close(); doEditCurriculumElement(ureq, row); - } else if(deleteLink == source || moveLink == source) { + } else if(moveLink == source) { + close(); + doMoveCurriculumElement(ureq, row); + } else if(deleteLink == source) { close(); showWarning("Not implemented"); } else if(newLink == source) { diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementDataModel.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementDataModel.java new file mode 100644 index 0000000000000000000000000000000000000000..b3491c2251fb35c5785847aeebf56b333cadfca0 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementDataModel.java @@ -0,0 +1,93 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import org.olat.core.commons.persistence.SortKey; +import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiTableDataModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiSortableColumnDef; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.SortableFlexiTableDataModel; + +/** + * + * Initial date: 11 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumElementDataModel extends DefaultFlexiTableDataModel<CurriculumElementRow> +implements SortableFlexiTableDataModel<CurriculumElementRow> { + + public CurriculumElementDataModel(FlexiTableColumnModel columnsModel) { + super(columnsModel); + } + + @Override + public void sort(SortKey sortKey) { + // + } + + @Override + public Object getValueAt(int row, int col) { + CurriculumElementRow curriculum = getObject(row); + return getValueAt(curriculum, col); + } + + @Override + public Object getValueAt(CurriculumElementRow row, int col) { + switch(ElementCols.values()[col]) { + case key: return row.getKey(); + case displayName: return row.getDisplayName(); + case identifier: return row.getIdentifier(); + default: return "ERROR"; + } + } + + @Override + public CurriculumElementDataModel createCopyWithEmptyList() { + return new CurriculumElementDataModel(getTableColumnModel()); + } + + public enum ElementCols implements FlexiSortableColumnDef { + key("table.header.key"), + displayName("table.header.displayName"), + identifier("table.header.identifier"); + + private final String i18nHeaderKey; + + private ElementCols(String i18nHeaderKey) { + this.i18nHeaderKey = i18nHeaderKey; + } + + @Override + public boolean sortable() { + return true; + } + + @Override + public String sortKey() { + return name(); + } + + @Override + public String i18nHeaderKey() { + return i18nHeaderKey; + } + } +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementListController.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementListController.java new file mode 100644 index 0000000000000000000000000000000000000000..277b1dfd014d086822bc4c40a791147601609835 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementListController.java @@ -0,0 +1,99 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import java.util.List; +import java.util.stream.Collectors; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.WindowControl; +import org.olat.modules.curriculum.CurriculumElement; +import org.olat.modules.curriculum.CurriculumRef; +import org.olat.modules.curriculum.CurriculumService; +import org.olat.modules.curriculum.ui.CurriculumElementDataModel.ElementCols; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 11 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumElementListController extends FormBasicController { + + private FlexiTableElement tableEl; + private CurriculumElementDataModel tableModel; + + private final CurriculumRef curriculum; + + @Autowired + private CurriculumService curriculumService; + + public CurriculumElementListController(UserRequest ureq, WindowControl wControl, CurriculumRef curriculum) { + super(ureq, wControl, "curriculum_element_list"); + this.curriculum = curriculum; + + initForm(ureq); + loadModel(); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, ElementCols.key)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(ElementCols.displayName, "select")); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(ElementCols.identifier, "select")); + + tableModel = new CurriculumElementDataModel(columnsModel); + tableEl = uifactory.addTableElement(getWindowControl(), "table", tableModel, 20, false, getTranslator(), formLayout); + tableEl.setCustomizeColumns(true); + tableEl.setEmtpyTableMessageKey("table.curriculum.empty"); + tableEl.setAndLoadPersistedPreferences(ureq, "cur-curriculum-manage"); + } + + private void loadModel() { + List<CurriculumElement> elements = curriculumService.getCurriculumElements(curriculum); + List<CurriculumElementRow> rows = elements.stream() + .map(element -> new CurriculumElementRow(element, null)) + .collect(Collectors.toList()); + tableModel.setObjects(rows); + tableEl.reset(true, true, true); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + + +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementResourceListController.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementResourceListController.java new file mode 100644 index 0000000000000000000000000000000000000000..1debd4559e3ac8717120dfd9ec67cd1381e60aa4 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementResourceListController.java @@ -0,0 +1,183 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import java.util.Collections; +import java.util.List; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.form.flexible.FormItem; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; +import org.olat.core.gui.components.form.flexible.elements.FormLink; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.form.flexible.impl.FormEvent; +import org.olat.core.gui.components.form.flexible.impl.elements.table.DateFlexiCellRenderer; +import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory; +import org.olat.core.gui.components.link.Link; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; +import org.olat.core.util.Util; +import org.olat.course.CourseModule; +import org.olat.modules.curriculum.CurriculumElement; +import org.olat.modules.curriculum.CurriculumService; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryService; +import org.olat.repository.controllers.ReferencableEntriesSearchController; +import org.olat.repository.controllers.RepositorySearchController.Can; +import org.olat.repository.ui.RepositoryEntryACColumnDescriptor; +import org.olat.repository.ui.RepositoryEntryIconRenderer; +import org.olat.repository.ui.RepositoryFlexiTableModel; +import org.olat.repository.ui.RepositoryFlexiTableModel.RepoCols; +import org.olat.repository.ui.author.AccessRenderer; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 9 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumElementResourceListController extends FormBasicController { + + private FormLink addResourcesButton; + private FlexiTableElement tableEl; + private RepositoryFlexiTableModel tableModel; + + private CloseableModalController cmc; + private ReferencableEntriesSearchController repoSearchCtr; + + private final CurriculumElement curriculumElement; + + @Autowired + private CurriculumService curriculumService; + + public CurriculumElementResourceListController(UserRequest ureq, WindowControl wControl, CurriculumElement curriculumElement) { + super(ureq, wControl, "curriculum_element_resources"); + setTranslator(Util.createPackageTranslator(RepositoryService.class, ureq.getLocale(), getTranslator())); + + this.curriculumElement = curriculumElement; + + initForm(ureq); + loadModel(); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + addResourcesButton = uifactory.addFormLink("add.resources", formLayout, Link.BUTTON); + addResourcesButton.setIconLeftCSS("o_icon o_icon-fw o_icon_add"); + + FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(RepoCols.ac, new RepositoryEntryACColumnDescriptor())); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(RepoCols.repoEntry, new RepositoryEntryIconRenderer(getLocale()))); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, RepoCols.externalId));// visible if managed + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, RepoCols.externalRef)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(RepoCols.lifecycleLabel));// visible if lifecycle + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, RepoCols.lifecycleSoftKey)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(RepoCols.displayname, "select")); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, RepoCols.lifecycleStart, new DateFlexiCellRenderer(getLocale()))); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, RepoCols.lifecycleEnd, new DateFlexiCellRenderer(getLocale()))); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(RepoCols.author)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(RepoCols.access, new AccessRenderer())); + + tableModel = new RepositoryFlexiTableModel(columnsModel, getLocale()); + tableEl = uifactory.addTableElement(getWindowControl(), "table", tableModel, 20, false, getTranslator(), formLayout); + tableEl.setExportEnabled(true); + tableEl.setSelectAllEnable(true); + tableEl.setMultiSelect(true); + } + + private void loadModel() { + List<RepositoryEntry> entries = curriculumService.getRepositoryEntries(curriculumElement); + tableModel.setObjects(entries); + tableEl.reset(true, true, true); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void event(UserRequest ureq, Controller source, Event event) { + if(repoSearchCtr == source) { + if (event == ReferencableEntriesSearchController.EVENT_REPOSITORY_ENTRY_SELECTED) { + doAddRepositoryEntry(repoSearchCtr.getSelectedEntry()); + loadModel(); + } else if(event == ReferencableEntriesSearchController.EVENT_REPOSITORY_ENTRIES_SELECTED) { + doAddRepositoryEntry(repoSearchCtr.getSelectedEntries()); + loadModel(); + } + cmc.deactivate(); + cleanUp(); + } else if(cmc == source) { + cleanUp(); + } + super.event(ureq, source, event); + } + + private void cleanUp() { + removeAsListenerAndDispose(repoSearchCtr); + removeAsListenerAndDispose(cmc); + repoSearchCtr = null; + cmc = null; + } + + @Override + protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { + if(addResourcesButton == source) { + doChooseResources(ureq); + } + super.formInnerEvent(ureq, source, event); + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + private void doChooseResources(UserRequest ureq) { + if(repoSearchCtr != null) return; + + repoSearchCtr = new ReferencableEntriesSearchController(getWindowControl(), ureq, + new String[]{ CourseModule.getCourseTypeName() }, null, + translate("resources.add"), false, false, true, true, Can.referenceable); + listenTo(repoSearchCtr); + + cmc = new CloseableModalController(getWindowControl(), translate("close"), repoSearchCtr.getInitialComponent(), true, translate("add.resources")); + listenTo(cmc); + cmc.activate(); + } + + private void doAddRepositoryEntry(RepositoryEntry entry) { + doAddRepositoryEntry(Collections.singletonList(entry)); + curriculumService.addRepositoryEntry(curriculumElement, entry, false); + } + + private void doAddRepositoryEntry(List<RepositoryEntry> entries) { + for(RepositoryEntry entry:entries) { + curriculumService.addRepositoryEntry(curriculumElement, entry, false); + } + } +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementTypeRow.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementTypeRow.java new file mode 100644 index 0000000000000000000000000000000000000000..65317c815e7ddfe65ee62e76c538b1704405fa53 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementTypeRow.java @@ -0,0 +1,65 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import org.olat.core.gui.components.form.flexible.elements.FormLink; +import org.olat.modules.curriculum.CurriculumElementType; +import org.olat.modules.curriculum.CurriculumElementTypeRef; + +/** + * + * Initial date: 11 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumElementTypeRow implements CurriculumElementTypeRef { + + private FormLink toolsLink; + private final CurriculumElementType type; + + public CurriculumElementTypeRow(CurriculumElementType type) { + this.type = type; + } + + @Override + public Long getKey() { + return type.getKey(); + } + + public String getIdentifier() { + return type.getIdentifier(); + } + + public String getDisplayName() { + return type.getDisplayName(); + } + + public CurriculumElementType getType() { + return type; + } + + public FormLink getToolsLink() { + return toolsLink; + } + + public void setToolsLink(FormLink toolsLink) { + this.toolsLink = toolsLink; + } +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementTypesEditController.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementTypesEditController.java new file mode 100644 index 0000000000000000000000000000000000000000..6e6a5970caa24323449be60c156390b6ae58d7db --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementTypesEditController.java @@ -0,0 +1,326 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.form.flexible.FormItem; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; +import org.olat.core.gui.components.form.flexible.elements.FormLink; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.form.flexible.impl.FormEvent; +import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory; +import org.olat.core.gui.components.form.flexible.impl.elements.table.SelectionEvent; +import org.olat.core.gui.components.form.flexible.impl.elements.table.StaticFlexiCellRenderer; +import org.olat.core.gui.components.link.Link; +import org.olat.core.gui.components.link.LinkFactory; +import org.olat.core.gui.components.velocity.VelocityContainer; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.controller.BasicController; +import org.olat.core.gui.control.generic.closablewrapper.CloseableCalloutWindowController; +import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; +import org.olat.core.gui.control.generic.dtabs.Activateable2; +import org.olat.core.gui.control.generic.modal.DialogBoxController; +import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory; +import org.olat.core.id.context.ContextEntry; +import org.olat.core.id.context.StateEntry; +import org.olat.core.util.StringHelper; +import org.olat.modules.curriculum.CurriculumElementType; +import org.olat.modules.curriculum.CurriculumElementTypeManagedFlag; +import org.olat.modules.curriculum.CurriculumElementTypeRef; +import org.olat.modules.curriculum.CurriculumService; +import org.olat.modules.curriculum.ui.CurriculumElementTypesTableModel.TypesCols; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 11 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumElementTypesEditController extends FormBasicController implements Activateable2 { + + private FormLink addRootTypeButton; + private FlexiTableElement tableEl; + private CurriculumElementTypesTableModel model; + + private ToolsController toolsCtrl; + private CloseableModalController cmc; + private DialogBoxController confirmDeleteDialog; + private EditCurriculumElementTypeController rootElementTypeCtrl; + private EditCurriculumElementTypeController editElementTypeCtrl; + protected CloseableCalloutWindowController toolsCalloutCtrl; + + private int counter = 1; + + @Autowired + private CurriculumService curriculumService; + + public CurriculumElementTypesEditController(UserRequest ureq, WindowControl wControl) { + super(ureq, wControl, "admin_types"); + initForm(ureq); + loadModel(); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + addRootTypeButton = uifactory.addFormLink("add.root.type", formLayout, Link.BUTTON); + addRootTypeButton.setIconLeftCSS("o_icon o_icon-fw o_icon_add"); + + FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(TypesCols.identifier)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(TypesCols.displayName)); + DefaultFlexiColumnModel editColumn = new DefaultFlexiColumnModel("table.header.edit", -1, "edit", + new StaticFlexiCellRenderer("", "edit", "o_icon o_icon-lg o_icon_edit", translate("edit"))); + editColumn.setExportable(false); + columnsModel.addFlexiColumnModel(editColumn); + DefaultFlexiColumnModel toolsColumn = new DefaultFlexiColumnModel(TypesCols.tools); + toolsColumn.setExportable(false); + columnsModel.addFlexiColumnModel(toolsColumn); + + model = new CurriculumElementTypesTableModel(columnsModel); + tableEl = uifactory.addTableElement(getWindowControl(), "types", model, 25, false, getTranslator(), formLayout); + tableEl.setEmtpyTableMessageKey("table.type.empty"); + tableEl.setAndLoadPersistedPreferences(ureq, "cur-el-types"); + } + + private void loadModel() { + List<CurriculumElementType> types = curriculumService.getCurriculumElementTypes(); + List<CurriculumElementTypeRow> rows = types + .stream().map(t -> forgeRow(t)) + .collect(Collectors.toList()); + model.setObjects(rows); + tableEl.reset(false, true, true); + } + + private CurriculumElementTypeRow forgeRow(CurriculumElementType type) { + CurriculumElementTypeRow row = new CurriculumElementTypeRow(type); + if(isToolsEnable(type)) { + FormLink toolsLink = uifactory.addFormLink("tools_" + (++counter), "tools", "", null, null, Link.NONTRANSLATED); + toolsLink.setIconLeftCSS("o_icon o_icon_actions o_icon-lg"); + toolsLink.setUserObject(row); + row.setToolsLink(toolsLink); + } + return row; + } + + private boolean isToolsEnable(CurriculumElementType type) { + return !CurriculumElementTypeManagedFlag.isManaged(type.getManagedFlags(), CurriculumElementTypeManagedFlag.copy) + || !CurriculumElementTypeManagedFlag.isManaged(type.getManagedFlags(), CurriculumElementTypeManagedFlag.delete); + } + + @Override + protected void doDispose() { + // + } + + @Override + public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) { + if(entries == null || entries.isEmpty()) return; + } + + @Override + protected void event(UserRequest ureq, Controller source, Event event) { + if(rootElementTypeCtrl == source || editElementTypeCtrl == source) { + if(event == Event.DONE_EVENT) { + loadModel(); + } + cmc.deactivate(); + cleanUp(); + } else if(confirmDeleteDialog == source) { + if (DialogBoxUIFactory.isOkEvent(event) || DialogBoxUIFactory.isYesEvent(event)) { + CurriculumElementTypeRow row = (CurriculumElementTypeRow)confirmDeleteDialog.getUserObject(); + doDelete(row); + } + cleanUp(); + } else if(cmc == source) { + cleanUp(); + } + super.event(ureq, source, event); + } + + private void cleanUp() { + removeAsListenerAndDispose(rootElementTypeCtrl); + removeAsListenerAndDispose(cmc); + rootElementTypeCtrl = null; + cmc = null; + } + + @Override + protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { + if(addRootTypeButton == source) { + doAddRootType(ureq); + } else if (source instanceof FormLink) { + FormLink link = (FormLink)source; + String cmd = link.getCmd(); + if("tools".equals(cmd)) { + CurriculumElementTypeRow row = (CurriculumElementTypeRow)link.getUserObject(); + doOpenTools(ureq, row, link); + } + } else if(tableEl == source) { + if(event instanceof SelectionEvent) { + SelectionEvent se = (SelectionEvent)event; + String cmd = se.getCommand(); + if("edit".equals(cmd)) { + CurriculumElementTypeRow row = model.getObject(se.getIndex()); + doEditCurriculElementType(ureq, row.getType()); + } + } + } + super.formInnerEvent(ureq, source, event); + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + private void doOpenTools(UserRequest ureq, CurriculumElementTypeRow row, FormLink link) { + removeAsListenerAndDispose(toolsCtrl); + removeAsListenerAndDispose(toolsCalloutCtrl); + + CurriculumElementType type = curriculumService.getCurriculumElementType(row); + if(type == null) { + tableEl.reloadData(); + showWarning("warning.curriculum.element.type.deleted"); + } else { + toolsCtrl = new ToolsController(ureq, getWindowControl(), row, type); + listenTo(toolsCtrl); + + toolsCalloutCtrl = new CloseableCalloutWindowController(ureq, getWindowControl(), + toolsCtrl.getInitialComponent(), link.getFormDispatchId(), "", true, ""); + listenTo(toolsCalloutCtrl); + toolsCalloutCtrl.activate(); + } + } + + private void doAddRootType(UserRequest ureq) { + rootElementTypeCtrl = new EditCurriculumElementTypeController(ureq, getWindowControl(), null); + listenTo(rootElementTypeCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", rootElementTypeCtrl.getInitialComponent(), true, translate("add.root.type")); + listenTo(cmc); + cmc.activate(); + } + + private void doEditCurriculElementType(UserRequest ureq, CurriculumElementTypeRef type) { + CurriculumElementType reloadedType = curriculumService.getCurriculumElementType(type); + editElementTypeCtrl = new EditCurriculumElementTypeController(ureq, getWindowControl(), reloadedType); + listenTo(editElementTypeCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", editElementTypeCtrl.getInitialComponent(), true, translate("edit")); + listenTo(cmc); + cmc.activate(); + } + + private void doCopy(CurriculumElementTypeRow row) { + curriculumService.cloneCurriculumElementType(row); + loadModel(); + showInfo("info.copy.element.type.sucessfull", row.getDisplayName()); + } + + private void doConfirmDelete(UserRequest ureq, CurriculumElementTypeRow row) { + String[] args = new String[] { StringHelper.escapeHtml(row.getDisplayName()) }; + String title = translate("confirmation.delete.type.title", args); + String text = translate("confirmation.delete.type", args); + confirmDeleteDialog = activateOkCancelDialog(ureq, title, text, confirmDeleteDialog); + confirmDeleteDialog.setUserObject(row); + } + + private void doDelete(CurriculumElementTypeRow row) { + if(curriculumService.deleteCurriculumElementType(row)) { + showInfo("confirm.delete.element.type.sucessfull", row.getDisplayName()); + loadModel(); + tableEl.reset(true, true, true); + } else { + showWarning("warning.delete.element.type", row.getDisplayName()); + } + } + + private class ToolsController extends BasicController { + + private final CurriculumElementTypeRow row; + + private final VelocityContainer mainVC; + + public ToolsController(UserRequest ureq, WindowControl wControl, CurriculumElementTypeRow row, CurriculumElementType type) { + super(ureq, wControl); + setTranslator(CurriculumElementTypesEditController.this.getTranslator()); + this.row = row; + + mainVC = createVelocityContainer("tools"); + List<String> links = new ArrayList<>(); + + if(!CurriculumElementTypeManagedFlag.isManaged(type.getManagedFlags(), CurriculumElementTypeManagedFlag.copy)) { + addLink("details.copy", "copy", "o_icon o_icon-fw o_icon_copy", links); + } + if(!CurriculumElementTypeManagedFlag.isManaged(type.getManagedFlags(), CurriculumElementTypeManagedFlag.delete)) { + addLink("details.delete", "delete", "o_icon o_icon-fw o_icon_delete_item", links); + } + + mainVC.contextPut("links", links); + putInitialPanel(mainVC); + } + + private void addLink(String name, String cmd, String iconCSS, List<String> links) { + Link link = LinkFactory.createLink(name, cmd, getTranslator(), mainVC, this, Link.LINK); + if(iconCSS != null) { + link.setIconLeftCSS(iconCSS); + } + mainVC.put(name, link); + links.add(name); + } + + @Override + protected void event(UserRequest ureq, Component source, Event event) { + fireEvent(ureq, Event.DONE_EVENT); + if(source instanceof Link) { + Link link = (Link)source; + String cmd = link.getCommand(); + if("copy".equals(cmd)) { + close(); + doCopy(row); + } else if("delete".equals(cmd)) { + close(); + doConfirmDelete(ureq, row); + } + } + } + + private void close() { + toolsCalloutCtrl.deactivate(); + cleanUp(); + } + + @Override + protected void doDispose() { + // + } + } +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementTypesTableModel.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementTypesTableModel.java new file mode 100644 index 0000000000000000000000000000000000000000..3216d3cb034edb8c6c11df373bd8eca3a83825ec --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementTypesTableModel.java @@ -0,0 +1,98 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import java.util.List; + +import org.olat.core.commons.persistence.SortKey; +import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiTableDataModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiSortableColumnDef; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.SortableFlexiTableDataModel; + +/** + * + * Initial date: 11 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumElementTypesTableModel extends DefaultFlexiTableDataModel<CurriculumElementTypeRow> +implements SortableFlexiTableDataModel<CurriculumElementTypeRow> { + + public CurriculumElementTypesTableModel(FlexiTableColumnModel columnsModel) { + super(columnsModel); + } + + @Override + public void sort(SortKey orderBy) { + if(orderBy != null) { + List<CurriculumElementTypeRow> views = new CurriculumElementTypesTableModelSortDelegate(orderBy, this, null).sort(); + super.setObjects(views); + } + } + + @Override + public Object getValueAt(int row, int col) { + CurriculumElementTypeRow type = getObject(row); + return getValueAt(type, col); + } + + @Override + public Object getValueAt(CurriculumElementTypeRow row, int col) { + switch(TypesCols.values()[col]) { + case identifier: return row.getIdentifier(); + case displayName: return row.getDisplayName(); + case tools: return row.getToolsLink(); + default: return null; + } + } + + @Override + public DefaultFlexiTableDataModel<CurriculumElementTypeRow> createCopyWithEmptyList() { + return new CurriculumElementTypesTableModel(getTableColumnModel()); + } + + public enum TypesCols implements FlexiSortableColumnDef { + identifier("table.header.type.identifier"), + displayName("table.header.type.displayName"), + tools("table.header.tools"); + + private final String i18nHeaderKey; + + private TypesCols(String i18nHeaderKey) { + this.i18nHeaderKey = i18nHeaderKey; + } + + @Override + public boolean sortable() { + return true; + } + + @Override + public String sortKey() { + return name(); + } + + @Override + public String i18nHeaderKey() { + return i18nHeaderKey; + } + } +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementTypesTableModelSortDelegate.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementTypesTableModelSortDelegate.java new file mode 100644 index 0000000000000000000000000000000000000000..a4546b126315e074cd767ccdc8df1febf9a6638b --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementTypesTableModelSortDelegate.java @@ -0,0 +1,38 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import java.util.Locale; + +import org.olat.core.commons.persistence.SortKey; +import org.olat.core.gui.components.form.flexible.impl.elements.table.SortableFlexiTableModelDelegate; + +/** + * + * Initial date: 11 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumElementTypesTableModelSortDelegate extends SortableFlexiTableModelDelegate<CurriculumElementTypeRow> { + + public CurriculumElementTypesTableModelSortDelegate(SortKey orderBy, CurriculumElementTypesTableModel tableModel, Locale locale) { + super(orderBy, tableModel, locale); + } +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementUserManagementController.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementUserManagementController.java new file mode 100644 index 0000000000000000000000000000000000000000..10c764bcf21342a938edaa6c42866e916b6f354b --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementUserManagementController.java @@ -0,0 +1,280 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +import org.olat.admin.user.UserSearchController; +import org.olat.admin.user.UserTableDataModel; +import org.olat.basesecurity.BaseSecurityModule; +import org.olat.basesecurity.events.MultiIdentityChosenEvent; +import org.olat.basesecurity.events.SingleIdentityChosenEvent; +import org.olat.basesecurity.model.IdentityRefImpl; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.form.flexible.FormItem; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; +import org.olat.core.gui.components.form.flexible.elements.FormLink; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.form.flexible.impl.FormEvent; +import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory; +import org.olat.core.gui.components.link.Link; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.generic.closablewrapper.CloseableCalloutWindowController; +import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; +import org.olat.core.gui.control.generic.modal.DialogBoxController; +import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory; +import org.olat.core.id.Identity; +import org.olat.modules.curriculum.CurriculumElement; +import org.olat.modules.curriculum.CurriculumElementManagedFlag; +import org.olat.modules.curriculum.CurriculumRoles; +import org.olat.modules.curriculum.CurriculumService; +import org.olat.modules.curriculum.model.CurriculumElementMember; +import org.olat.modules.curriculum.ui.CurriculumUserManagementTableModel.MemberCols; +import org.olat.modules.curriculum.ui.event.RoleEvent; +import org.olat.user.UserManager; +import org.olat.user.propertyhandlers.UserPropertyHandler; +import org.olat.user.ui.organisation.component.RoleFlexiCellRenderer; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 9 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumElementUserManagementController extends FormBasicController { + + public static final int USER_PROPS_OFFSET = 500; + public static final String usageIdentifyer = UserTableDataModel.class.getCanonicalName(); + + private FlexiTableElement tableEl; + private FormLink addMemberButton; + private FormLink removeMembershipButton; + private CurriculumUserManagementTableModel tableModel; + + private CloseableModalController cmc; + private UserSearchController userSearchCtrl; + private DialogBoxController confirmRemoveCtrl; + + private RoleListController roleListCtrl; + private CloseableCalloutWindowController calloutCtrl; + + private final CurriculumElement curriculumElement; + private final boolean membersManaged; + private final boolean isAdministrativeUser; + private final List<UserPropertyHandler> userPropertyHandlers; + + @Autowired + private UserManager userManager; + @Autowired + private BaseSecurityModule securityModule; + @Autowired + private CurriculumService curriculumService; + + + public CurriculumElementUserManagementController(UserRequest ureq, WindowControl wControl, CurriculumElement curriculumElement) { + super(ureq, wControl, "curriculum_element_user_mgmt"); + setTranslator(userManager.getPropertyHandlerTranslator(getTranslator())); + + this.curriculumElement = curriculumElement; + + isAdministrativeUser = securityModule.isUserAllowedAdminProps(ureq.getUserSession().getRoles()); + userPropertyHandlers = userManager.getUserPropertyHandlersFor(usageIdentifyer, isAdministrativeUser); + + membersManaged = CurriculumElementManagedFlag.isManaged(curriculumElement, CurriculumElementManagedFlag.members); + + + initForm(ureq); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + if(!membersManaged) { + addMemberButton = uifactory.addFormLink("add.member", formLayout, Link.BUTTON); + addMemberButton.setIconLeftCSS("o_icon o_icon-fw o_icon_add_member"); + addMemberButton.setIconRightCSS("o_icon o_icon_caret"); + + removeMembershipButton = uifactory.addFormLink("remove.memberships", formLayout, Link.BUTTON); + } + + FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); + if(isAdministrativeUser) { + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(MemberCols.username)); + } + + int colIndex = USER_PROPS_OFFSET; + for (int i = 0; i < userPropertyHandlers.size(); i++) { + UserPropertyHandler userPropertyHandler = userPropertyHandlers.get(i); + boolean visible = userManager.isMandatoryUserProperty(usageIdentifyer , userPropertyHandler); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(visible, userPropertyHandler.i18nColumnDescriptorLabelKey(), colIndex, null, true, "userProp-" + colIndex)); + colIndex++; + } + + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(MemberCols.role, new RoleFlexiCellRenderer(getTranslator()))); + + tableModel = new CurriculumUserManagementTableModel(columnsModel); + tableEl = uifactory.addTableElement(getWindowControl(), "table", tableModel, 20, false, getTranslator(), formLayout); + tableEl.setExportEnabled(true); + tableEl.setSelectAllEnable(true); + tableEl.setMultiSelect(true); + } + + private void loadModel(boolean reset) { + List<CurriculumElementMember> members = curriculumService.getMembers(curriculumElement); + List<CurriculumElementUserRow> rows = new ArrayList<>(members.size()); + for(CurriculumElementMember member:members) { + rows.add(new CurriculumElementUserRow(member, userPropertyHandlers, getLocale())); + } + tableModel.setObjects(rows); + tableEl.reset(reset, reset, true); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void event(UserRequest ureq, Controller source, Event event) { + if(confirmRemoveCtrl == source) { + if (DialogBoxUIFactory.isYesEvent(event) || DialogBoxUIFactory.isOkEvent(event)) { + @SuppressWarnings("unchecked") + List<CurriculumElementUserRow> rows = (List<CurriculumElementUserRow>)confirmRemoveCtrl.getUserObject(); + doRemove(rows); + } + } else if(userSearchCtrl == source) { + if (event instanceof SingleIdentityChosenEvent) { + SingleIdentityChosenEvent singleEvent = (SingleIdentityChosenEvent)event; + Identity choosenIdentity = singleEvent.getChosenIdentity(); + if (choosenIdentity != null) { + List<Identity> toAdd = Collections.singletonList(choosenIdentity); + doAddMember(toAdd, (CurriculumRoles)userSearchCtrl.getUserObject()); + } + } else if (event instanceof MultiIdentityChosenEvent) { + MultiIdentityChosenEvent multiEvent = (MultiIdentityChosenEvent)event; + if(!multiEvent.getChosenIdentities().isEmpty()) { + doAddMember(multiEvent.getChosenIdentities(), (CurriculumRoles)userSearchCtrl.getUserObject()); + } + } + cmc.deactivate(); + cleanUp(); + } else if(roleListCtrl == source) { + calloutCtrl.deactivate(); + cleanUp(); + if(event instanceof RoleEvent) { + RoleEvent re = (RoleEvent)event; + doSearchMember(ureq, re.getRole()); + } + } else if(cmc == source || calloutCtrl == source) { + cleanUp(); + } + super.event(ureq, source, event); + } + + private void cleanUp() { + removeAsListenerAndDispose(confirmRemoveCtrl); + removeAsListenerAndDispose(userSearchCtrl); + removeAsListenerAndDispose(calloutCtrl); + removeAsListenerAndDispose(cmc); + confirmRemoveCtrl = null; + userSearchCtrl = null; + calloutCtrl = null; + cmc = null; + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + @Override + protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { + if(addMemberButton == source) { + doRolleCallout(ureq); + } else if(removeMembershipButton == source) { + doConfirmRemoveAllMemberships(ureq); + } + super.formInnerEvent(ureq, source, event); + } + + private void doConfirmRemoveAllMemberships(UserRequest ureq) { + Set<Integer> selectedRows = tableEl.getMultiSelectedIndex(); + if(selectedRows.isEmpty()) { + showWarning("warning.atleastone.member"); + } else { + List<CurriculumElementUserRow> rows = new ArrayList<>(selectedRows.size()); + for(Integer selectedRow:selectedRows) { + rows.add(tableModel.getObject(selectedRow.intValue())); + } + String title = translate("confirm.remove.title"); + confirmRemoveCtrl = activateYesNoDialog(ureq, title, translate("confirm.remove.text", ""), confirmRemoveCtrl); + confirmRemoveCtrl.setUserObject(rows); + } + } + + private void doRemove(List<CurriculumElementUserRow> membersToRemove) { + for(CurriculumElementUserRow memberToRemove:membersToRemove) { + curriculumService.removeMember(curriculumElement, new IdentityRefImpl(memberToRemove.getIdentityKey())); + } + loadModel(true); + } + + private void doRolleCallout(UserRequest ureq) { + removeAsListenerAndDispose(calloutCtrl); + removeAsListenerAndDispose(roleListCtrl); + + String title = translate("add.member"); + roleListCtrl = new RoleListController(ureq, getWindowControl(), CurriculumRoles.values()); + listenTo(roleListCtrl); + + calloutCtrl = new CloseableCalloutWindowController(ureq, getWindowControl(), roleListCtrl.getInitialComponent(), addMemberButton, title, true, null); + listenTo(calloutCtrl); + calloutCtrl.activate(); + } + + private void doSearchMember(UserRequest ureq, CurriculumRoles role) { + if(userSearchCtrl != null) return; + + userSearchCtrl = new UserSearchController(ureq, getWindowControl(), true, true, false); + userSearchCtrl.setUserObject(role); + listenTo(userSearchCtrl); + + String title = translate("add.member.role", new String[] { translate(role.name()) }); + cmc = new CloseableModalController(getWindowControl(), translate("close"), userSearchCtrl.getInitialComponent(), true, title); + listenTo(cmc); + cmc.activate(); + } + + private void doAddMember(List<Identity> identitiesToAdd, CurriculumRoles role) { + for(Identity identityToAdd:identitiesToAdd) { + curriculumService.addMember(curriculumElement, identityToAdd, role); + } + loadModel(true); + } + +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementUserRow.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementUserRow.java new file mode 100644 index 0000000000000000000000000000000000000000..4be34ce2d7f0395be39877427d64acf12d659b25 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumElementUserRow.java @@ -0,0 +1,56 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import java.util.List; +import java.util.Locale; + +import org.olat.basesecurity.GroupMembershipInheritance; +import org.olat.modules.curriculum.model.CurriculumElementMember; +import org.olat.user.UserPropertiesRow; +import org.olat.user.propertyhandlers.UserPropertyHandler; + +/** + * + * Initial date: 9 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumElementUserRow extends UserPropertiesRow { + + private final String role; + private final GroupMembershipInheritance inheritanceMode; + + public CurriculumElementUserRow(CurriculumElementMember member, List<UserPropertyHandler> userPropertyHandlers, Locale locale) { + super(member.getIdentity(), userPropertyHandlers, locale); + role = member.getRole(); + inheritanceMode = member.getInheritanceMode(); + } + + public String getRole() { + return role; + } + + public GroupMembershipInheritance getInheritanceMode() { + return inheritanceMode; + } + + +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumListController.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumListController.java new file mode 100644 index 0000000000000000000000000000000000000000..768448fa0ae26a3ec232fd985e7cfd5f965b493c --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumListController.java @@ -0,0 +1,137 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import java.util.List; +import java.util.stream.Collectors; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.form.flexible.FormItem; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.form.flexible.impl.FormEvent; +import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory; +import org.olat.core.gui.components.form.flexible.impl.elements.table.SelectionEvent; +import org.olat.core.gui.components.stack.BreadcrumbedStackedPanel; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.generic.dtabs.Activateable2; +import org.olat.core.id.context.ContextEntry; +import org.olat.core.id.context.StateEntry; +import org.olat.modules.curriculum.Curriculum; +import org.olat.modules.curriculum.CurriculumService; +import org.olat.modules.curriculum.model.CurriculumSearchParameters; +import org.olat.modules.curriculum.ui.CurriculumManagerDataModel.CurriculumCols; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 11 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumListController extends FormBasicController implements Activateable2 { + + private FlexiTableElement tableEl; + private CurriculumManagerDataModel tableModel; + + private final BreadcrumbedStackedPanel stackPanel; + + private CurriculumElementListController elementlistCtrl; + + @Autowired + private CurriculumService curriculumService; + + public CurriculumListController(UserRequest ureq, WindowControl wControl, BreadcrumbedStackedPanel stackPanel) { + super(ureq, wControl, "curriculum_list"); + this.stackPanel = stackPanel; + + initForm(ureq); + loadModel(); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, CurriculumCols.key)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(CurriculumCols.displayName, "select")); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(CurriculumCols.identifier, "select")); + DefaultFlexiColumnModel toolsCol = new DefaultFlexiColumnModel(CurriculumCols.tools); + toolsCol.setExportable(false); + toolsCol.setAlwaysVisible(true); + columnsModel.addFlexiColumnModel(toolsCol); + + tableModel = new CurriculumManagerDataModel(columnsModel); + tableEl = uifactory.addTableElement(getWindowControl(), "table", tableModel, 20, false, getTranslator(), formLayout); + tableEl.setCustomizeColumns(true); + tableEl.setEmtpyTableMessageKey("table.curriculum.empty"); + tableEl.setAndLoadPersistedPreferences(ureq, "cur-curriculum-list"); + } + + private void loadModel() { + CurriculumSearchParameters params = new CurriculumSearchParameters(); + List<Curriculum> curriculums = curriculumService.getCurriculums(params); + List<CurriculumRow> rows = curriculums.stream() + .map(curriculum -> new CurriculumRow(curriculum, null)).collect(Collectors.toList()); + tableModel.setObjects(rows); + tableEl.reset(false, false, true); + } + + @Override + protected void doDispose() { + // + } + + + @Override + public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) { + // + } + + @Override + protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { + if(tableEl == source) { + if(event instanceof SelectionEvent) { + SelectionEvent se = (SelectionEvent)event; + String cmd = se.getCommand(); + if("select".equals(cmd)) { + CurriculumRow row = tableModel.getObject(se.getIndex()); + doSelectCurriculum(ureq, row); + } + } + } + super.formInnerEvent(ureq, source, event); + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + private void doSelectCurriculum(UserRequest ureq, CurriculumRow row) { + elementlistCtrl = new CurriculumElementListController(ureq, getWindowControl(), row); + listenTo(elementlistCtrl); + stackPanel.pushController(row.getDisplayName(), elementlistCtrl); + } + +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumTreeModel.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumTreeModel.java new file mode 100644 index 0000000000000000000000000000000000000000..4bd5b926e3690e81624d78aaef0bf22daa2c5d75 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumTreeModel.java @@ -0,0 +1,87 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.olat.core.gui.components.tree.GenericTreeModel; +import org.olat.core.gui.components.tree.GenericTreeNode; +import org.olat.modules.curriculum.CurriculumElement; +import org.olat.modules.curriculum.CurriculumElementRef; + +/** + * + * Initial date: 11 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumTreeModel extends GenericTreeModel { + + private static final long serialVersionUID = 2911319509933144413L; + + public static final String LEVEL_PREFIX = "cur-el-lev-"; + + public CurriculumTreeModel() { + GenericTreeNode root = new GenericTreeNode(); + root.setTitle("ROOT"); + setRootNode(root); + } + + public void loadTreeModel(List<CurriculumElement> elements) { + Map<Long,GenericTreeNode> fieldKeyToNode = new HashMap<>(); + for(CurriculumElement element:elements) { + Long key = element.getKey(); + GenericTreeNode node = fieldKeyToNode.computeIfAbsent(key, k -> { + GenericTreeNode newNode = new GenericTreeNode(nodeKey(element)); + newNode.setTitle(element.getDisplayName()); + newNode.setIconCssClass("o_icon_curriculum_element"); + newNode.setUserObject(element); + return newNode; + }); + + CurriculumElement parentElement = element.getParent(); + if(parentElement == null) { + //this is a root + getRootNode().addChild(node); + } else { + Long parentKey = parentElement.getKey(); + GenericTreeNode parentNode = fieldKeyToNode.computeIfAbsent(parentKey, k -> { + GenericTreeNode newNode = new GenericTreeNode(nodeKey(parentElement)); + newNode.setTitle(parentElement.getDisplayName()); + newNode.setIconCssClass("o_icon_curriculum_element"); + newNode.setUserObject(parentElement); + return newNode; + }); + + if(parentNode == null) { + fieldKeyToNode.put(parentKey, parentNode); + } else { + parentNode.addChild(node); + } + } + } + } + + public static final String nodeKey(CurriculumElementRef element) { + return LEVEL_PREFIX + element.getKey(); + } +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/CurriculumUserManagementTableModel.java b/src/main/java/org/olat/modules/curriculum/ui/CurriculumUserManagementTableModel.java new file mode 100644 index 0000000000000000000000000000000000000000..249d91fc5b83b2378b917fe76b25432c77facc6e --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/CurriculumUserManagementTableModel.java @@ -0,0 +1,96 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import org.olat.core.commons.persistence.SortKey; +import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiTableDataModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiSortableColumnDef; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.SortableFlexiTableDataModel; + +/** + * + * Initial date: 15 mars 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumUserManagementTableModel extends DefaultFlexiTableDataModel<CurriculumElementUserRow> +implements SortableFlexiTableDataModel<CurriculumElementUserRow> { + + public CurriculumUserManagementTableModel(FlexiTableColumnModel columnModel) { + super(columnModel); + } + + @Override + public void sort(SortKey sortKey) { + // + } + + @Override + public Object getValueAt(int row, int col) { + CurriculumElementUserRow member = getObject(row); + return getValueAt(member, col); + } + + @Override + public Object getValueAt(CurriculumElementUserRow row, int col) { + if(col >= 0 && col < MemberCols.values().length) { + switch(MemberCols.values()[col]) { + case username: return row.getIdentityName(); + case role: return row.getRole(); + default : return "ERROR"; + } + } + + int propPos = col - CurriculumElementUserManagementController.USER_PROPS_OFFSET; + return row.getIdentityProp(propPos); + } + + @Override + public DefaultFlexiTableDataModel<CurriculumElementUserRow> createCopyWithEmptyList() { + return new CurriculumUserManagementTableModel(getTableColumnModel()); + } + + public enum MemberCols implements FlexiSortableColumnDef { + username("table.header.username"), + role("table.header.role"); + + private final String i18nKey; + + private MemberCols(String i18nKey) { + this.i18nKey = i18nKey; + } + + @Override + public String i18nHeaderKey() { + return i18nKey; + } + + @Override + public boolean sortable() { + return true; + } + + @Override + public String sortKey() { + return name(); + } + } +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumElementController.java b/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumElementController.java index 6e4d419b5b494369c47d6ea7bb268eb56724d999..c7954aebd4013c58a9346b4b28c6c36c8235e72c 100644 --- a/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumElementController.java +++ b/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumElementController.java @@ -19,9 +19,16 @@ */ package org.olat.modules.curriculum.ui; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Set; + import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.DateChooser; import org.olat.core.gui.components.form.flexible.elements.RichTextElement; +import org.olat.core.gui.components.form.flexible.elements.SingleSelection; import org.olat.core.gui.components.form.flexible.elements.TextElement; import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; @@ -32,7 +39,10 @@ import org.olat.core.util.StringHelper; import org.olat.modules.curriculum.Curriculum; import org.olat.modules.curriculum.CurriculumElement; import org.olat.modules.curriculum.CurriculumElementManagedFlag; +import org.olat.modules.curriculum.CurriculumElementType; +import org.olat.modules.curriculum.CurriculumElementTypeToType; import org.olat.modules.curriculum.CurriculumService; +import org.olat.modules.curriculum.model.CurriculumElementTypeRefImpl; import org.springframework.beans.factory.annotation.Autowired; /** @@ -43,9 +53,14 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class EditCurriculumElementController extends FormBasicController { - private RichTextElement descriptionEl; + private DateChooser endEl; + private DateChooser beginEl; private TextElement identifierEl; private TextElement displayNameEl; + private RichTextElement descriptionEl; + + + private SingleSelection curriculumElementTypeEl; private Curriculum curriculum; private CurriculumElement element; @@ -61,17 +76,19 @@ public class EditCurriculumElementController extends FormBasicController { * @param wControl The window control */ public EditCurriculumElementController(UserRequest ureq, WindowControl wControl, - Curriculum curriculum) { + CurriculumElement parentElement, Curriculum curriculum) { super(ureq, wControl); this.curriculum = curriculum; + this.parentElement = parentElement; initForm(ureq); } public EditCurriculumElementController(UserRequest ureq, WindowControl wControl, - CurriculumElement element, Curriculum curriculum) { + CurriculumElement element, CurriculumElement parentElement, Curriculum curriculum) { super(ureq, wControl); this.curriculum = curriculum; this.element = element; + this.parentElement = parentElement; initForm(ureq); } @@ -97,25 +114,96 @@ public class EditCurriculumElementController extends FormBasicController { } String identifier = element == null ? "" : element.getIdentifier(); - identifierEl = uifactory.addTextElement("curriculum.identifier", "curriculum.identifier", 255, identifier, formLayout); + identifierEl = uifactory.addTextElement("identifier", "curriculum.element.identifier", 255, identifier, formLayout); identifierEl.setEnabled(!CurriculumElementManagedFlag.isManaged(element, CurriculumElementManagedFlag.identifier)); identifierEl.setMandatory(true); String displayName = element == null ? "" : element.getDisplayName(); - displayNameEl = uifactory.addTextElement("curriculum.displayName", "curriculum.displayName", 255, displayName, formLayout); + displayNameEl = uifactory.addTextElement("displayName", "curriculum.element.displayName", 255, displayName, formLayout); displayNameEl.setEnabled(!CurriculumElementManagedFlag.isManaged(element, CurriculumElementManagedFlag.displayName)); displayNameEl.setMandatory(true); + List<CurriculumElementType> types = getTypes(); + String[] typeKeys = new String[types.size() + 1]; + String[] typeValues = new String[types.size() + 1]; + typeKeys[0] = ""; + typeValues[0] = "-"; + for(int i=types.size(); i-->0; ) { + typeKeys[i+1] = types.get(i).getKey().toString(); + typeValues[i+1] = types.get(i).getDisplayName(); + } + curriculumElementTypeEl = uifactory.addDropdownSingleselect("type", "curriculum.element.type", formLayout, typeKeys, typeValues, null); + curriculumElementTypeEl.setEnabled(!CurriculumElementManagedFlag.isManaged(element, CurriculumElementManagedFlag.type)); + boolean typeFound = false; + if(element != null && element.getType() != null) { + String selectedTypeKey = element.getType().getKey().toString(); + for(String typeKey:typeKeys) { + if(typeKey.equals(selectedTypeKey)) { + curriculumElementTypeEl.select(selectedTypeKey, true); + typeFound = true; + break; + } + } + } + if(!typeFound) { + curriculumElementTypeEl.select(typeKeys[0], true); + } + + Date begin = element == null ? null : element.getBeginDate(); + beginEl = uifactory.addDateChooser("start", "curriculum.element.begin", begin, formLayout); + beginEl.setEnabled(!CurriculumElementManagedFlag.isManaged(element, CurriculumElementManagedFlag.dates)); + + Date end = element == null ? null : element.getEndDate(); + endEl = uifactory.addDateChooser("start", "curriculum.element.end", end, formLayout); + endEl.setEnabled(!CurriculumElementManagedFlag.isManaged(element, CurriculumElementManagedFlag.dates)); + String description = element == null ? "" : element.getDescription(); descriptionEl = uifactory.addRichTextElementForStringDataCompact("curriculum.description", "curriculum.description", description, 10, 60, null, formLayout, ureq.getUserSession(), getWindowControl()); descriptionEl.setEnabled(!CurriculumElementManagedFlag.isManaged(element, CurriculumElementManagedFlag.description)); - + FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator()); formLayout.add(buttonsCont); uifactory.addFormCancelButton("cancel", buttonsCont, ureq, getWindowControl()); uifactory.addFormSubmitButton("save", buttonsCont); } + + private List<CurriculumElementType> getTypes() { + List<CurriculumElementType> types; + if(element != null) { + types = getTypes(element); + } else if(parentElement != null) { + types = getTypes(parentElement); + } else { + types = new ArrayList<>(); + } + + if(types.isEmpty()) { + types.addAll(curriculumService.getCurriculumElementTypes()); + } else if(element != null && element.getType() != null && !types.contains(element.getType())) { + types.add(element.getType()); + } + return types; + } + + private List<CurriculumElementType> getTypes(CurriculumElement curriculumElement) { + List<CurriculumElementType> types = new ArrayList<>(); + List<CurriculumElement> parentLine = curriculumService.getCurriculumElementParentLine(curriculumElement); + for(int i=parentLine.size() - 1; i-->0; ) { + CurriculumElement parent = parentLine.get(i); + CurriculumElementType parentType = parent.getType(); + if(parentType != null) { + Set<CurriculumElementTypeToType> typeToTypes = parentType.getAllowedSubTypes(); + for(CurriculumElementTypeToType typeToType:typeToTypes) { + if(typeToType != null) { + types.add(typeToType.getAllowedSubType()); + } + } + break; + } + } + return types; + } @Override protected void doDispose() { @@ -124,7 +212,7 @@ public class EditCurriculumElementController extends FormBasicController { @Override protected boolean validateFormLogic(UserRequest ureq) { - boolean allOk = true; + boolean allOk = super.validateFormLogic(ureq); displayNameEl.clearError(); if(!StringHelper.containsNonWhitespace(displayNameEl.getValue())) { @@ -138,20 +226,30 @@ public class EditCurriculumElementController extends FormBasicController { allOk &= false; } - return allOk & super.validateFormLogic(ureq); + return allOk; } @Override protected void formOK(UserRequest ureq) { + CurriculumElementType elementType = null; + String selectedTypeKey = curriculumElementTypeEl.getSelectedKey(); + if(StringHelper.containsNonWhitespace(selectedTypeKey)) { + elementType = curriculumService + .getCurriculumElementType(new CurriculumElementTypeRefImpl(new Long(selectedTypeKey))); + } + if(element == null) { //create a new one - element = curriculumService - .createCurriculumElement(identifierEl.getValue(), displayNameEl.getValue(), parentElement, curriculum); + element = curriculumService.createCurriculumElement(identifierEl.getValue(), displayNameEl.getValue(), + beginEl.getDate(), endEl.getDate(), parentElement, elementType, curriculum); } else { element = curriculumService.getCurriculumElement(element); element.setIdentifier(identifierEl.getValue()); element.setDisplayName(displayNameEl.getValue()); element.setDescription(descriptionEl.getValue()); + element.setBeginDate(beginEl.getDate()); + element.setEndDate(endEl.getDate()); + element.setType(elementType); element = curriculumService.updateCurriculumElement(element); } diff --git a/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumElementOverviewController.java b/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumElementOverviewController.java index 1270379cdf8e31584c708c666cebee2b37f2f74d..c788ac2435f3f1d7d8a987fdf365c0aa95e0931b 100644 --- a/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumElementOverviewController.java +++ b/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumElementOverviewController.java @@ -40,14 +40,14 @@ public class EditCurriculumElementOverviewController extends BasicController { private TabbedPane tabPane; private EditCurriculumElementController metadataCtrl; + private CurriculumElementResourceListController resourcesCtrl; + private CurriculumElementUserManagementController userManagementCtrl; - private Curriculum curriculum; private CurriculumElement element; public EditCurriculumElementOverviewController(UserRequest ureq, WindowControl wControl, CurriculumElement element, Curriculum curriculum) { super(ureq, wControl); - this.curriculum = curriculum; this.element = element; VelocityContainer mainVC = createVelocityContainer("curriculum_element_overview"); @@ -55,7 +55,7 @@ public class EditCurriculumElementOverviewController extends BasicController { tabPane = new TabbedPane("tabs", getLocale()); tabPane.addListener(this); - metadataCtrl = new EditCurriculumElementController(ureq, getWindowControl(), element, curriculum); + metadataCtrl = new EditCurriculumElementController(ureq, getWindowControl(), element, element.getParent(), curriculum); listenTo(metadataCtrl); tabPane.addTab(translate("curriculum.element.metadata"), metadataCtrl); initTabPane(); @@ -66,9 +66,17 @@ public class EditCurriculumElementOverviewController extends BasicController { } private void initTabPane() { + tabPane.addTab(translate("tab.resources"), uureq -> { + resourcesCtrl = new CurriculumElementResourceListController(uureq, getWindowControl(), element); + listenTo(resourcesCtrl); + return resourcesCtrl.getInitialComponent(); + }); - - + tabPane.addTab(translate("tab.user.management"), uureq -> { + userManagementCtrl = new CurriculumElementUserManagementController(uureq, getWindowControl(), element); + listenTo(userManagementCtrl); + return userManagementCtrl.getInitialComponent(); + }); } @Override diff --git a/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumElementTypeController.java b/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumElementTypeController.java new file mode 100644 index 0000000000000000000000000000000000000000..5a9ba1aedf86793592d0bda291d44fa9f96b4382 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumElementTypeController.java @@ -0,0 +1,164 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Set; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement; +import org.olat.core.gui.components.form.flexible.elements.RichTextElement; +import org.olat.core.gui.components.form.flexible.elements.TextElement; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.util.StringHelper; +import org.olat.modules.curriculum.CurriculumElementType; +import org.olat.modules.curriculum.CurriculumElementTypeManagedFlag; +import org.olat.modules.curriculum.CurriculumElementTypeToType; +import org.olat.modules.curriculum.CurriculumService; +import org.olat.modules.curriculum.model.CurriculumElementTypeRefImpl; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 11 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class EditCurriculumElementTypeController extends FormBasicController { + + private TextElement identifierEl; + private TextElement displayNameEl; + private RichTextElement descriptionEl; + private MultipleSelectionElement allowedSubTypesEl; + + private CurriculumElementType curriculumElementType; + + @Autowired + private CurriculumService curriculumService; + + public EditCurriculumElementTypeController(UserRequest ureq, WindowControl wControl, CurriculumElementType curriculumElementType) { + super(ureq, wControl); + this.curriculumElementType = curriculumElementType; + initForm(ureq); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + String identifier = curriculumElementType == null ? "" : curriculumElementType.getIdentifier(); + identifierEl = uifactory.addTextElement("type.identifier", "type.identifier", 255, identifier, formLayout); + identifierEl.setEnabled(!CurriculumElementTypeManagedFlag.isManaged(curriculumElementType, CurriculumElementTypeManagedFlag.identifier)); + identifierEl.setMandatory(true); + if(!StringHelper.containsNonWhitespace(identifier)) { + identifierEl.setFocus(true); + } + + String displayName = curriculumElementType == null ? "" : curriculumElementType.getDisplayName(); + displayNameEl = uifactory.addTextElement("type.displayname", "type.displayname", 255, displayName, formLayout); + displayNameEl.setEnabled(!CurriculumElementTypeManagedFlag.isManaged(curriculumElementType, CurriculumElementTypeManagedFlag.displayName)); + displayNameEl.setMandatory(true); + + String description = curriculumElementType == null ? "" : curriculumElementType.getDescription(); + descriptionEl = uifactory.addRichTextElementForStringDataMinimalistic("type.description", "type.description", description, 10, 60, + formLayout, getWindowControl()); + descriptionEl.setEnabled(!CurriculumElementTypeManagedFlag.isManaged(curriculumElementType, CurriculumElementTypeManagedFlag.description)); + + List<CurriculumElementType> types = curriculumService.getCurriculumElementTypes(); + types.remove(curriculumElementType); + + String[] subTypeKeys = new String[types.size()]; + String[] subTypeValues = new String[types.size()]; + for(int i=types.size(); i-->0; ) { + subTypeKeys[i] = types.get(i).getKey().toString(); + subTypeValues[i] = types.get(i).getDisplayName(); + } + allowedSubTypesEl = uifactory.addCheckboxesVertical("type.allowed.sub.types", formLayout, subTypeKeys, subTypeValues, 2); + allowedSubTypesEl.setEnabled(!CurriculumElementTypeManagedFlag.isManaged(curriculumElementType, CurriculumElementTypeManagedFlag.subTypes)); + if(curriculumElementType != null) { + Set<CurriculumElementTypeToType> typeToTypes = curriculumElementType.getAllowedSubTypes(); + for(CurriculumElementTypeToType typeToType:typeToTypes) { + String subTypeKey = typeToType.getAllowedSubType().getKey().toString(); + allowedSubTypesEl.select(subTypeKey, true); + } + } + + FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator()); + formLayout.add(buttonsCont); + uifactory.addFormCancelButton("cancel", buttonsCont, ureq, getWindowControl()); + uifactory.addFormSubmitButton("save", buttonsCont); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected boolean validateFormLogic(UserRequest ureq) { + boolean allOk = true; + + displayNameEl.clearError(); + if(!StringHelper.containsNonWhitespace(displayNameEl.getValue())) { + displayNameEl.setErrorKey("form.legende.mandatory", null); + allOk &= false; + } + + identifierEl.clearError(); + if(!StringHelper.containsNonWhitespace(identifierEl.getValue())) { + identifierEl.setErrorKey("form.legende.mandatory", null); + allOk &= false; + } + + return allOk & super.validateFormLogic(ureq); + } + + @Override + protected void formOK(UserRequest ureq) { + if(curriculumElementType == null) { + curriculumElementType = curriculumService.createCurriculumElementType(identifierEl.getValue(), displayNameEl.getValue(), + descriptionEl.getValue(), null); + } else { + curriculumElementType = curriculumService.getCurriculumElementType(curriculumElementType); + curriculumElementType.setIdentifier(identifierEl.getValue()); + curriculumElementType.setDisplayName(displayNameEl.getValue()); + curriculumElementType.setDescription(descriptionEl.getValue()); + } + + Collection<String> selectedAllowedSubTypeKeys = allowedSubTypesEl.getSelectedKeys(); + List<CurriculumElementType> allowedSubTypes = new ArrayList<>(); + for(String selectedAllowedSubTypeKey:selectedAllowedSubTypeKeys) { + allowedSubTypes.add(curriculumService.getCurriculumElementType(new CurriculumElementTypeRefImpl(new Long(selectedAllowedSubTypeKey)))); + } + curriculumElementType = curriculumService.updateCurriculumElementType(curriculumElementType, allowedSubTypes); + + fireEvent(ureq, Event.DONE_EVENT); + } + + @Override + protected void formCancelled(UserRequest ureq) { + fireEvent(ureq, Event.CANCELLED_EVENT); + } +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/MoveCurriculumElementController.java b/src/main/java/org/olat/modules/curriculum/ui/MoveCurriculumElementController.java new file mode 100644 index 0000000000000000000000000000000000000000..8a1b5d6ea65326045473520826a5d0e536af8c82 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/MoveCurriculumElementController.java @@ -0,0 +1,245 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.tree.GenericTreeNode; +import org.olat.core.gui.components.tree.MenuTreeItem; +import org.olat.core.gui.components.tree.TreeNode; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.util.nodes.INode; +import org.olat.modules.curriculum.Curriculum; +import org.olat.modules.curriculum.CurriculumElement; +import org.olat.modules.curriculum.CurriculumElementType; +import org.olat.modules.curriculum.CurriculumElementTypeToType; +import org.olat.modules.curriculum.CurriculumService; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 8 déc. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class MoveCurriculumElementController extends FormBasicController { + + private MenuTreeItem curriculumTreeEl; + private final CurriculumTreeModel curriculumModel = new CurriculumTreeModel(); + + private final Curriculum curriculum; + private Set<CurriculumElementType> allowedTypes; + private List<CurriculumElement> curriculumElementsToMove; + private Set<TreeNode> targetableNodes = new HashSet<>(); + + @Autowired + private CurriculumService curriculumService; + + public MoveCurriculumElementController(UserRequest ureq, WindowControl wControl, + List<CurriculumElement> curriculumElementsToMove, Curriculum curriculum) { + super(ureq, wControl, "move_curriculum_element"); + this.curriculum = curriculum; + this.curriculumElementsToMove = new ArrayList<>(curriculumElementsToMove); + allowedTypes = getAllowedTypes(); + + initForm(ureq); + loadModel(); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + + curriculumTreeEl = uifactory.addTreeMultiselect("elements", null, formLayout, curriculumModel, this); + curriculumTreeEl.setMultiSelect(false); + curriculumTreeEl.setRootVisible(false); + + uifactory.addFormCancelButton("cancel", formLayout, ureq, getWindowControl()); + uifactory.addFormSubmitButton("move.element", formLayout); + } + + private void loadModel() { + List<CurriculumElement> allElements = curriculumService.getCurriculumElements(curriculum); + curriculumModel.loadTreeModel(allElements); + + //remove children of the curriculum element to move + for(CurriculumElement elementToMove:curriculumElementsToMove) { + TreeNode nodeToMove = curriculumModel + .getNodeById(CurriculumTreeModel.nodeKey(elementToMove)); + nodeToMove.removeAllChildren(); + if(nodeToMove.getParent() != null) { + nodeToMove.getParent().remove(nodeToMove); + } + } + + // remove the elements with incompatible types + List<TreeNode> openedNodes = new ArrayList<>(); + filterByAllowedTypes(curriculumModel.getRootNode(), openedNodes); + + List<String> nodeIds = openedNodes + .stream().map(TreeNode::getIdent) + .collect(Collectors.toList()); + curriculumTreeEl.setOpenNodeIds(nodeIds); + } + + private boolean filterByAllowedTypes(TreeNode node, List<TreeNode> openedNodes) { + ((GenericTreeNode)node).setIconCssClass(null); + + for(int i=node.getChildCount(); i-->0; ) { + boolean ok = filterByAllowedTypes((TreeNode)node.getChildAt(i), openedNodes); + if(!ok) { + node.remove(node.getChildAt(i)); + } + } + + boolean ok = false; + Object uobject = node.getUserObject(); + if(uobject instanceof CurriculumElement) { + CurriculumElement level = (CurriculumElement)uobject; + CurriculumElementType type = level.getType(); + if(type == null || allowedTypes.contains(type)) { + openedNodes.add(node); + ((GenericTreeNode)node).setIconCssClass("o_icon_node_under o_icon-rotate-180"); + targetableNodes.add(node); + ok = true; + } else if(node.getChildCount() > 0) { + openedNodes.add(node); + ok = true; + } + } else { + targetableNodes.add(node); + openedNodes.add(node); + ok = true; + } + + return ok; + } + + private Set<CurriculumElementType> getAllowedTypes() { + List<CurriculumElementType> allTypes = new ArrayList<>(curriculumService.getCurriculumElementTypes()); + Map<CurriculumElementType, Set<CurriculumElementType>> subToParentTypes = new HashMap<>(); + for(CurriculumElementType type:allTypes) { + Set<CurriculumElementTypeToType> typesToTypes = type.getAllowedSubTypes(); + for(CurriculumElementTypeToType typeToType:typesToTypes) { + CurriculumElementType subTyp = typeToType.getAllowedSubType(); + subToParentTypes + .computeIfAbsent(subTyp, t -> new HashSet<>()) + .add(type); + } + } + + Set<CurriculumElementType> analyzedTypes = new HashSet<>(); + for(CurriculumElement element:curriculumElementsToMove) { + CurriculumElementType levelType = element.getType(); + if(levelType != null && !analyzedTypes.contains(levelType)) { + analyzedTypes.add(levelType); + + Set<CurriculumElementType> allowed = subToParentTypes.get(levelType); + if(allowed != null) { + allTypes.retainAll(allowed); + } + } + } + + return new HashSet<>(allTypes); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected boolean validateFormLogic(UserRequest ureq) { + boolean allOk = super.validateFormLogic(ureq); + + curriculumTreeEl.clearError(); + if(curriculumTreeEl.getSelectedNode() == null) { + curriculumTreeEl.setErrorKey("error.select.target.level", null); + allOk &= false; + } else if(isParent()) { + curriculumTreeEl.setErrorKey("error.target.no.parent", null); + allOk &= false; + } else if(!targetableNodes.contains(curriculumTreeEl.getSelectedNode())) { + curriculumTreeEl.setErrorKey("error.target.not.allowed", null); + allOk &= false; + } + + return allOk; + } + + private boolean isParent() { + boolean parent = false; + for(CurriculumElement element:curriculumElementsToMove) { + parent |= isParent(element); + } + return parent; + } + + private boolean isParent(CurriculumElement element) { + TreeNode nodeToMove = curriculumModel + .getNodeById(CurriculumTreeModel.nodeKey(element)); + TreeNode selectedNode = curriculumTreeEl.getSelectedNode(); + if(selectedNode == curriculumModel.getRootNode()) { + return false;//can move to root + } + for(INode node=nodeToMove; node != null; node = node.getParent()) { + if(selectedNode == node) { + return true; + } + } + return false; + } + + @Override + protected void formCancelled(UserRequest ureq) { + fireEvent(ureq, Event.CANCELLED_EVENT); + } + + @Override + protected void formOK(UserRequest ureq) { + if(isParent()) { + showWarning("error.target.no.parent"); + } else { + TreeNode selectedNode = curriculumTreeEl.getSelectedNode(); + if(selectedNode == curriculumModel.getRootNode()) { + for(CurriculumElement elementToMove:curriculumElementsToMove) { + curriculumService.moveCurriculumElement(elementToMove, null); + } + } else { + CurriculumElement newParent = (CurriculumElement)selectedNode.getUserObject(); + for(CurriculumElement elementToMove:curriculumElementsToMove) { + curriculumService.moveCurriculumElement(elementToMove, newParent); + } + } + } + fireEvent(ureq, Event.DONE_EVENT); + } +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/RoleListController.java b/src/main/java/org/olat/modules/curriculum/ui/RoleListController.java new file mode 100644 index 0000000000000000000000000000000000000000..aac81b6855df062bbe4b0ba10fb67e9c974893b3 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/RoleListController.java @@ -0,0 +1,80 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui; + +import java.util.ArrayList; +import java.util.List; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.link.Link; +import org.olat.core.gui.components.link.LinkFactory; +import org.olat.core.gui.components.velocity.VelocityContainer; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.controller.BasicController; +import org.olat.modules.curriculum.CurriculumRoles; +import org.olat.modules.curriculum.ui.event.RoleEvent; + +/** + * + * Initial date: 9 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class RoleListController extends BasicController { + + private final VelocityContainer mainVC; + + public RoleListController(UserRequest ureq, WindowControl wControl, CurriculumRoles[] roles) { + super(ureq, wControl); + + mainVC = createVelocityContainer("tools"); + List<String> links = new ArrayList<>(roles.length); + for(CurriculumRoles role:roles) { + addLink(role, links); + } + mainVC.contextPut("links", links); + putInitialPanel(mainVC); + } + + private Link addLink(CurriculumRoles role, List<String> links) { + Link link = LinkFactory.createLink(role.name(), role.name(), getTranslator(), mainVC, this, Link.LINK); + link.setUserObject(role); + mainVC.put(role.name(), link); + links.add(role.name()); + return link; + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void event(UserRequest ureq, Component source, Event event) { + if(source instanceof Link) { + Link link = (Link)source; + if(link.getUserObject() instanceof CurriculumRoles) { + fireEvent(ureq, new RoleEvent((CurriculumRoles)link.getUserObject())); + } + } + } +} diff --git a/src/main/java/org/olat/modules/curriculum/ui/_content/admin_types.html b/src/main/java/org/olat/modules/curriculum/ui/_content/admin_types.html new file mode 100644 index 0000000000000000000000000000000000000000..f2ba8c909b91f2c73211c10fc5e12aaa03d0e76f --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/_content/admin_types.html @@ -0,0 +1,6 @@ +#if($r.available("add.root.type")) +<div class="o_button_group o_button_group_right"> + $r.render("add.root.type") +</div> +#end +$r.render("types") \ No newline at end of file diff --git a/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_admin.html b/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_admin.html new file mode 100644 index 0000000000000000000000000000000000000000..ae882e5cd7ff007e2178957708ef2bbe38538d5c --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_admin.html @@ -0,0 +1,7 @@ +<div class="clearfix"> + $r.render("segments") <br/> + + #if($r.available("segmentCmp")) + $r.render("segmentCmp") + #end +</div> \ No newline at end of file diff --git a/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_element_list.html b/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_element_list.html new file mode 100644 index 0000000000000000000000000000000000000000..bade9402acda206e8171adcb2d85adb1b884ea54 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_element_list.html @@ -0,0 +1 @@ +$r.render("table") \ No newline at end of file diff --git a/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_element_resources.html b/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_element_resources.html new file mode 100644 index 0000000000000000000000000000000000000000..ec0d9d13f60a27f22a999afb6128ec6360b19b15 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_element_resources.html @@ -0,0 +1,6 @@ +#if($r.available("add.resources")) +<div class="o_button_group o_button_group_right"> + $r.render("add.resources") +</div> +#end +$r.render("table") \ No newline at end of file diff --git a/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_element_user_mgmt.html b/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_element_user_mgmt.html new file mode 100644 index 0000000000000000000000000000000000000000..05fa0dd2cd3e00060c48478c519ff447ca554abf --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_element_user_mgmt.html @@ -0,0 +1,11 @@ +#if($r.available("add.member")) +<div class="o_button_group o_button_group_right"> + $r.render("add.member") +</div> +#end +$r.render("table") +#if($r.available("remove.memberships")) +<div class="o_button_group"> + $r.render("remove.memberships") +</div> +#end \ No newline at end of file diff --git a/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_list.html b/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_list.html new file mode 100644 index 0000000000000000000000000000000000000000..bade9402acda206e8171adcb2d85adb1b884ea54 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/_content/curriculum_list.html @@ -0,0 +1 @@ +$r.render("table") \ No newline at end of file diff --git a/src/main/java/org/olat/modules/curriculum/ui/_content/move_curriculum_element.html b/src/main/java/org/olat/modules/curriculum/ui/_content/move_curriculum_element.html new file mode 100644 index 0000000000000000000000000000000000000000..ac76ff73f221add5d32678df28fbe026643d2bb2 --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/_content/move_curriculum_element.html @@ -0,0 +1,8 @@ +$r.render("elements") +#if($f.hasError("elements")) +<div class="">$r.render("elements_ERROR")</div> +#end +<div class="o_button_group"> + $r.render("cancel") + $r.render("move.element") +</div> \ No newline at end of file diff --git a/src/main/java/org/olat/modules/curriculum/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/curriculum/ui/_i18n/LocalStrings_de.properties index b22e34c7ed2eabf9e45251d86f9712c1dd16320b..c84f8ebcb27e8377d8f226bacbff8bd003700d43 100644 --- a/src/main/java/org/olat/modules/curriculum/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/curriculum/ui/_i18n/LocalStrings_de.properties @@ -1,25 +1,60 @@ -#Fri Dec 08 12:29:12 CET 2017 +#Fri May 11 15:40:34 CEST 2018 add.curriculum=Neue Curriculum erstellen add.curriculum.element=Neues Element erstellen add.element.under=Neu Element under erstellen +add.member=Benutzer hinzuf\u00FCgen +add.member.role=Benutzer hinzuf\u00FCgen als "{0}" +add.resources=Kurse hinzuf\u00FCgen +add.root.type=Neuer Typ erstellen admin.description=Curriculum Konfiguration admin.menu.title=Curriculum admin.menu.title.alt=Curriculum admin.title=$\:admin.menu.title +confirm.delete.element.type.sucessfull=Der Typ "{0}" wurde erfolgreich gel\u00F6scht. +confirmation.delete.type=Wollen Sie wirklich den Typ "{0}" l\u00F6schen? +confirmation.delete.type.title=Typ "{0}" l\u00F6schen curriculum.admin.enabled=Curriculum einschalten -curriculum.element.metadata=Metadaten -curriculum.element.key=ID +curriculum.configuration=Curriculum +curriculum.description=Beschreibung +curriculum.displayName=Name +curriculum.element.begin=Beginndatum +curriculum.element.displayName=Name +curriculum.element.end=Enddatum curriculum.element.external.id=Externe ID -curriculum.in.my.courses.enabled=Curriculum in "Meine Kurse" +curriculum.element.identifier=Bezeichnung +curriculum.element.key=ID +curriculum.element.metadata=Metadaten +curriculum.element.type=Typ +curriculum.element.types=Typen +curriculum.external.id=Externe ID curriculum.identifier=Bezeichnung -curriculum.displayName=Name -curriculum.description=Beschreibung +curriculum.in.my.courses.enabled=Curriculum in "Meine Kurse" curriculum.key=ID -curriculum.external.id=Externe ID +details.copy=Kopieren +details.delete=L\u00F6schen +info.copy.element.type.sucessfull=Der Typ "{0}" wurde erfolgreich kopiert. move.element=Element schieben -table.header.key=ID +remove.memberships=Entfernen +resources.add=$add.resources +resources.add.title= +supervisor=Fachvorsteher (supervisor) +tab.resources=Kurse +tab.user.management=Benutzerverwaltung +table.curriculum.element.empty=Curriculum ist leer +table.curriculum.empty=Es steht kein Curriculum zur Verf\u00FCgung table.header.displayName=Name +table.header.edit=Bearbeiten table.header.identifier=Bezeichnung +table.header.key=ID +table.header.role=Rolle table.header.tools=<i class\='o_icon o_icon_actions o_icon-lg'> </i> -table.curriculum.empty=Es steht kein Curriculum zur Verfügung -table.curriculum.element.empty=Curriculum ist leer \ No newline at end of file +table.header.type.displayName=Name +table.header.type.identifier=Bezeichnung +table.header.username=Benutzername +table.type.empty=Es sind keine Typen vorhanden. +type.allowed.sub.types=Sub types +type.description=Beschreibung +type.displayname=Name +type.identifier=Bezeichnung +warning.curriculum.element.type.deleted=Dieser Typ ist nicht mehr verf\u00FCgbar. +warning.delete.element.type=Der Typ wurde nicht gel\u00F6scht. Er ist noch benutzt. diff --git a/src/main/java/org/olat/modules/curriculum/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/curriculum/ui/_i18n/LocalStrings_en.properties index bd43ca9fe4549638eb3118de3577cb48ea6ce018..0c0cc0db7aad72b101ad2e1d3c9f0449fb8e6687 100644 --- a/src/main/java/org/olat/modules/curriculum/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/modules/curriculum/ui/_i18n/LocalStrings_en.properties @@ -1,25 +1,59 @@ -#Tue Feb 06 08:32:56 CET 2018 +#Fri May 11 15:38:09 CEST 2018 add.curriculum=Create new curriculum add.curriculum.element=Create new element add.element.under=Add new element under this one +add.member=Add user +add.member.role=Add user as "{0}" +add.resources=Add courses +add.root.type=Add new type admin.description=Curriculum configuration admin.menu.title=Curriculum admin.menu.title.alt=Curriculum admin.title=$\:admin.menu.title +confirm.delete.element.type.sucessfull=The type "{0}" was successfully deleted. +confirmation.delete.type=Do you really want to delete this type "{0}"? +confirmation.delete.type.title=Delete type "{0}" curriculum.admin.enabled=Enable curriculum +curriculum.configuration=Curriculum +curriculum.description=Description +curriculum.displayName=Name +curriculum.element.begin=Start date +curriculum.element.displayName=Name +curriculum.element.end=End date +curriculum.element.external.id=External ID +curriculum.element.identifier=Identifier curriculum.element.key=ID curriculum.element.metadata=Metadata -curriculum.element.external.id=External ID -curriculum.in.my.courses.enabled=Curriculum in "My courses" -curriculum.identifier=Identifier -curriculum.displayName=Name -curriculum.description=Description +curriculum.element.type=Type +curriculum.element.types=Types curriculum.external.id=External ID +curriculum.identifier=Identifier +curriculum.in.my.courses.enabled=Curriculum in "My courses" curriculum.key=ID +details.copy=Copy +details.delete=Delete +info.copy.element.type.sucessfull=The type "{0}" was successfully copied. move.element=Move element -table.header.key=ID +remove.memberships=Remove +resources.add=$add.resources +supervisor=Fachvorsteher (supervisor) +tab.resources=Courses +tab.user.management=User management +table.curriculum.element.empty=Curriculum is empty +table.curriculum.empty=There are no curriculum available table.header.displayName=Name +table.header.edit=Edit table.header.identifier=Identifier +table.header.key=ID +table.header.role=Role table.header.tools=<i class\='o_icon o_icon_actions o_icon-lg'> </i> -table.curriculum.empty=There are no curriculum available -table.curriculum.element.empty=Curriculum is empty \ No newline at end of file +table.header.type.displayName=Name +table.header.type.identifier=Identifier +table.header.username=Username +table.type.empty=There isn't any type available. +type.allowed.sub.types=Sub types +type.description=Description +type.displayname=Name +type.identifier=Identifier +warning.curriculum.element.type.deleted=This type is no longer available. +warning.delete.element.type=The type "{0}" was not deleted because it is still in use. diff --git a/src/main/java/org/olat/modules/curriculum/ui/event/RoleEvent.java b/src/main/java/org/olat/modules/curriculum/ui/event/RoleEvent.java new file mode 100644 index 0000000000000000000000000000000000000000..a49496dad4d3b7603819e79901a29cfa2c3855cd --- /dev/null +++ b/src/main/java/org/olat/modules/curriculum/ui/event/RoleEvent.java @@ -0,0 +1,48 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.ui.event; + +import org.olat.core.gui.control.Event; +import org.olat.modules.curriculum.CurriculumRoles; + +/** + * + * Initial date: 9 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class RoleEvent extends Event { + + private static final long serialVersionUID = 8782101396996802023L; + + public static final String ADD_ROLE_EVENT = "curriculum-el-add-role"; + + private final CurriculumRoles role; + + public RoleEvent(CurriculumRoles role) { + super(ADD_ROLE_EVENT); + this.role = role; + } + + public CurriculumRoles getRole() { + return role; + } + +} diff --git a/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_pt_BR.properties index 979601a97b72cf88411275b699cf8f523729f4dc..a1213c934f181b1fbba20ffbfab29bc166a8d017 100644 --- a/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,13 +1,25 @@ -#Mon Jan 16 20:33:29 CET 2017 +#Fri May 11 23:43:15 CEST 2018 +add.formfileupload=Enviar arquivo add.formhr=Separador add.formhtitle=T\u00EDtulo add.formrubric=Rubrica +add.slider=Adicionar barra de rolagem confirm.done=Deseja enviar sua avalia\u00E7\u00E3o? Uma vez submetida, ele n\u00E3o pode ser editada mais\! end.label=Fim +error.cannot.save.file=Erro ao carregar o arquivo\! error.no.number=Formato de n\u00FAmero errado. Exemplo\: 1.0, 0.5, 0.2 evaluation.form.in.use=O recurso j\u00E1 \u00E9 usado para fins de avalia\u00E7\u00E3o. A edi\u00E7\u00E3o \u00E9 limitada. evaluation.in.progress=A avalia\u00E7\u00E3o est\u00E1 em andamento evaluator=Usu\u00E1rio {0} +file.upload.error.limit.exeeded=O arquivo \u00E9 muito grande +file.upload.error.mime.type.wrong=O tipo de dado n\u00E3o \u00E9 permitido +file.upload.limit=Tamanho m\u00E1ximo do arquivo +file.upload.mime.type.all=Tudo +file.upload.mime.type.audio=\u00C1udio +file.upload.mime.type.image=Imagem +file.upload.mime.type.pdf=PDF +file.upload.mime.type.video=V\u00EDdeo +file.upload.mime.types=Tipo de arquivo h1=h1 h2=h2 h3=h3 @@ -17,6 +29,7 @@ h6=h6 hr=Separador htitle=T\u00EDtulo raw.example=Clique para editar o texto. O editor HTML ser\u00E1 aberto. +save.as.done=Enviar avalia\u00E7\u00E3o slider.continuous=Cont\u00EDnuo slider.discrete=Discreto com r\u00E1dio slider.discrete.slider=Discreto com barra de rolagem diff --git a/src/main/java/org/olat/modules/gotomeeting/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/modules/gotomeeting/ui/_i18n/LocalStrings_pt_BR.properties index 9d474bae8828fa12dd8b7e719496bcdc2465019c..507c3ebe5a6ead8e9d1e290795b8363110997e82 100644 --- a/src/main/java/org/olat/modules/gotomeeting/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/modules/gotomeeting/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Wed Feb 07 19:00:20 CET 2018 +#Fri May 11 23:43:17 CEST 2018 add.my.account=Eu tenho uma conta add.organizer=Adicionar um novo organizador add.training=Adicionar novo treinamento diff --git a/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_pt_BR.properties index 6a92cfe52dc7d77ff6338b2677fdba5b71f69634..5ccf764d7b1431551c0aad59b6115e74520b658b 100644 --- a/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/modules/lecture/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Thu Nov 23 17:53:53 CET 2017 +#Fri May 11 23:45:25 CEST 2018 active=Ativo add.lecture=Novo bloco de aulas add.reason=Adicionar motivo @@ -72,6 +72,7 @@ error.atleastone.lecture=Escolha pelo menos um bloco de aulas. error.integer.between=A inser\u00E7\u00E3o precisa ser um n\u00FAmero entre {0} e {1} error.integer.positive=O n\u00FAmero precisa ser positivo error.reason.mandatory=O motivo \u00E9 obrigat\u00F3rio +error.search.form.notempty=Por favor, preencha pelo menos um campo com dois caracteres. export.footer.lectures.hint=x \= aula ausente export.header.entry=Curso\: {0} export.header.lectureblocks=Bloco de aulas\: {0} o {1} em {2} at\u00E9 {3} @@ -142,6 +143,12 @@ lectures.table.current=Bloco de aulas atuais lectures.table.next=Pr\u00F3ximo bloco de aulas lectures.table.pending=Bloco de aulas pendentes log=Log +log.add.admission.date=Adicionar data de admiss\u00E3o {0} +log.add.rate=Adicionar taxa de participa\u00E7\u00E3o {0} +log.change.admission.date=Atualizar data de admiss\u00E3o {0} +log.change.rate=Atualizar taxa de participa\u00E7\u00E3o {0} +log.remove.admission.date=Remover data de admiss\u00E3o +log.remove.rate=Remover taxa de participa\u00E7\u00E3o managed.flags.lecture.block.all=Totalmente gerenciado externamente managed.flags.lecture.block.compulsory=Compuls\u00F3rio managed.flags.lecture.block.dates=Datas @@ -220,6 +227,7 @@ sync.teachers.calendar.enabled=Sincronizar calend\u00E1rios de professores table.header.absence=Aus\u00EAncias (faltas) table.header.absent.lectures=Aus\u00EAnte table.header.actions=<i class\='o_icon o_icon_actions o_icon-lg'> </i> +table.header.attended.current.rate=% Presente table.header.attended.lectures=Participaram table.header.authorized.absence=Justificado table.header.auto.close.date=Encerrado automaticamente em diff --git a/src/main/java/org/olat/modules/lecture/ui/coach/LecturesSearchController.java b/src/main/java/org/olat/modules/lecture/ui/coach/LecturesSearchController.java index 26344500279bc394b0bf2edc49d2c9dd547e7d97..7249ccc94771660be2cd5c888701efb08948fbf3 100644 --- a/src/main/java/org/olat/modules/lecture/ui/coach/LecturesSearchController.java +++ b/src/main/java/org/olat/modules/lecture/ui/coach/LecturesSearchController.java @@ -65,7 +65,7 @@ public class LecturesSearchController extends BasicController implements Activat super(ureq, wControl, Util.createPackageTranslator(LectureRepositoryAdminController.class, ureq.getLocale())); this.stackPanel = stackPanel; Roles roles = ureq.getUserSession().getRoles(); - admin = (roles.isUserManager() || roles.isOLATAdmin()); + admin = (roles.isUserManager() || roles.isOLATAdmin());//TODO roles searchForm = new LecturesSearchFormController(ureq, getWindowControl(), admin); listenTo(searchForm); diff --git a/src/main/java/org/olat/modules/portfolio/manager/PortfolioServiceImpl.java b/src/main/java/org/olat/modules/portfolio/manager/PortfolioServiceImpl.java index c2906a0fed617d60775bfa8b0b1224c11bc1f1ce..7d21ee5337ae0c292d71545f1c1b78e8d8f42e0f 100644 --- a/src/main/java/org/olat/modules/portfolio/manager/PortfolioServiceImpl.java +++ b/src/main/java/org/olat/modules/portfolio/manager/PortfolioServiceImpl.java @@ -37,6 +37,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.olat.basesecurity.Group; import org.olat.basesecurity.IdentityRef; import org.olat.basesecurity.manager.GroupDAO; +import org.olat.collaboration.CollaborationTools; import org.olat.core.commons.modules.bc.vfs.OlatRootFileImpl; import org.olat.core.commons.persistence.DB; import org.olat.core.gui.translator.Translator; @@ -60,6 +61,8 @@ import org.olat.course.run.scoring.AssessmentEvaluation; import org.olat.course.run.scoring.ScoreEvaluation; import org.olat.course.run.userview.UserCourseEnvironment; import org.olat.fileresource.FileResourceManager; +import org.olat.group.BusinessGroup; +import org.olat.group.DeletableGroupData; import org.olat.modules.assessment.AssessmentEntry; import org.olat.modules.assessment.AssessmentService; import org.olat.modules.assessment.Role; @@ -114,6 +117,8 @@ import org.olat.modules.portfolio.model.SectionImpl; import org.olat.modules.portfolio.model.SectionKeyRef; import org.olat.modules.portfolio.model.SynchedBinder; import org.olat.modules.portfolio.ui.PortfolioHomeController; +import org.olat.properties.NarrowedPropertyManager; +import org.olat.properties.Property; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntryRef; import org.olat.repository.RepositoryService; @@ -132,7 +137,7 @@ import com.thoughtworks.xstream.XStream; * */ @Service -public class PortfolioServiceImpl implements PortfolioService { +public class PortfolioServiceImpl implements PortfolioService, DeletableGroupData { private static final OLog log = Tracing.createLoggerFor(PortfolioServiceImpl.class); @@ -264,6 +269,24 @@ public class PortfolioServiceImpl implements PortfolioService { return binder; } + @Override + public boolean deleteGroupDataFor(BusinessGroup group) { + NarrowedPropertyManager npm = NarrowedPropertyManager.getInstance(group); + Property mapKeyProperty = npm.findProperty(null, null, CollaborationTools.PROP_CAT_BG_COLLABTOOLS, CollaborationTools.KEY_PORTFOLIO); + if (mapKeyProperty != null) { + Long mapKey = mapKeyProperty.getLongValue(); + String version = mapKeyProperty.getStringValue(); + if("2".equals(version)) { + Binder binder = binderDao.loadByKey(mapKey); + if(binder != null) { + deleteBinder(binder); + } + } + return true; + } + return false; + } + @Override public boolean detachCourseFromBinders(RepositoryEntry entry) { int deletedRows = binderDao.detachBinderFromRepositoryEntry(entry); diff --git a/src/main/java/org/olat/modules/portfolio/ui/AbstractPageListController.java b/src/main/java/org/olat/modules/portfolio/ui/AbstractPageListController.java index 674bbf8e39b2a3ffab8973d1bc86b83e52ab4bc5..17f7b92c2d0ae321172910c676d27c5b690a353c 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/AbstractPageListController.java +++ b/src/main/java/org/olat/modules/portfolio/ui/AbstractPageListController.java @@ -211,7 +211,7 @@ implements Activateable2, TooledController, FlexiTableComponentDelegate { } columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(PageCols.publicationDate, "select-page")); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(PageCols.categories, new CategoriesCellRenderer())); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, PageCols.section/*, "select-section"*/, null)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, PageCols.section/*, "select-section"*/)); if(secCallback.canNewAssignment()) { columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("table.header.up", PageCols.up.ordinal(), "up", new BooleanCellRenderer( diff --git a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_pt_BR.properties index e5cfb37910fda43fab351c48906d52b003d1ab47..6da7486c0db090f745e48828f14b7d68da64084c 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Wed Feb 07 20:56:36 CET 2018 +#Fri May 11 23:45:47 CEST 2018 access=Acesso access.binder=As pessoas abaixo t\u00EAm acesso \u00E0 carteira do portf\u00F3lio access.rights=Adicionar direitos de acesso @@ -339,6 +339,7 @@ shared.with.me=Compartilhado comigo shared.with.me.text=Uma lista de todos os itens compartilhados por voc\u00EA. show.help.binder=Ajuda source=Fonte +start.assignment.hint=Escolha uma tarefa para edi\u00E7\u00E3o status.closed=fechado status.deleted=exclu\u00EDdo status.draft=Rascunho @@ -352,6 +353,8 @@ status.user.done=Feito status.user.inProcess=Processando status.user.incoming=Novo summary=Resumo +summary.close=Ocultar resumo +summary.open=Abrir resumo summary.placeholder=Breve resumo sobre o conte\u00FAdo table.grading.failed.points=<span class\="o_state o_failed"><i class\="o_icon o_icon_failed"> </i> {0} Ponto(s)</span> table.grading.no=sem classifica\u00E7\u00E3o ainda diff --git a/src/main/java/org/olat/modules/portfolio/ui/shared/SharedItemsOverviewController.java b/src/main/java/org/olat/modules/portfolio/ui/shared/SharedItemsOverviewController.java index 8ca7bd72c8f75aee8e57036e2b30018546692cd8..bde008b48e7f90f9556f4e880338bcfe5b9f93ca 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/shared/SharedItemsOverviewController.java +++ b/src/main/java/org/olat/modules/portfolio/ui/shared/SharedItemsOverviewController.java @@ -107,6 +107,11 @@ public class SharedItemsOverviewController extends BasicController implements Ac List<ContextEntry> subEntries = entries.subList(1, entries.size()); doOpenBinders(ureq).activate(ureq, subEntries, entries.get(0).getTransientState()); segmentView.select(bindersLink); + } else if("Binder".equalsIgnoreCase(name)) { + doOpenBinders(ureq).activate(ureq, entries, state); + segmentView.select(bindersLink); + } else { + activateCold(ureq); } } } diff --git a/src/main/java/org/olat/modules/qpool/security/QPoolSecurityCallbackFactory.java b/src/main/java/org/olat/modules/qpool/security/QPoolSecurityCallbackFactory.java index 5db8350b72cdd9c87566cc6bdb02eab5467253a3..029527b29f77d8e5c239779f1093a61514284a09 100644 --- a/src/main/java/org/olat/modules/qpool/security/QPoolSecurityCallbackFactory.java +++ b/src/main/java/org/olat/modules/qpool/security/QPoolSecurityCallbackFactory.java @@ -53,7 +53,7 @@ public class QPoolSecurityCallbackFactory { securityCallback.setQuestionItemView(itemView); securityCallback.setQuestionItemSource(questionItemSource); securityCallback.setAdmin(roles.isOLATAdmin()); - securityCallback.setPoolAdmin(roles.isPoolAdmin()); + securityCallback.setPoolAdmin(roles.isQPoolManager()); return securityCallback; } diff --git a/src/main/java/org/olat/modules/qpool/security/QPoolSecurityCallbackImpl.java b/src/main/java/org/olat/modules/qpool/security/QPoolSecurityCallbackImpl.java index 68a8feb06f5bd1c5de43e7efe61c9aeb073d9948..2fda40399a3b534eb5f06a12938915494e83fef8 100644 --- a/src/main/java/org/olat/modules/qpool/security/QPoolSecurityCallbackImpl.java +++ b/src/main/java/org/olat/modules/qpool/security/QPoolSecurityCallbackImpl.java @@ -45,9 +45,9 @@ public class QPoolSecurityCallbackImpl implements QPoolSecurityCallback { @Override public void setRoles(Roles roles) { - this.admin = roles.isOLATAdmin(); - this.poolAdmin = roles.isPoolAdmin(); - this.olatAuthor = roles.isAuthor(); + admin = roles.isOLATAdmin(); + poolAdmin = roles.isQPoolManager(); + olatAuthor = roles.isAuthor(); } @Override diff --git a/src/main/java/org/olat/modules/qpool/site/AuthorAndPoolPrivateMembersSecurityCallback.java b/src/main/java/org/olat/modules/qpool/site/AuthorAndPoolPrivateMembersSecurityCallback.java index 74f7775c9e16d205ccb13ff3006e89e949c56fc3..b39fc747304085530dd2fe22730c6a21121fd0b9 100644 --- a/src/main/java/org/olat/modules/qpool/site/AuthorAndPoolPrivateMembersSecurityCallback.java +++ b/src/main/java/org/olat/modules/qpool/site/AuthorAndPoolPrivateMembersSecurityCallback.java @@ -59,7 +59,7 @@ public class AuthorAndPoolPrivateMembersSecurityCallback implements SiteSecurity if (roles == null || roles.isInvitee() || roles.isGuestOnly()) { return false; } - if (roles.isOLATAdmin() || roles.isPoolAdmin() || roles.isAuthor()) { + if (roles.isOLATAdmin() || roles.isQPoolManager() || roles.isAuthor()) { return true; } return qPoolService.isMemberOfPrivatePools(ureq.getIdentity()); diff --git a/src/main/java/org/olat/modules/qpool/site/PoolPrivateMembersSecurityCallback.java b/src/main/java/org/olat/modules/qpool/site/PoolPrivateMembersSecurityCallback.java index c74a5dce9ed5d909b7788c3915fc59b15962f9fd..79f9deeeff4af3daf03ac09dcafb55c66e7988eb 100644 --- a/src/main/java/org/olat/modules/qpool/site/PoolPrivateMembersSecurityCallback.java +++ b/src/main/java/org/olat/modules/qpool/site/PoolPrivateMembersSecurityCallback.java @@ -60,7 +60,7 @@ public class PoolPrivateMembersSecurityCallback implements SiteSecurityCallback if(roles == null || roles.isInvitee() || roles.isGuestOnly()) { return false; } - if (roles.isOLATAdmin() || roles.isPoolAdmin()) { + if (roles.isOLATAdmin() || roles.isQPoolManager()) { return true; } return qPoolService.isMemberOfPrivatePools(ureq.getIdentity()); diff --git a/src/main/java/org/olat/modules/qpool/site/PoolTaxonomySecurityCallback.java b/src/main/java/org/olat/modules/qpool/site/PoolTaxonomySecurityCallback.java index 65bb25c7cb5f51550180729757763b8b777deab3..f082915a33d5b1b2fb75c4cf60233cd9765ebb2c 100644 --- a/src/main/java/org/olat/modules/qpool/site/PoolTaxonomySecurityCallback.java +++ b/src/main/java/org/olat/modules/qpool/site/PoolTaxonomySecurityCallback.java @@ -68,7 +68,7 @@ public class PoolTaxonomySecurityCallback implements SiteSecurityCallback { if (roles == null || roles.isInvitee() || roles.isGuestOnly()) { return false; } - if (roles.isOLATAdmin() || roles.isPoolAdmin()) { + if (roles.isOLATAdmin() || roles.isQPoolManager()) { return true; } diff --git a/src/main/java/org/olat/modules/qpool/site/QuestionPoolSiteDef.java b/src/main/java/org/olat/modules/qpool/site/QuestionPoolSiteDef.java index 015d8472ef5ac8911da65838530ac5668cf3025b..207a004469a4195e337343096762d7583f7867e6 100644 --- a/src/main/java/org/olat/modules/qpool/site/QuestionPoolSiteDef.java +++ b/src/main/java/org/olat/modules/qpool/site/QuestionPoolSiteDef.java @@ -25,7 +25,9 @@ import org.olat.core.gui.control.navigation.AbstractSiteDefinition; import org.olat.core.gui.control.navigation.SiteConfiguration; import org.olat.core.gui.control.navigation.SiteDefinition; import org.olat.core.gui.control.navigation.SiteInstance; +import org.olat.core.id.Roles; import org.olat.core.util.StringHelper; +import org.olat.core.util.UserSession; /** * @@ -40,10 +42,14 @@ public class QuestionPoolSiteDef extends AbstractSiteDefinition implements SiteD if(StringHelper.containsNonWhitespace(config.getSecurityCallbackBeanId())) { //already checked return new QuestionPoolSite(this, ureq.getLocale()); - } else if(ureq.getUserSession() != null - && ureq.getUserSession().getRoles() != null - && (ureq.getUserSession().getRoles().isAuthor() - || ureq.getUserSession().getRoles().isPoolAdmin())) { + } + + UserSession usess = ureq.getUserSession(); + if(usess == null || usess.getRoles() == null) { + return null; + } + Roles roles = usess.getRoles(); + if(roles.isOLATAdmin() || roles.isAuthor() || roles.isQPoolManager()) { return new QuestionPoolSite(this, ureq.getLocale()); } return null; diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pt_BR.properties index 4444cac204f1e35de48970db5a03e170becf2aeb..dfe4a1d60a4be76f1050a83a8fe5ed9bbd1d0db2 100644 --- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Wed Feb 28 13:29:43 CET 2018 +#Fri May 11 23:46:16 CEST 2018 add=+ add.to.list=Adicionar \u00E0 lista admin.configuration.title=Banco de perguntas @@ -242,6 +242,9 @@ rating.empty.table=A pergunta ainda n\u00E3o foi classificada remove=- rename.collection=Renomear lista rights=Direitos +rights.freetext=Texto da Licen\u00E7a +rights.license=Licen\u00E7a +rights.licensor=Licenciador rights.owners=Autores root.taxonomyLevel=Assuntos select.group=Compartilhar @@ -279,4 +282,5 @@ topnav.qpool=Banco de perguntas topnav.qpool.alt=Banco de perguntas e compartilhamentos unshare.item=Remover used=Utilizado +warning.item.deleted=A quest\u00E3o foi eliminada ou removida. warning.qpool.index.emtpy=A p\u00E1gina de informa\u00E7\u00F5es do reservat\u00F3rio de perguntas n\u00E3o foi configurada corretamente. Pergunte ao administrador do sistema para adicionar uma p\u00E1gina de informa\u00E7\u00F5es na <strong>administra\u00E7\u00E3o do reservat\u00F3rios de perguntas</strong>. diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/modules/qpool/ui/admin/_i18n/LocalStrings_pt_BR.properties index 78e078a126dd4310cb76af482427ca123ba7a1ce..ac153bc34a1a1530a2345d637136a659b405e616 100644 --- a/src/main/java/org/olat/modules/qpool/ui/admin/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/modules/qpool/ui/admin/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Thu Feb 08 13:09:32 CET 2018 +#Fri May 11 23:47:13 CEST 2018 admin.configuration.title=Banco de perguntas admin.levels.intro=Criar esses n\u00EDveis que se aplicam ao n\u00EDvel educacional da sua organiza\u00E7\u00E3o. Exemplos de n\u00EDveis em um contexto acad\u00EAmico poderia ser\: ensino fundamental, ensino m\u00E9dio, gradua\u00E7\u00E3o, mestrado. Dentro de um contexto corporativo, os n\u00EDveis poderia ser o seguinte\: sem aprendizagem, com forma\u00E7\u00E3o profissional, administra\u00E7\u00E3o, ger\u00EAncia m\u00E9dia, diretoria, etc... admin.licenses.intro=Voc\u00EA pode criar mais tipos de licen\u00E7a, se os tipos de licen\u00E7a padr\u00E3o n\u00E3o forem suficientes. Por favor, note que as licen\u00E7as padr\u00E3o n\u00E3o podem ser exclu\u00EDdas. @@ -6,6 +6,7 @@ admin.pool.manager.title=Administrador de \u201Creservat\u00F3rio de direitos\u2 admin.pools.intro=Criar um ou mais grupos de perguntas. O reservat\u00F3rio \u00E9 um banco de perguntas que permite que todos os usu\u00E1rios com direitos de autor a troquem perguntas (acesso p\u00FAblico). Voc\u00EA tamb\u00E9m pode optar por um reservat\u00F3rio com apenas um grupo selecionado de autores. Por exemplo, usu\u00E1rios de um departamento (acesso privado). admin.review.process.decision.type=M\u00E9todo de decis\u00E3o admin.review.process.title=Processo de revis\u00E3o +admin.start.indexer=Depois de ativar ou desativar essa op\u00E7\u00E3o, voc\u00EA deve iniciar o indexador da pesquisa de texto completo para garantir os resultados de pesquisa corretos. admin.studyfields.intro=Assuntos, permitem a indexa\u00E7\u00E3o t\u00E9cnica de perguntas. \u00C9 organizado como uma estrutura hier\u00E1rquica para modelar potenciais programas de gradua\u00E7\u00E3o. Selecione a op\u00E7\u00E3o "$org.olat.modules.taxonomy.ui\:add.taxonomy.level", a fim de criar um novo assunto, ou selecionar um j\u00E1 existente para fins de edi\u00E7\u00E3o. admin.types.intro=Crie mais tipos de perguntas se os tipos existentes n\u00E3o s\u00E3o suficientes. Por favor, note que os tipos de perguntas padr\u00E3o n\u00E3o podem ser exclu\u00EDdos. average.rating.for.final=Classifica\u00E7\u00E3o m\u00E9dia do status "final" @@ -24,6 +25,7 @@ delete.type.confirm=Voc\u00EA realmente deseja excluir este tipo? edit.info.page=Editar p\u00E1gina de informa\u00E7\u00F5es edit.taxonomyLevel=Editar assunto educational.context.deleted=Assunto foi exclu\u00EDdo com sucesso. +educational.context.enabled=N\u00EDveis educational.context.notdeleted=Assunto n\u00E3o pode ser exclu\u00EDdo, provavelmente est\u00E1 em uso. error.integer.positive=O n\u00FAmero precisa ser positivo error.item.type.unique=Um tipo de quest\u00E3o com este nome j\u00E1 existe. @@ -36,6 +38,7 @@ item.type.notdeleted=Tipo n\u00E3o pode ser exclu\u00EDdo, provavelmente est\u00 level.key=ID level.level=N\u00EDvel level.translation=Tradu\u00E7\u00E3o +license.admin.title=Reservat\u00F3rio de perguntas lower.limit=Limite inferior para decis\u00E3o positiva lower.limit.desc=No m\u00E9todo de avalia\u00E7\u00E3o do limite inferior, uma quest\u00E3o \u00E9 definida para o status \u201C$org.olat.modules.qpool.ui\:lifecycle.status.finalVersion\u201D quando o n\u00FAmero m\u00EDnimo de pontua\u00E7\u00E3o \u00E9 atingido e todas as pontua\u00E7\u00F5es s\u00E3o maiores ou iguais \u00E0s pontua\u00E7\u00F5es limite inferior. Se uma pontua\u00E7\u00E3o estiver abaixo do limite inferior, o status da quest\u00E3o ser\u00E1 imediatamente configurado para \u201C$org.olat.modules.qpool.ui\:lifecycle.status.revised\u201D, mesmo que o n\u00FAmero m\u00EDnimo de pontua\u00E7\u00E3o ainda n\u00E3o tenha sido alcan\u00E7ado. lower.limit.provider.name=Limite inferior @@ -64,7 +67,9 @@ segment.taxonomy=Assuntos selected.taxonomy.tree=Taxonomia shares.enabled=Grupos taxonomy.all=Todos assuntos +taxonomy.can.not.be.deactivated=N\u00E3o \u00E9 poss\u00EDvel desativar os assuntos, se o processo de revis\u00E3o estiver ativado. taxonomy.competences=Assuntos com compet\u00EAncia "ensinar" ou "gerenciar" +taxonomy.enabled=Assuntos taxonomy.selectable=Assuntos selecion\u00E1veis taxonomyLevel.deleted=Assunto foi exclu\u00EDdo com sucesso. taxonomyLevel.notdeleted=O assunto n\u00E3o pode ser exclu\u00EDdo, provavelmente est\u00E1 em uso. diff --git a/src/main/java/org/olat/modules/qpool/ui/datasource/SharedItemsSource.java b/src/main/java/org/olat/modules/qpool/ui/datasource/SharedItemsSource.java index a8ad2776e1a1c9bd974a2b938910b1a56a262186..38cda4a62acc3fb5ba879963bb80062aff355675 100644 --- a/src/main/java/org/olat/modules/qpool/ui/datasource/SharedItemsSource.java +++ b/src/main/java/org/olat/modules/qpool/ui/datasource/SharedItemsSource.java @@ -101,7 +101,7 @@ public class SharedItemsSource implements QuestionItemsSource { @Override public boolean isRemoveEnabled() { - return roles.isOLATAdmin() || roles.isPoolAdmin() || admin; + return roles.isOLATAdmin() || roles.isQPoolManager() || admin; } @Override diff --git a/src/main/java/org/olat/modules/reminder/manager/ReminderDAO.java b/src/main/java/org/olat/modules/reminder/manager/ReminderDAO.java index 3437eb5b894178277937ccab20ceb7a8f41132c2..16020f3b17adabbad42063249cb514e1968343ee 100644 --- a/src/main/java/org/olat/modules/reminder/manager/ReminderDAO.java +++ b/src/main/java/org/olat/modules/reminder/manager/ReminderDAO.java @@ -230,26 +230,33 @@ public class ReminderDAO { .getResultList(); } - + /** + * The query is limited to the default group of the repository entry + * and the business groups + * @param entry + * @param identities + * @return + */ public Map<Long,Date> getCourseEnrollmentDates(RepositoryEntryRef entry, List<Identity> identities) { if(identities == null || identities.isEmpty()) { - return new HashMap<Long,Date>(); + return new HashMap<>(); } List<Long> identityKeys = PersistenceHelper.toKeys(identities); - StringBuilder sb = new StringBuilder(); - sb.append("select membership.identity.key, membership.creationDate from ").append(RepositoryEntry.class.getName()).append(" as v ") + StringBuilder sb = new StringBuilder(512); + sb.append("select membership.identity.key, membership.creationDate from repositoryentry as v ") .append(" inner join v.groups as relGroup") .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as membership") - .append(" where v.key=:repoKey"); + .append(" left join businessgroup as businessGroup on (businessGroup.baseGroup.key=baseGroup.key)") + .append(" where v.key=:repoKey and (relGroup.defaultGroup=true or businessGroup.key is not null)"); Set<Long> identityKeySet = null; if(identityKeys.size() < 100) { sb.append(" and membership.identity.key in (:identityKeys)"); } else { - identityKeySet = new HashSet<Long>(identityKeys); + identityKeySet = new HashSet<>(identityKeys); } TypedQuery<Object[]> query = dbInstance.getCurrentEntityManager() diff --git a/src/main/java/org/olat/modules/sharedfolder/SharedFolderWebDAVMergeSource.java b/src/main/java/org/olat/modules/sharedfolder/SharedFolderWebDAVMergeSource.java index 1a359750db55039ab731daad41e9b9e9cb6be2e2..58ff6275e8e477dfbd20e56c9cc6f8c898fdfec3 100644 --- a/src/main/java/org/olat/modules/sharedfolder/SharedFolderWebDAVMergeSource.java +++ b/src/main/java/org/olat/modules/sharedfolder/SharedFolderWebDAVMergeSource.java @@ -22,7 +22,6 @@ package org.olat.modules.sharedfolder; import static org.olat.modules.sharedfolder.SharedFolderWebDAVProvider.readOnlyCallback; import java.util.ArrayList; -import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -36,6 +35,7 @@ import org.olat.core.util.vfs.VFSContainer; import org.olat.fileresource.types.SharedFolderFileResource; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryManager; +import org.olat.repository.model.SearchRepositoryEntryParameters; /** @@ -83,9 +83,9 @@ public class SharedFolderWebDAVMergeSource extends WebDAVMergeSource { // If the first value in the list is '*', list all resource folders. if (firstItem != null && firstItem.equals("*")) { // fake role that represents normally logged in user - Roles registeredUserRole = new Roles(false, false, false, false, false, false, false); - List<String> types = Collections.singletonList(SharedFolderFileResource.TYPE_NAME); - List<RepositoryEntry> allEntries = repoManager.queryByTypeLimitAccess(getIdentity(), types, registeredUserRole); + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(getIdentity(), Roles.userRoles(), SharedFolderFileResource.TYPE_NAME); + List<RepositoryEntry> allEntries = repoManager + .genericANDQueryWithRolesRestriction(params, 0, -1, false); for (RepositoryEntry entry : allEntries) { addReadonlyFolder(entry, sfm, addedEntries, containers); } diff --git a/src/main/java/org/olat/modules/wiki/Wiki.java b/src/main/java/org/olat/modules/wiki/Wiki.java index ed4d92c1c1fb4a42a49dd1bd339692294cd9965e..399b4d44432803919ed54cf3b5428063a5119733 100644 --- a/src/main/java/org/olat/modules/wiki/Wiki.java +++ b/src/main/java/org/olat/modules/wiki/Wiki.java @@ -152,8 +152,14 @@ public class Wiki implements WikiContainer, Serializable { return page; } if (loadContent) { - VFSLeaf leaf = (VFSLeaf) pageContainer.resolve(page.getPageId() + "." + WikiManager.WIKI_FILE_SUFFIX); - page.setContent(FileUtils.load(leaf.getInputStream(), "utf-8")); + VFSItem item = pageContainer.resolve(page.getPageId() + "." + WikiManager.WIKI_FILE_SUFFIX); + if(item instanceof VFSLeaf) { + try(InputStream in = ((VFSLeaf)item).getInputStream()) { + page.setContent(FileUtils.load(in, "utf-8")); + } catch(Exception e) { + log.error("Cannot load wiki page: " + item, e); + } + } } return page; } diff --git a/src/main/java/org/olat/portfolio/manager/EPStructureManager.java b/src/main/java/org/olat/portfolio/manager/EPStructureManager.java index 4e8c1a9867e5bd91096313147763a69aa103abde..6f91aa8ed064807f7db02e79d6a632b0f145b389 100755 --- a/src/main/java/org/olat/portfolio/manager/EPStructureManager.java +++ b/src/main/java/org/olat/portfolio/manager/EPStructureManager.java @@ -1337,7 +1337,7 @@ public class EPStructureManager { private EPStructureElement instantiateClone(PortfolioStructure source) { EPStructureElement targetEl = null; - //don't forget the inheritence + //don't forget the inheritance if (source instanceof EPPage) { targetEl = new EPPage(); targetEl.setTitle(((EPPage) source).getTitle()); diff --git a/src/main/java/org/olat/portfolio/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/portfolio/ui/_i18n/LocalStrings_pt_BR.properties index b550bcd74f713cdd623e0c74aa1c776c69e7789c..0ae4c2ba6dc97c340c2d6a0a981b1d4897a502b0 100644 --- a/src/main/java/org/olat/portfolio/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/portfolio/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,18 +1,29 @@ -#Thu Mar 16 21:55:06 CET 2017 +#Fri May 11 23:50:12 CEST 2018 EPStructuredMapTemplate=Modelo de portf\u00F3lio admin.menu.title=ePortfolio admin.menu.title.alt=Configurar ePortfolio binder.entry.point=Ponto de retorno na pasta binder.entry.point.entries=Entradas +binder.entry.point.not.available=Esta se\u00E7\u00E3o est\u00E1 desativada. Por favor, ative a se\u00E7\u00E3o antes de us\u00E1-la como p\u00E1gina de destino. binder.entry.point.toc=Vis\u00E3o geral choose.artefact.intro=Por favor selecione um artefato para ser adicionado \u00E0 pasta acumulativa. choose.artefact.intro.v2=Selecione os artefatos que deseja importar do m\u00F3dulo de portf\u00F3lio antigo para o novo gerenciamento de portf\u00F3lio. +comments.enabled=Coment\u00E1rios vis\u00EDveis em +comments.entries.enabled=$org.olat.modules.portfolio.ui\:portfolio.entries +comments.overview.enabled=$org.olat.modules.portfolio.ui\:portfolio.overview create.map=Criar pasta create.map.default=Criar pasta acumulativa create.map.fromTemplate=Criar uma pasta a partir de modelo create.map.intro=Por favor, selecione o tipo de pasta acumulativa a ser criada create.map.selectTemplate=Selecionar modelo enabled=Habilitado +entries.both.enabled=Tabela e lista +entries.elements.enabled=Elementos vis\u00EDveis +entries.list.enabled=Lista +entries.search.enabled=Busca +entries.table.enabled=Tabela +entries.timeline.enabled=Timeline +entries.view=Vista das entradas eportfolio.menu.title=ePortfolio eportfolio.menu.title.alt=ePortfolio junto com artefatos e pastas acumulativas handlers.intro=Por favor, selecione todos os tipos de artefatos dispon\u00EDveis. Artefatos desativados ser\u00E3o exibidos, no entanto, voc\u00EA n\u00E3o pode mais cobr\u00E1-los. @@ -44,6 +55,11 @@ portfolio.user.can.create.binder.course=Os alunos podem criar pastas de um curso portfolio.user.can.create.binder.template=Os alunos podem criar pastas a partir de um modelo portfolio.user.create.binder=Criar pastas portfolio.v1.module.enabled=Ativar o ePortfolio legado v1 durante o per\u00EDodo de transi\u00E7\u00E3o +section.disable.not.allowed=Esta se\u00E7\u00E3o n\u00E3o pode ser desativada. Est\u00E1 selecionada como a p\u00E1gina de destino\! +section.enabled=Se\u00E7\u00F5es vis\u00EDveis +section.entries.enabled=$org.olat.modules.portfolio.ui\:portfolio.entries +section.history.enabled=$org.olat.modules.portfolio.ui\:portfolio.history +section.overview.enabled=$org.olat.modules.portfolio.ui\:portfolio.overview site.title=$\:admin.menu.title site.title.alt=$\:admin.menu.title view.mode=Visualizar\: diff --git a/src/main/java/org/olat/registration/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/registration/_i18n/LocalStrings_pt_BR.properties index 15c9160f6b285e0ed7a982142d41e75bdc2b016b..91b07cd4614691216013130f072ae889eeac657a 100644 --- a/src/main/java/org/olat/registration/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/registration/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Fri Jun 23 15:04:03 CEST 2017 +#Fri May 11 23:55:41 CEST 2018 admin.enableRegistration=Ativar auto-inscri\u00E7\u00E3o admin.enableRegistration.on=Habilitado admin.enableRegistrationLink=Ativar o auto-inscri\u00E7\u00E3o de sites externos @@ -19,6 +19,7 @@ admin.registration.title=Auto-Inscri\u00E7\u00E3o admin.registrationLinkExample=Exemplo de c\u00F3digo disclaimer.acknowledged=<b>Eu l\u00ED o disclaimer, entend\u00ED e concordo.</b> disclaimer.additionalcheckbox=<b>Concordo com os termos de armazenamento de dados</b> +disclaimer.additionalcheckbox2=<b>Concordo com o aviso legal</b> disclaimer.additionallinktext=Termos de uso (Documento PDF) disclaimer.filedownloadurl=Nutzungsbedingungen.pdf (termos de uso) disclaimer.form.cancelled=Voc\u00EA n\u00E3o aceitou esta ren\u00FAncia. diff --git a/src/main/java/org/olat/repository/RepositoryManager.java b/src/main/java/org/olat/repository/RepositoryManager.java index fef92df4b3db146d8022b7c71dcb3deaaee5e172..23a617567df11e4bf52cfdd8cc52eef9f7f9e09c 100644 --- a/src/main/java/org/olat/repository/RepositoryManager.java +++ b/src/main/java/org/olat/repository/RepositoryManager.java @@ -36,7 +36,6 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import javax.persistence.TypedQuery; @@ -45,7 +44,6 @@ import org.olat.basesecurity.GroupRoles; import org.olat.basesecurity.IdentityImpl; import org.olat.basesecurity.IdentityRef; import org.olat.basesecurity.OrganisationRoles; -import org.olat.basesecurity.OrganisationService; import org.olat.core.CoreSpringFactory; import org.olat.core.commons.modules.bc.FolderConfig; import org.olat.core.commons.modules.bc.meta.MetaInfo; @@ -81,6 +79,7 @@ import org.olat.core.util.vfs.VFSLeaf; import org.olat.core.util.vfs.VFSManager; import org.olat.group.GroupLoggingAction; import org.olat.repository.manager.RepositoryEntryDAO; +import org.olat.repository.manager.RepositoryEntryQueries; import org.olat.repository.manager.RepositoryEntryRelationDAO; import org.olat.repository.manager.RepositoryEntryToOrganisationDAO; import org.olat.repository.model.RepositoryEntryLifecycle; @@ -89,6 +88,7 @@ import org.olat.repository.model.RepositoryEntryMembershipModifiedEvent; import org.olat.repository.model.RepositoryEntryPermissionChangeEvent; import org.olat.repository.model.RepositoryEntrySecurity; import org.olat.repository.model.RepositoryEntryShortImpl; +import org.olat.repository.model.RepositoryEntryToGroupRelation; import org.olat.repository.model.SearchRepositoryEntryParameters; import org.olat.resource.OLATResource; import org.olat.resource.OLATResourceManager; @@ -137,7 +137,7 @@ public class RepositoryManager { @Autowired private AutoAccessManager autoAccessManager; @Autowired - private OrganisationService organisationService; + private RepositoryEntryQueries repositoryEntryQueries; /** * @return Singleton. @@ -476,21 +476,18 @@ public class RepositoryManager { * @param a collection of external IDs to check if already existing * @return a list of already existing external IDs (or an emtpy list). */ - public List<String> lookupExistingExternalIds(Collection<String> externalIds) { - if (externalIds == null || externalIds.isEmpty()) { - return Collections.emptyList(); - } - - StringBuilder query = new StringBuilder(); - query.append("select v.externalId from ").append(RepositoryEntry.class.getName()).append(" as v ") - .append("where v.externalId in (:externalIds)"); + public List<String> lookupExistingExternalIds(Collection<String> externalIds) { + if (externalIds == null || externalIds.isEmpty()) { + return Collections.emptyList(); + } - List<String> existingExternalIds = - dbInstance.getCurrentEntityManager().createQuery(query.toString(), String.class) - .setParameter("externalIds", externalIds) - .getResultList(); + StringBuilder query = new StringBuilder(); + query.append("select v.externalId from ").append(RepositoryEntry.class.getName()).append(" as v ") + .append("where v.externalId in (:externalIds)"); - return existingExternalIds; + return dbInstance.getCurrentEntityManager().createQuery(query.toString(), String.class) + .setParameter("externalIds", externalIds) + .getResultList(); } /** @@ -505,11 +502,10 @@ public class RepositoryManager { .append(" where ores.key in (:resKeys)"); List<Long> resourceKeys = PersistenceHelper.toKeys(resources); - List<RepositoryEntryShort> shorties = dbInstance.getCurrentEntityManager() + return dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), RepositoryEntryShort.class) .setParameter("resKeys", resourceKeys) .getResultList(); - return shorties; } /** @@ -518,12 +514,11 @@ public class RepositoryManager { * @return */ public List<RepositoryEntryShortImpl> loadRepositoryEntryShortsByResource(Collection<Long> resIds, String resourceType) { - List<RepositoryEntryShortImpl> shorties = dbInstance.getCurrentEntityManager() + return dbInstance.getCurrentEntityManager() .createNamedQuery("loadRepositoryEntryShortsByResourceableIds", RepositoryEntryShortImpl.class) .setParameter("resIds", resIds) .setParameter("resName", resourceType) .getResultList(); - return shorties; } /** @@ -556,7 +551,7 @@ public class RepositoryManager { // allow for olat administrators if (roles.isOLATAdmin()) return true; // allow for institutional resource manager - if (isInstitutionalRessourceManagerFor(identity, roles, re)) return true; + if (isLearnResourceManagerFor(roles, re)) return true; // allow for authors if access granted at least for authors if (roles.isAuthor() && re.getAccess() >= RepositoryEntry.ACC_OWNERS_AUTHORS) return true; // allow for guests if access granted for guests @@ -583,6 +578,7 @@ public class RepositoryManager { boolean isGroupWaiting = false; boolean isEntryAdmin = false; + boolean isLearnRessourceManager = false; boolean canLaunch = false; if (roles.isGuestOnly()) { @@ -596,35 +592,50 @@ public class RepositoryManager { for(Object[] roleAndDef:roleAndDefs) { String role = (String)roleAndDef[0]; Boolean def = (Boolean)roleAndDef[1]; - switch(GroupRoles.valueOf(role)) { - case owner: { - isOwner = true; - break; - } - case coach: { - boolean d = (def == null ? false : def.booleanValue()); - if(d) { - isCourseCoach = true; - } else { - isGroupCoach = true; + + if(GroupRoles.isValue(role)) { + switch(GroupRoles.valueOf(role)) { + case owner: { + isOwner = true; + break; } - break; - } - case participant: { - boolean d = (def == null ? false : def.booleanValue()); - if(d) { - isCourseParticipant = true; - } else { - isGroupParticipant = true; + case coach: { + boolean d = (def == null ? false : def.booleanValue()); + if(d) { + isCourseCoach = true; + } else { + isGroupCoach = true; + } + break; + } + case participant: { + boolean d = (def == null ? false : def.booleanValue()); + if(d) { + isCourseParticipant = true; + } else { + isGroupParticipant = true; + } + break; } - break; + case waiting: { + isGroupWaiting = true; + break; + } + default: break; } - case waiting: { - isGroupWaiting = true; - break; + } else if(OrganisationRoles.isValue(role)) { + + switch(OrganisationRoles.valueOf(role)) { + case learnresourcemanager: { + isLearnRessourceManager = true; + break; + } + case coach: { + isCourseCoach = true; + break; + } + default: break; } - case invitee: break; - } } @@ -639,7 +650,7 @@ public class RepositoryManager { isEntryAdmin = true; } // allow for institutional resource manager - else if (isInstitutionalRessourceManagerFor(identity, roles, re)) { + else if (isLearnRessourceManager) { canLaunch = true; isEntryAdmin = true; } @@ -650,12 +661,9 @@ public class RepositoryManager { // allow if access granted for users canLaunch = true; } else if (re.getAccess() == RepositoryEntry.ACC_OWNERS && re.isMembersOnly()) { - if(!canLaunch) { - //is member? - if(isGroupParticipant || isGroupCoach || - isCourseParticipant || isCourseCoach) { - canLaunch = true; - } + // check if it's a member + if(!canLaunch && (isGroupParticipant || isGroupCoach || isCourseParticipant || isCourseCoach)) { + canLaunch = true; } } } @@ -848,6 +856,7 @@ public class RepositoryManager { for(RepositoryEntryToOrganisation relation:copyRelations) { if(!organisations.contains(relation.getOrganisation())) { repositoryEntryToOrganisationDao.delete(relation); + repositoryEntryRelationDao.removeRelation(relation.getOrganisation().getGroup()); } else { currentOrganisations.add(relation.getOrganisation()); } @@ -858,6 +867,8 @@ public class RepositoryManager { RepositoryEntryToOrganisation newRelation = repositoryEntryToOrganisationDao .createRelation(organisation, reloadedRe, false); currentRelations.add(newRelation); + RepositoryEntryToGroupRelation relToGroup = repositoryEntryRelationDao.createRelation(organisation.getGroup(), reloadedRe); + reloadedRe.getGroups().add(relToGroup); } } } @@ -919,94 +930,6 @@ public class RepositoryManager { return count == null || count.isEmpty() || count.get(0) == null ? null : count.get(0).longValue(); } - /** - * Query by type, limit by ownership or role accessability. - * @param identity - * @param restrictedType The type cannot be empty, no type, no return - * @param roles - * @return - */ - public List<RepositoryEntry> queryByTypeLimitAccess(Identity identity, List<String> restrictedType, Roles roles) { - if(restrictedType == null | restrictedType.isEmpty()) return Collections.emptyList(); - if(roles.isOLATAdmin()) { - identity = null;//not need for the query as administrator - } - - StringBuilder sb = new StringBuilder(400); - sb.append("select distinct v from ").append(RepositoryEntry.class.getName()).append(" v ") - .append(" inner join fetch v.olatResource as res") - .append(" inner join fetch v.statistics as statistics") - .append(" left join fetch v.lifecycle as lifecycle") - .append(" where res.resName in (:restrictedType) and "); - - boolean setIdentity = false; - if (roles.isOLATAdmin()) { - sb.append("v.access>=").append(RepositoryEntry.ACC_OWNERS); // treat admin special b/c admin is author as well - } else { - setIdentity = appendAccessSubSelects(sb, identity, roles); - } - - TypedQuery<RepositoryEntry> query = dbInstance.getCurrentEntityManager() - .createQuery(sb.toString(), RepositoryEntry.class) - .setParameter("restrictedType", restrictedType); - if(setIdentity) { - query.setParameter("identityKey", identity.getKey()); - } - return query.getResultList(); - } - - /** - * Query by type, limit by ownership or role accessability and institution. - * @param identity - * @param roles - * @param restrictedType The types cannot be empty, no type, nothing to return - * @return - */ - public List<RepositoryEntry> queryByTypeLimitAccess(Identity identity, Roles roles, List<String> restrictedType) { - if(restrictedType == null || restrictedType.isEmpty()) return Collections.emptyList(); - - List<RepositoryEntry> results = new ArrayList<>(); - if(!roles.isOLATAdmin() && roles.isLearnResourceManager()) { - List<Organisation> managedOrganisations = organisationService.getManageableOrganisations(identity, roles, OrganisationRoles.learnresourcemanager); - if(!managedOrganisations.isEmpty()) { - StringBuilder sb = new StringBuilder(400); - sb.append("select distinct v from ").append(RepositoryEntry.class.getName()).append(" v") - .append(" inner join fetch v.olatResource as res") - .append(" inner join fetch v.statistics as statistics") - .append(" left join fetch v.lifecycle as lifecycle") - .append(" inner join v.organisations as relToOrg") - .append(" where relToOrg.organisation.key in (:managedOrganisationsKey)") - .append(" and res.resName in (:restrictedType) and v.access = 1"); - - List<Long> managedOrganisationsKey = managedOrganisations - .stream().map(Organisation::getKey).collect(Collectors.toList()); - - List<RepositoryEntry> institutionalResults = dbInstance.getCurrentEntityManager() - .createQuery(sb.toString(), RepositoryEntry.class) - .setParameter("restrictedType", restrictedType) - .setParameter("managedOrganisationsKey", managedOrganisationsKey) - .getResultList(); - results.addAll(institutionalResults); - } - } - - long start = System.currentTimeMillis(); - List<RepositoryEntry> genericResults = queryByTypeLimitAccess(identity, restrictedType, roles); - long timeQuery3 = System.currentTimeMillis() - start; - log.info("Repo-Perf: queryByTypeLimitAccess#3 takes " + timeQuery3); - - if(results.isEmpty()) { - results.addAll(genericResults); - } else { - for(RepositoryEntry genericResult:genericResults) { - if(!PersistenceHelper.listContainsObjectByKey(results, genericResult)) { - results.add(genericResult); - } - } - } - return results; - } - /** * Query by ownership, optionally limit by type. * @@ -1017,14 +940,14 @@ public class RepositoryManager { public List<RepositoryEntry> queryByOwner(IdentityRef identity, String... limitTypes) { if (identity == null) throw new AssertException("identity can not be null!"); StringBuilder sb = new StringBuilder(400); - sb.append("select v from repositoryentry v ") - .append(" inner join fetch v.olatResource as res ") + sb.append("select v from repositoryentry v") + .append(" inner join fetch v.olatResource as res") .append(" inner join fetch v.statistics as statistics") .append(" left join fetch v.lifecycle as lifecycle") .append(" inner join v.groups as relGroup on relGroup.defaultGroup=true") .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as membership on membership.role='").append(GroupRoles.owner.name()).append("'") - .append(" where v.access>0 and membership.identity.key=:identityKey"); + .append(" where v.access>=").append(RepositoryEntry.ACC_OWNERS).append(" and membership.identity.key=:identityKey"); if (limitTypes != null && limitTypes.length > 0) { sb.append(" and res.resName in (:types)"); } @@ -1033,7 +956,7 @@ public class RepositoryManager { .createQuery(sb.toString(), RepositoryEntry.class) .setParameter("identityKey", identity.getKey()); if(limitTypes != null && limitTypes.length > 0) { - List<String> types = new ArrayList<String>(); + List<String> types = new ArrayList<>(); for(String type:limitTypes) { types.add(type); } @@ -1093,7 +1016,7 @@ public class RepositoryManager { .createQuery(sb.toString(), RepositoryEntry.class) .setParameter("identityKey", identity.getKey()); if(limitTypes != null && limitTypes.length > 0) { - List<String> types = new ArrayList<String>(); + List<String> types = new ArrayList<>(); for(String type:limitTypes) { types.add(type); } @@ -1117,93 +1040,71 @@ public class RepositoryManager { } /** - * Search for resources that can be referenced by an author. This is the case: - * 1) the user is the owner of the resource - * 2) the user is author and the resource is at least visible to authors (BA) - * and the resource is set to canReference - * @param identity The user initiating the query - * @param roles The current users role set - * @param resourceTypes Limit search result to this list of repo types. Can be NULL - * @param displayName Limit search to this repo title. Can be NULL - * @param author Limit search to this user (Name, firstname, loginname). Can be NULL - * @param desc Limit search to description. Can be NULL - * @return List of repository entries - */ - public List<RepositoryEntry> queryReferencableResourcesLimitType(Identity identity, Roles roles, List<String> resourceTypes, - String displayName, String author, String desc) { - if (identity == null) { - throw new AssertException("identity can not be null!"); - } - if (!roles.isAuthor()) { - // if user has no author right he can not reference to any resource at all - return new ArrayList<>(); - } - return queryResourcesLimitType(identity, resourceTypes, displayName, author, desc, true, false); - } - - /** - * Search for resources that can be copied by an author. This is the case: - * 1) the user is the owner of the resource - * 2) the user is author and the resource is at least visible to authors (BA) - * and the resource is set to canCopy - * @param identity The user initiating the query - * @param roles The current users role set - * @param resourceTypes Limit search result to this list of repo types. Can be NULL - * @param displayName Limit search to this repo title. Can be NULL - * @param author Limit search to this user (Name, firstname, loginname). Can be NULL - * @param desc Limit search to description. Can be NULL - * @return List of repository entries + * This is an administrative query which need author, learn resource manager + * or higher permissions. + * + * @param identity + * @param roles + * @param resourceTypes + * @param displayName + * @param author + * @param desc + * @param checkCanReference + * @param checkCanCopy + * @return */ - public List<RepositoryEntry> queryCopyableResourcesLimitType(Identity identity, Roles roles, List<String> resourceTypes, - String displayName, String author, String desc) { - if (identity == null) { - throw new AssertException("identity can not be null!"); + public List<RepositoryEntry> queryResourcesLimitType(Identity identity, Roles roles, List<String> resourceTypes, + String displayName, String author, String desc, boolean checkCanReference, boolean checkCanCopy) { + if(!checkCanReference && !checkCanCopy) { + return Collections.emptyList(); } - if (!roles.isAuthor() && !roles.isOLATAdmin()) { - // if user has no author right he can not reference to any resource at all - return new ArrayList<>(); + if(!roles.isAuthor() && !roles.isLearnResourceManager() && !roles.isOLATAdmin()) { + return Collections.emptyList(); } - return queryResourcesLimitType(identity, resourceTypes, displayName, author, desc, false, true); - } - - public List<RepositoryEntry> queryResourcesLimitType(Identity identity, List<String> resourceTypes, - String displayName, String author, String desc, boolean checkCanReference, boolean checkCanCopy) { - - // cleanup some data: use null values if emtpy - if (resourceTypes != null && resourceTypes.size() == 0) resourceTypes = null; - if ( ! StringHelper.containsNonWhitespace(displayName)) displayName = null; - if ( ! StringHelper.containsNonWhitespace(author)) author = null; - if ( ! StringHelper.containsNonWhitespace(desc)) desc = null; // Build the query // 1) Joining tables StringBuilder query = new StringBuilder(400); - query.append("select distinct v from ").append(RepositoryEntry.class.getName()).append(" v ") + query.append("select distinct v from repositoryentry v ") .append(" inner join fetch v.olatResource as res" ) .append(" inner join fetch v.statistics as statistics") - .append(" left join fetch v.lifecycle as lifecycle"); - // 2) where clause - query.append(" where "); - // restrict on ownership or referencability flag - - int access; - if(identity != null) { - access = RepositoryEntry.ACC_OWNERS_AUTHORS; - query.append(" (v.access>=:access"); - if(checkCanReference) { - query.append(" and v.canReference=true"); - } - if(checkCanCopy) { - query.append(" and v.canCopy=true"); - } - query.append(" or (v.access>0 and exists (select rel from repoentrytogroup as rel, bgroup as baseGroup, bgroupmember as membership ") - .append(" where rel.entry=v and rel.group=baseGroup and membership.group=baseGroup and membership.identity.key=:identityKey ") - .append(" and membership.role in ('").append(GroupRoles.owner.name()).append("','").append(GroupRoles.coach.name()).append("','").append(GroupRoles.participant.name()).append("')") - .append(" ))") - .append(" )"); + .append(" left join fetch v.lifecycle as lifecycle") + .append(" left join v.groups as relGroup") + .append(" left join relGroup.group as baseGroup") + .append(" left join baseGroup.members as membership"); + if(roles.isOLATAdmin()) { + query.append(" where v.access>=").append(RepositoryEntry.ACC_OWNERS); } else { - access = RepositoryEntry.ACC_OWNERS; - query.append(" v.access>=:access "); + query.append(" where membership.identity.key=:identityKey and ("); + // as owner + query.append("(v.access>=").append(RepositoryEntry.ACC_OWNERS) + .append(" and membership.role='").append(GroupRoles.owner.name()).append("')"); + + if(roles.isLearnResourceManager()) { + // as learn resource manager + query.append(" or (v.access>=").append(RepositoryEntry.ACC_OWNERS); + if(checkCanReference) { + query.append(" and v.canReference=true"); + } + if(checkCanCopy) { + query.append(" and v.canCopy=true"); + } + query.append(" and membership.role='").append(OrganisationRoles.learnresourcemanager.name()).append("')"); + } + + if(roles.isAuthor()) { + // as author + query.append(" or (v.access>=").append(RepositoryEntry.ACC_OWNERS_AUTHORS); + if(checkCanReference) { + query.append(" and v.canReference=true"); + } + if(checkCanCopy) { + query.append(" and v.canCopy=true"); + } + query.append(" and membership.role='").append(OrganisationRoles.author.name()).append("')"); + + } + query.append(")"); } // restrict on type @@ -1237,19 +1138,22 @@ public class RepositoryManager { // create query an set query data TypedQuery<RepositoryEntry> dbquery = dbInstance.getCurrentEntityManager() .createQuery(query.toString(), RepositoryEntry.class); - if(identity != null) { + if(!roles.isOLATAdmin()) { dbquery.setParameter("identityKey", identity.getKey()); } - dbquery.setParameter("access", access); + if (author != null) { dbquery.setParameter("author", author); } + if (displayName != null) { dbquery.setParameter("displayname", displayName); } + if (desc != null) { dbquery.setParameter("desc", desc); } + if (resourceTypes != null) { dbquery.setParameter("resourcetypes", resourceTypes); } @@ -1264,25 +1168,21 @@ public class RepositoryManager { * @param limitAccess * @return Results */ - public List<RepositoryEntry> queryByOwnerLimitAccess(Identity identity, int limitAccess, Boolean membersOnly) { + public List<RepositoryEntry> queryByOwnerLimitAccess(Identity identity) { StringBuilder sb = new StringBuilder(); - sb.append("select v from ").append(RepositoryEntry.class.getName()).append(" v ") - .append(" inner join fetch v.olatResource as res ") + sb.append("select v from repositoryentry v") + .append(" inner join fetch v.olatResource as res") .append(" inner join fetch v.statistics as statistics") .append(" left join fetch v.lifecycle as lifecycle") .append(" inner join v.groups as relGroup on relGroup.defaultGroup=true") .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as membership on membership.role='").append(GroupRoles.owner.name()).append("'") - .append(" where membership.identity.key=:identityKey and (v.access>=:limitAccess"); - if(limitAccess != RepositoryEntry.ACC_OWNERS && membersOnly != null && membersOnly.booleanValue()) { - sb.append(" or (v.access=1 and v.membersOnly=true)"); - } - sb.append(")"); - + .append(" where membership.identity.key=:identityKey and (v.access>=").append(RepositoryEntry.ACC_USERS) + .append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true)") + .append(")"); return dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), RepositoryEntry.class) .setParameter("identityKey", identity.getKey()) - .setParameter("limitAccess", limitAccess) .getResultList(); } @@ -1296,237 +1196,13 @@ public class RepositoryManager { } return repositoryEntryRelationDao.hasRole(identity, entry, GroupRoles.owner.name()); } - - /** - * This query need the repository entry as v, v.olatResource as res - * and v.baseGroup as baseGroup - * @param sb - * @param identity - * @param roles - * @return - */ - public static boolean appendAccessSubSelects(StringBuilder sb, IdentityRef identity, Roles roles) { - sb.append("(v.access >= "); - if (roles.isAuthor()) { - sb.append(RepositoryEntry.ACC_OWNERS_AUTHORS); - } else if (roles.isGuestOnly()) { - sb.append(RepositoryEntry.ACC_USERS_GUESTS); - } else { - sb.append(RepositoryEntry.ACC_USERS); - } - - //+ membership - boolean setIdentity = false; - if(!roles.isGuestOnly() && identity != null) { - setIdentity = true; - //sub select are very quick - sb.append(" or (") - .append(" v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true") - .append(" and exists (select rel from repoentrytogroup as rel, bgroup as baseGroup, bgroupmember as membership ") - .append(" where rel.entry=v and rel.group=baseGroup and membership.group=baseGroup and membership.identity.key=:identityKey ") - .append(" and membership.role in ('").append(GroupRoles.owner.name()).append("','").append(GroupRoles.coach.name()).append("','").append(GroupRoles.participant.name()).append("')") - .append(" )") - .append(" )"); - } - sb.append(")"); - return setIdentity; - } - + public int countGenericANDQueryWithRolesRestriction(SearchRepositoryEntryParameters params) { - TypedQuery<Number> dbQuery = createGenericANDQueryWithRolesRestriction(params, false, Number.class); - Number count = dbQuery.getSingleResult(); - return count.intValue(); + return repositoryEntryQueries.countEntries(params); } public List<RepositoryEntry> genericANDQueryWithRolesRestriction(SearchRepositoryEntryParameters params, int firstResult, int maxResults, boolean orderBy) { - TypedQuery<RepositoryEntry> dbQuery = createGenericANDQueryWithRolesRestriction(params, orderBy, RepositoryEntry.class); - dbQuery.setFirstResult(firstResult); - if(maxResults > 0) { - dbQuery.setMaxResults(maxResults); - } - return dbQuery.getResultList(); - } - - private <T> TypedQuery<T> createGenericANDQueryWithRolesRestriction(SearchRepositoryEntryParameters params, boolean orderBy, Class<T> type) { - String displayName = params.getDisplayName(); - String author = params.getAuthor(); - String desc = params.getDesc(); - final List<String> resourceTypes = params.getResourceTypes(); - final Identity identity = params.getIdentity(); - final Roles roles = params.getRoles(); - - boolean isLearnResourceManager = (!roles.isOLATAdmin() && roles.isLearnResourceManager()); - boolean var_author = StringHelper.containsNonWhitespace(author); - boolean var_displayname = StringHelper.containsNonWhitespace(displayName); - boolean var_desc = StringHelper.containsNonWhitespace(desc); - boolean var_resourcetypes = (resourceTypes != null && resourceTypes.size() > 0); - boolean count = Number.class.equals(type); - - StringBuilder query = new StringBuilder(); - if(count) { - query.append("select count(v.key) from ").append(RepositoryEntry.class.getName()).append(" v "); - query.append(" inner join v.olatResource as res"); - } else { - if(params.getParentEntry() != null) { - query.append("select v from ").append(CatalogEntry.class.getName()).append(" cei ") - .append(" inner join cei.parent parentCei") - .append(" inner join cei.repositoryEntry v") - .append(" inner join fetch v.olatResource as res") - .append(" inner join fetch v.statistics as statistics") - .append(" left join fetch v.lifecycle as lifecycle"); - } else { - query.append("select distinct v from ").append(RepositoryEntry.class.getName()).append(" v ") - .append(" inner join fetch v.olatResource as res") - .append(" inner join fetch v.statistics as statistics") - .append(" left join fetch v.lifecycle as lifecycle"); - } - } - - boolean setIdentity = false; - List<Long> managedOrganisationKeys = null; - - //access rules - if(roles.isOLATAdmin()) { - query.append(" where v.access!=0 "); - } else if(isLearnResourceManager) { - query.append(" where (v.access >="); - if (roles.isAuthor()) { - query.append(RepositoryEntry.ACC_OWNERS_AUTHORS); - } else if (roles.isGuestOnly()) { - query.append(RepositoryEntry.ACC_USERS_GUESTS); - } else{ - query.append(RepositoryEntry.ACC_USERS); - } - query.append(" or ("); - query.append("v.access=1 and exists (select relToOrg.key from repoentrytoorganisation as relToOrg") - .append(" where relToOrg.entry.key=v.key and relToOrg.organisation.key in (:managedOrganisationKeys)") - .append(")))"); - - List<Organisation> organisations = organisationService.getManageableOrganisations(identity, roles, OrganisationRoles.learnresourcemanager); - managedOrganisationKeys = organisations.stream().map(Organisation::getKey).collect(Collectors.toList()); - } else if (params.isOnlyOwnedResources()) { - query.append(" where (v.access>0 and exists (select rel from repoentrytogroup as rel, bgroup as baseGroup, bgroupmember as membership ") - .append(" where rel.entry=v and rel.group=baseGroup and membership.group=baseGroup") - .append(" and membership.identity.key=:identityKey and membership.role='").append(GroupRoles.owner.name()).append("'") - .append(" ))"); - setIdentity = true; - } else if (params.isOnlyExplicitMember()) { - query.append(" where (v.access>=").append(RepositoryEntry.ACC_USERS) - .append(" or (") - .append(" v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true") - .append(" and exists (select rel from repoentrytogroup as rel, bgroup as baseGroup, bgroupmember as membership ") - .append(" where rel.entry=v and rel.group=baseGroup and membership.group=baseGroup and membership.identity.key=:identityKey ") - .append(" and membership.role in ('").append(GroupRoles.owner.name()).append("','").append(GroupRoles.coach.name()).append("','").append(GroupRoles.participant.name()).append("')") - .append(" )") - .append(" ))"); - - setIdentity = true; - } else { - query.append(" where "); - setIdentity = appendAccessSubSelects(query, identity, roles); - } - - if(params.getParentEntry() != null) { - query.append(" and parentCei.key=:parentCeiKey"); - } - - if (var_author) { // fuzzy author search - author = PersistenceHelper.makeFuzzyQueryString(author); - - query.append(" and exists (select rel from repoentrytogroup as rel, bgroup as baseGroup, bgroupmember as membership, ") - .append(IdentityImpl.class.getName()).append(" as identity, ").append(UserImpl.class.getName()).append(" as user") - .append(" where rel.entry=v and rel.group=baseGroup and membership.group=baseGroup and membership.identity.key=identity.key and user.identity.key=identity.key") - .append(" and membership.role='").append(GroupRoles.owner.name()).append("'") - .append(" and ("); - PersistenceHelper.appendFuzzyLike(query, "user.firstName", "author", dbInstance.getDbVendor()); - query.append(" or "); - PersistenceHelper.appendFuzzyLike(query, "user.lastName", "author", dbInstance.getDbVendor()); - query.append(" or "); - PersistenceHelper.appendFuzzyLike(query, "identity.name", "author", dbInstance.getDbVendor()); - query.append(" ))"); - } - - if (var_displayname) { - displayName = PersistenceHelper.makeFuzzyQueryString(displayName); - query.append(" and "); - PersistenceHelper.appendFuzzyLike(query, "v.displayname", "displayname", dbInstance.getDbVendor()); - } - - if (var_desc) { - desc = PersistenceHelper.makeFuzzyQueryString(desc); - query.append(" and "); - PersistenceHelper.appendFuzzyLike(query, "v.description", "desc", dbInstance.getDbVendor()); - } - - if (var_resourcetypes) { - query.append(" and res.resName in (:resourcetypes)"); - } - - if(params.getRepositoryEntryKeys() != null && !params.getRepositoryEntryKeys().isEmpty()) { - query.append(" and v.key in (:entryKeys)"); - } - - if(params.getManaged() != null) { - if(params.getManaged().booleanValue()) { - query.append(" and v.managedFlagsString is not null"); - } else { - query.append(" and v.managedFlagsString is null"); - } - } - - if(StringHelper.containsNonWhitespace(params.getExternalId())) { - query.append(" and v.externalId=:externalId"); - } - - if(StringHelper.containsNonWhitespace(params.getExternalRef())) { - query.append(" and v.externalRef=:externalRef"); - } - - if(params.getMarked() != null) { - setIdentity = true; - query.append(" and v.key ").append(params.getMarked().booleanValue() ? "" : "not").append(" in (") - .append(" select mark.resId from ").append(MarkImpl.class.getName()).append(" mark ") - .append(" where mark.resName='RepositoryEntry' and mark.creator.key=:identityKey") - .append(" )"); - } - - if(!count && orderBy) { - query.append(" order by v.displayname, v.key ASC"); - } - - TypedQuery<T> dbQuery = dbInstance.getCurrentEntityManager().createQuery(query.toString(), type); - if(managedOrganisationKeys != null) { - dbQuery.setParameter("managedOrganisationKeys", managedOrganisationKeys); - } - if(params.getParentEntry() != null) { - dbQuery.setParameter("parentCeiKey", params.getParentEntry().getKey()); - } - if (var_author) { - dbQuery.setParameter("author", author); - } - if (var_displayname) { - dbQuery.setParameter("displayname", displayName); - } - if (var_desc) { - dbQuery.setParameter("desc", desc); - } - if (var_resourcetypes) { - dbQuery.setParameter("resourcetypes", resourceTypes); - } - if(params.getRepositoryEntryKeys() != null && !params.getRepositoryEntryKeys().isEmpty()) { - dbQuery.setParameter("entryKeys", params.getRepositoryEntryKeys()); - } - if(StringHelper.containsNonWhitespace(params.getExternalId())) { - dbQuery.setParameter("externalId", params.getExternalId()); - } - if(StringHelper.containsNonWhitespace(params.getExternalRef())) { - dbQuery.setParameter("externalRef", params.getExternalRef()); - } - - if(setIdentity) { - dbQuery.setParameter("identityKey", identity.getKey()); - } - return dbQuery; + return repositoryEntryQueries.searchEntries(params, firstResult, maxResults, orderBy); } /** @@ -1559,7 +1235,7 @@ public class RepositoryManager { */ public void addOwners(Identity ureqIdentity, IdentitiesAddEvent iae, RepositoryEntry re, MailPackage mailing) { List<Identity> addIdentities = iae.getAddIdentities(); - List<Identity> reallyAddedId = new ArrayList<Identity>(); + List<Identity> reallyAddedId = new ArrayList<>(); for (Identity identity : addIdentities) { if (!repositoryEntryRelationDao.hasRole(identity, re, GroupRoles.owner.name())) { repositoryEntryRelationDao.addRole(identity, re, GroupRoles.owner.name()); @@ -1651,7 +1327,7 @@ public class RepositoryManager { */ public void addTutors(Identity ureqIdentity, Roles ureqRoles, IdentitiesAddEvent iae, RepositoryEntry re, MailPackage mailing) { List<Identity> addIdentities = iae.getAddIdentities(); - List<Identity> reallyAddedId = new ArrayList<Identity>(); + List<Identity> reallyAddedId = new ArrayList<>(); for (Identity identityToAdd : addIdentities) { if (!repositoryEntryRelationDao.hasRole(identityToAdd, re, GroupRoles.coach.name())) { @@ -1752,7 +1428,7 @@ public class RepositoryManager { */ public void addParticipants(Identity ureqIdentity, Roles ureqRoles, IdentitiesAddEvent iae, RepositoryEntry re, MailPackage mailing) { List<Identity> addIdentities = iae.getAddIdentities(); - List<Identity> reallyAddedId = new ArrayList<Identity>(); + List<Identity> reallyAddedId = new ArrayList<>(); for (Identity identityToAdd : addIdentities) { if (!repositoryEntryRelationDao.hasRole(identityToAdd, re, GroupRoles.participant.name())) { @@ -1901,11 +1577,11 @@ public class RepositoryManager { } /** - * has one owner of repository entry the same institution like the resource manager + * * @param RepositoryEntry repositoryEntry * @param Identity identity */ - public boolean isInstitutionalRessourceManagerFor(Identity identity, Roles roles, RepositoryEntryRef repositoryEntry) { + public boolean isLearnResourceManagerFor(Roles roles, RepositoryEntryRef repositoryEntry) { if(repositoryEntry == null) { return false; } @@ -1914,7 +1590,8 @@ public class RepositoryManager { return false; } - List<OrganisationRef> learnResourceManagerOrganisations = roles.getOrganisationsWithRoles(OrganisationRoles.learnresourcemanager); + //TODO roles (add administration) + List<OrganisationRef> learnResourceManagerOrganisations = roles.getOrganisationsWithRole(OrganisationRoles.learnresourcemanager); List<OrganisationRef> repositoryOrganisations = repositoryEntryToOrganisationDao.getOrganisationReferences(repositoryEntry); for(OrganisationRef learnResourceManagerOrganisation:learnResourceManagerOrganisations) { for(OrganisationRef repositoryOrganisation:repositoryOrganisations) { @@ -1932,7 +1609,7 @@ public class RepositoryManager { .append(" inner join v.groups as relGroup") .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as membership on membership.role='").append(GroupRoles.participant.name()).append("'") - .append(" where (v.access>=3 or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true))") + .append(" where (v.access>=").append(RepositoryEntry.ACC_USERS).append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true))") .append(" and membership.identity.key=:identityKey"); return dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), Number.class) @@ -1954,7 +1631,7 @@ public class RepositoryManager { .append(" inner join v.groups as relGroup") .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as membership") - .append(" where (v.access>=3 or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true))") + .append(" where (v.access>=").append(RepositoryEntry.ACC_USERS).append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true))") .append(" and membership.identity.key=:identityKey and membership.role='").append(GroupRoles.participant.name()).append("'"); if(StringHelper.containsNonWhitespace(type)) { sb.append(" and res.resName=:resourceType"); @@ -1990,7 +1667,7 @@ public class RepositoryManager { .append(" inner join v.groups as relGroup") .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as membership") - .append(" where (v.access>=3 or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true))") + .append(" where (v.access>=").append(RepositoryEntry.ACC_USERS).append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true))") .append(" and membership.identity.key=:identityKey and membership.role in('").append(GroupRoles.participant.name()).append("','").append(GroupRoles.coach.name()).append("')"); if(StringHelper.containsNonWhitespace(type)) { sb.append(" and res.resName=:resourceType"); @@ -2049,8 +1726,7 @@ public class RepositoryManager { if(StringHelper.containsNonWhitespace(type)) { query.setParameter("resourceType", type); } - List<RepositoryEntry> repoEntries = query.getResultList(); - return repoEntries; + return query.getResultList(); } public List<RepositoryEntryLight> getParticipantRepositoryEntry(IdentityRef identity, int maxResults, RepositoryEntryOrder... orderby) { @@ -2060,7 +1736,7 @@ public class RepositoryManager { .append(" where exists (select rel from repoentrytogroup as rel, bgroup as baseGroup, bgroupmember as membership") .append(" where rel.entry=v and rel.group=baseGroup and membership.group=baseGroup and membership.identity.key=:identityKey") .append(" and membership.role='").append(GroupRoles.participant.name()).append("')") - .append(" and (v.access>=3 or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true))"); + .append(" and (v.access>=").append(RepositoryEntry.ACC_USERS).append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true))"); appendOrderBy(sb, "v", orderby); TypedQuery<RepositoryEntryLight> query = dbInstance.getCurrentEntityManager() @@ -2079,7 +1755,7 @@ public class RepositoryManager { .append(" where exists (select rel from repoentrytogroup as rel, bgroup as baseGroup, bgroupmember as membership") .append(" where rel.entry=v and rel.group=baseGroup and membership.group=baseGroup and membership.identity.key=:identityKey") .append(" and membership.role='").append(GroupRoles.coach.name()).append("')") - .append(" and (v.access>=3 or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true))"); + .append(" and (v.access>=").append(RepositoryEntry.ACC_USERS).append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true))"); appendOrderBy(sb, "v", orderby); TypedQuery<RepositoryEntryLight> query = dbInstance.getCurrentEntityManager() @@ -2098,7 +1774,7 @@ public class RepositoryManager { .append(" inner join v.groups as relGroup on relGroup.defaultGroup=true") .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as membership") - .append(" where v.access>=0 and membership.identity.key=:identityKey and membership.role='").append(GroupRoles.owner.name()).append("'"); + .append(" where v.access>=").append(RepositoryEntry.ACC_OWNERS).append(" and membership.identity.key=:identityKey and membership.role='").append(GroupRoles.owner.name()).append("'"); return dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), Number.class) @@ -2146,8 +1822,7 @@ public class RepositoryManager { if(maxResults > 0) { query.setMaxResults(maxResults); } - List<RepositoryEntry> entries = query.getResultList(); - return entries; + return query.getResultList(); } /** @@ -2158,7 +1833,7 @@ public class RepositoryManager { sb.append(" inner join v.groups as relGroup") .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as membership on membership.role ='").append(GroupRoles.coach.name()).append("'") - .append(" where (v.access>=3 or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true))") + .append(" where (v.access>=").append(RepositoryEntry.ACC_USERS).append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true))") .append(" and membership.identity.key=:identityKey"); } @@ -2245,15 +1920,14 @@ public class RepositoryManager { query.setParameter("repoKey", re.getKey()); } if(identity != null && identity.length > 0) { - List<Long> ids = new ArrayList<Long>(identity.length); + List<Long> ids = new ArrayList<>(identity.length); for(Identity id:identity) { ids.add(id.getKey()); } query.setParameter("identityKeys", ids); } - List<RepositoryEntryMembership> entries = query.getResultList(); - return entries; + return query.getResultList(); } public List<RepositoryEntryMembership> getRepositoryEntryMembership(RepositoryEntryRef re) { @@ -2272,20 +1946,19 @@ public class RepositoryManager { .setParameter("repoKey", re.getKey()) .getResultList(); - Map<Long, RepositoryEntryMembership> memberships = new HashMap<Long, RepositoryEntryMembership>(); + Map<Long, RepositoryEntryMembership> memberships = new HashMap<>(); for(Object[] membership:members) { Long identityKey = (Long)membership[0]; Date lastModified = (Date)membership[1]; Date creationDate = (Date)membership[2]; Object role = membership[3]; - RepositoryEntryMembership mb = memberships.get(identityKey); - if(mb == null) { - mb = new RepositoryEntryMembership(); - mb.setIdentityKey(identityKey); - mb.setRepoKey(re.getKey()); - memberships.put(identityKey, mb); - } + RepositoryEntryMembership mb = memberships.computeIfAbsent(identityKey, key -> { + RepositoryEntryMembership rmb = new RepositoryEntryMembership(); + rmb.setIdentityKey(identityKey); + rmb.setRepoKey(re.getKey()); + return rmb; + }); mb.setCreationDate(creationDate); mb.setLastModified(lastModified); @@ -2298,10 +1971,10 @@ public class RepositoryManager { } } - return new ArrayList<RepositoryEntryMembership>(memberships.values()); + return new ArrayList<>(memberships.values()); } - public List<RepositoryEntryMembership> getOwnersMembership(List<RepositoryEntry> res) { + public List<RepositoryEntryMembership> getOwnersMembership2(List<RepositoryEntry> res) { if(res== null || res.isEmpty()) return Collections.emptyList(); StringBuilder sb = new StringBuilder(400); @@ -2313,8 +1986,7 @@ public class RepositoryManager { .createQuery(sb.toString(), RepositoryEntryMembership.class) .setParameter("repoKey", repoKeys); - List<RepositoryEntryMembership> entries = query.getResultList(); - return entries; + return query.getResultList(); } public void updateRepositoryEntryMemberships(Identity ureqIdentity, Roles ureqRoles, RepositoryEntry re, diff --git a/src/main/java/org/olat/repository/RepositoryService.java b/src/main/java/org/olat/repository/RepositoryService.java index 48f3df6e1952d0078b59d3725ad66250c44900b8..f801ac5488cb87ed388ddcc394dc320c0a3d1f40 100644 --- a/src/main/java/org/olat/repository/RepositoryService.java +++ b/src/main/java/org/olat/repository/RepositoryService.java @@ -183,7 +183,9 @@ public interface RepositoryService { public int countMembers(RepositoryEntryRef re, String... roles); /** - * Count all members (following up to business groups wainting list) + * Count all members (following up to business groups waiting list) with the following + * roles: owner, coach, participant, waiting + * * @param res * @param excludeMe Exclude to user which call the method (optional) * @return @@ -250,7 +252,7 @@ public interface RepositoryService { /** * Get the role in the specified resource, business group are included in - * the query. + * the query but not organizations. * * @return The list of roles */ @@ -296,14 +298,12 @@ public interface RepositoryService { /** - * Add an organization to the repository entry. + * Hold the organizations via the group relation. * * @param entry The repository entry - * @param organisation The organisation - * @param master If the relation is "master" - * @return A merged repository entry + * @return A list of organization */ - public RepositoryEntry addOrganisation(RepositoryEntry entry, Organisation organisation, boolean master); + public List<Organisation> getOrganisations(RepositoryEntryRef entry); /** * diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties index 1687c66c590ad11ca9db3662598de92471a73897..bef52bf7f0c8374f14ef0cdfab4df80817cd9b40 100644 --- a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties @@ -473,6 +473,7 @@ search.course=Kurse search.courses.closed=Beendet search.courses.student=Suchen search.cp=CP-Lerninhalte +search.curriculums=Curriculum search.deleted=Gel\u00F6scht search.filter.showAll=alle anzeigen search.filter.type=Typ diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties index 845b579b01c117e49f49b9eb3a421dc8c83b744d..528ce6ff4805706a745abdfb7f4cf20da5d1c240 100644 --- a/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties @@ -470,6 +470,7 @@ search.course=Courses search.courses.closed=Finished search.courses.student=Search search.cp=CP learning content +search.curriculums=Curriculum search.deleted=Deleted search.filter.showAll=Show all search.filter.type=Type diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_pt_BR.properties index 729ce6659dd6eaaf81f4cac5f9ad7f6cc5f8be6c..8abe2c70cba7ed20f6b3e713c82968bdc24ed32d 100644 --- a/src/main/java/org/olat/repository/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Thu Feb 08 14:08:45 CET 2018 +#Fri May 11 23:56:46 CEST 2018 BinderTemplate=Modelo Portfolio 2.0 CourseModule=Curso EPStructuredMapTemplate=Template/modelo de Portfolio @@ -117,6 +117,7 @@ cif.expenditureOfWork=Tempo dedicado cif.externalid=ID Externo cif.externalref=Ref. Externa cif.externalref.hover=Uma refer\u00EAncia externa, exibido na p\u00E1gina de vis\u00E3o geral do curso. +cif.freetext=Texto da licen\u00E7a cif.groups=Grupos cif.id=ID cif.id.na=N\u00E3o dispon\u00EDvel @@ -124,6 +125,9 @@ cif.initialAuthor=Iniciador cif.lastUsage.na=- cif.lastusage=\u00DAltimo acesso cif.launched=N\u00FAmero de lan\u00E7amentos +cif.license=Licen\u00E7a +cif.license.text=Texto da Licen\u00E7a +cif.licensor=Licenciador cif.location=Localiza\u00E7\u00E3o cif.mainLanguage=Idioma principal cif.managedflags=M\u00F3dulo gerenciados externamente @@ -339,6 +343,7 @@ info.entry.read.only=A inser\u00E7\u00E3o foi conclu\u00EDda com \u00EAxito. info.header=<i class\='o_icon o_icon-lg o_icon_info_resource'> </i> info.message.change.title=Este curso foi modificado com sucesso e [Fechado]. launch.noaccess=Voc\u00EA n\u00E3o tem direitos de acesso para lan\u00E7ar este recurso did\u00E1tico. +license.admin.title=Recursos did\u00E1ticos lifecycle.label=Nome lifecycle.softkey=Identificador lifecycle.validFrom=$\:cif.date.start @@ -381,6 +386,8 @@ new.wiki.intro=Criar novo wiki no.catalog.entries=Este recurso ainda n\u00E3o foi adicionado ao cat\u00E1logo. Use o bot\u00E3o "Adicionar ao cat\u00E1logo" na barra de ferramentas acima para adicionar o recurso a um n\u00EDvel espec\u00EDfico no cat\u00E1logo. O cat\u00E1logo permite aos usu\u00E1rios procurar recursos dispon\u00EDveis dependendo da configura\u00E7\u00E3o de acesso a recursos. Voc\u00EA pode adicionar o recurso a v\u00E1rios n\u00EDveis do cat\u00E1logo. no.lifecycle=Nenhuma limita\u00E7\u00E3o nomembers=XXX No members +notification.mail.added.auto.body=*** Esta \u00E9 uma mensagem gerada automaticamente. Por favor, n\u00E3o responda a esta mensagem *** Voc\u00EA se registrou no seguinte curso\: Nome do curso\: $coursename Descri\u00E7\u00E3o\: $coursedescription Link\: $courseurl +notification.mail.added.auto.subject=$\:notification.mail.added.subject notification.mail.added.body=*** Esta \u00E9 uma mensagem gerada automaticamente. Por favor, n\u00E3o responda a esta mensagem ***\r\n\r\nVoc\u00EA foi adicionado por {0} {1} ({2}) para um curso\:\r\n\r\nNome do curso\: $coursename\r\nDescri\u00E7\u00E3o\: $coursedescription\r\nURL\: $courseurl\r\n\r\nSe voc\u00EA tem alguma d\u00FAvida sobre esta a\u00E7\u00E3o, entre em contato {0} {1} ({2}). notification.mail.added.subject=Curso $coursename notification.mail.removed.body=*** Esta \u00E9 uma mensagem gerada automaticamente. Por favor, n\u00E3o responda a esta mensagem ***\r\n\r\nVoc\u00EA foi removido por {0} {1} ({2}) de um curso\:\r\n\r\nNome do curso\: $coursename\r\nDescri\u00E7\u00E3o\: $coursedescription\r\n\r\nSe voc\u00EA tem d\u00FAvidas sobre esta a\u00E7\u00E3o, entre em contato {0} {1} ({2}). @@ -540,6 +547,7 @@ table.header.key=ID table.header.lastName=$org.olat.group.ui.main\:table.header.lastName table.header.lastTime=$org.olat.group.ui.main\:table.header.lastTime table.header.lastusage=\u00DAltimo acesso +table.header.license=Licen\u00E7a table.header.lifecycle.end=$\:cif.date.end table.header.lifecycle.label=Semestre table.header.lifecycle.softkey=ID Semestre diff --git a/src/main/java/org/olat/repository/controllers/RepositorySearchController.java b/src/main/java/org/olat/repository/controllers/RepositorySearchController.java index e17cad77190ac4e8d46c58b166bde71727562e8e..422714d8ffe41f9f3670fb0b2fbcd87dc3f20a6f 100644 --- a/src/main/java/org/olat/repository/controllers/RepositorySearchController.java +++ b/src/main/java/org/olat/repository/controllers/RepositorySearchController.java @@ -55,7 +55,6 @@ import org.olat.core.gui.control.generic.closablewrapper.CloseableCalloutWindowC import org.olat.core.gui.control.generic.dtabs.Activateable2; import org.olat.core.id.Identity; import org.olat.core.id.Roles; -import org.olat.core.id.UserConstants; import org.olat.core.id.context.ContextEntry; import org.olat.core.id.context.StateEntry; import org.olat.core.util.Util; @@ -94,13 +93,19 @@ public class RepositorySearchController extends BasicController implements Activ private CloseableCalloutWindowController calloutCtrl; private RepositoryEntrySmallDetailsController infosCtrl; - private Link backLink, cancelButton; + private Link loginLink; + private Link backLink; + private Link cancelButton; + private RepositoryEntry selectedEntry; private List<RepositoryEntry> selectedEntries; private Can enableSearchforAllInSearchForm; - private Link loginLink; private SearchType searchType; + private final Roles identityRoles; private RepositoryEntryFilter filter; + + @Autowired + private RepositoryManager repositoryManager; @Autowired private RepositoryService repositoryService; @@ -109,7 +114,7 @@ public class RepositorySearchController extends BasicController implements Activ super(ureq, myWControl, Util.createPackageTranslator(RepositoryService.class, ureq.getLocale())); this.filter = filter; - Roles roles = ureq.getUserSession().getRoles(); + identityRoles = ureq.getUserSession().getRoles(); vc = createVelocityContainer("reposearch", "search"); @@ -140,9 +145,7 @@ public class RepositorySearchController extends BasicController implements Activ tableCtr.setTableDataModel(repoTableModel); tableCtr.setSortColumn(sortCol, true); vc.put("repotable", tableCtr.getInitialComponent()); - - vc.contextPut("isAuthor", Boolean.valueOf(roles.isAuthor())); - vc.contextPut("withCancel", new Boolean(withCancel)); + vc.contextPut("withCancel", Boolean.valueOf(withCancel)); enableBackToSearchFormLink(false); // default, must be enabled explicitly enableSearchforAllXXAbleInSearchForm(null); // default putInitialPanel(vc); @@ -152,7 +155,7 @@ public class RepositorySearchController extends BasicController implements Activ * @param enableBack true: back link is shown, back goes to search form; false; no back link */ public void enableBackToSearchFormLink(boolean enableBack) { - vc.contextPut("withBack", new Boolean(enableBack)); + vc.contextPut("withBack", Boolean.valueOf(enableBack)); } @Override @@ -163,7 +166,7 @@ public class RepositorySearchController extends BasicController implements Activ if(RepositoryEntry.class.getSimpleName().equals(subType)) { //activate details Long resId = entries.get(0).getOLATResourceable().getResourceableId(); - selectedEntry = RepositoryManager.getInstance().lookupRepositoryEntry(resId); + selectedEntry = repositoryManager.lookupRepositoryEntry(resId); fireEvent(ureq, new Event(RepositoryTableModel.TABLE_ACTION_SELECT_LINK)); } } @@ -178,9 +181,7 @@ public class RepositorySearchController extends BasicController implements Activ enableSearchforAllInSearchForm = enable; } - /** - * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.components.Component, org.olat.core.gui.control.Event) - */ + @Override public void event(UserRequest ureq, Component source, Event event) { if (source == cancelButton) { fireEvent(ureq, Event.CANCELLED_EVENT); @@ -188,7 +189,7 @@ public class RepositorySearchController extends BasicController implements Activ } else if (source == backLink){ displaySearchForm(); return; - }else if (source == loginLink){ + } else if (source == loginLink){ DispatcherModule.redirectToDefaultDispatcher(ureq.getHttpResp()); } } @@ -209,31 +210,18 @@ public class RepositorySearchController extends BasicController implements Activ * @param ureq */ private void doSearch(UserRequest ureq, String limitType, boolean updateFilters) { - doSearch(ureq, limitType, false, updateFilters); - } - - private void doSearch(UserRequest ureq, String limitType, boolean onlyOwner, boolean updateFilters) { searchType = SearchType.searchForm; - RepositoryManager rm = RepositoryManager.getInstance(); Collection<String> s = searchForm.getRestrictedTypes(); List<String> restrictedTypes; if(limitType != null) { restrictedTypes = Collections.singletonList(limitType); } else { - restrictedTypes = (s == null) ? null : new ArrayList<String>(s); + restrictedTypes = (s == null) ? null : new ArrayList<>(s); } - - String author = searchForm.getAuthor(); - String displayName = searchForm.getDisplayName(); - String description = searchForm.getDescription(); - SearchRepositoryEntryParameters params = - new SearchRepositoryEntryParameters(displayName, author, description, - restrictedTypes, getIdentity(), ureq.getUserSession().getRoles(), - getIdentity().getUser().getProperty(UserConstants.INSTITUTIONALNAME, null)); - params.setOnlyOwnedResources(onlyOwner); - - List<RepositoryEntry> entries = rm.genericANDQueryWithRolesRestriction(params, 0, -1, true); + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(searchForm.getDisplayName(), + searchForm.getAuthor(), searchForm.getDescription(), restrictedTypes, getIdentity(), identityRoles); + List<RepositoryEntry> entries = repositoryManager.genericANDQueryWithRolesRestriction(params, 0, -1, true); filterRepositoryEntries(entries); repoTableModel.setObjects(entries); if(updateFilters) { @@ -250,7 +238,6 @@ public class RepositorySearchController extends BasicController implements Activ */ private void doSearchAllReferencables(UserRequest ureq, String limitType, boolean updateFilters) { searchType = SearchType.searchForm; - RepositoryManager rm = RepositoryManager.getInstance(); List<String> restrictedTypes; if(limitType != null) { restrictedTypes = Collections.singletonList(limitType); @@ -258,22 +245,12 @@ public class RepositorySearchController extends BasicController implements Activ Collection<String> s = searchForm.getRestrictedTypes(); restrictedTypes = (s == null) ? null : new ArrayList<>(s); } - Roles roles = ureq.getUserSession().getRoles(); - Identity ident = ureq.getIdentity(); + String name = searchForm.getDisplayName(); String author = searchForm.getAuthor(); String desc = searchForm.getDescription(); - - List<RepositoryEntry> entries; - if(searchForm.isAdminSearch()) { - entries = rm.queryResourcesLimitType(null, restrictedTypes, name, author, desc, true, false); - } else if(enableSearchforAllInSearchForm == Can.referenceable){ - entries = rm.queryReferencableResourcesLimitType(ident, roles, restrictedTypes, name, author, desc); - } else if(enableSearchforAllInSearchForm == Can.copyable){ - entries = rm.queryCopyableResourcesLimitType(ident, roles, restrictedTypes, name, author, desc); - } else { - entries = new ArrayList<>(); - } + List<RepositoryEntry> entries = repositoryManager.queryResourcesLimitType(getIdentity(), identityRoles, restrictedTypes, name, author, desc, + enableSearchforAllInSearchForm == Can.referenceable, enableSearchforAllInSearchForm == Can.copyable); filterRepositoryEntries(entries); repoTableModel.setObjects(entries); if(updateFilters) { @@ -307,15 +284,13 @@ public class RepositorySearchController extends BasicController implements Activ * @param roles The users roles */ public void doSearchForReferencableResourcesLimitType(Identity owner, String[] limitTypes, Roles roles) { - RepositoryManager rm = RepositoryManager.getInstance(); List<String> restrictedTypes = new ArrayList<>(); if(limitTypes == null) { restrictedTypes = null; - } - else { + } else { restrictedTypes.addAll(Arrays.asList(limitTypes)); } - List<RepositoryEntry> entries = rm.queryReferencableResourcesLimitType(owner, roles, restrictedTypes, null, null, null); + List<RepositoryEntry> entries = repositoryManager.queryResourcesLimitType(owner, roles, restrictedTypes, null, null, null, true, false); filterRepositoryEntries(entries); repoTableModel.setObjects(entries); tableCtr.setFilters(null, null); @@ -333,15 +308,13 @@ public class RepositorySearchController extends BasicController implements Activ * @param roles The users roles */ public void doSearchForCopyableResourcesLimitType(Identity owner, String[] limitTypes, Roles roles) { - RepositoryManager rm = RepositoryManager.getInstance(); - List<String> restrictedTypes = new ArrayList<String>(); + List<String> restrictedTypes = new ArrayList<>(); if(limitTypes == null) { restrictedTypes = null; - } - else { + } else { restrictedTypes.addAll(Arrays.asList(limitTypes)); } - List<RepositoryEntry> entries = rm.queryCopyableResourcesLimitType(owner, roles, restrictedTypes, null, null, null); + List<RepositoryEntry> entries = repositoryManager.queryResourcesLimitType(owner, roles, restrictedTypes, null, null, null, false, true); filterRepositoryEntries(entries); repoTableModel.setObjects(entries); tableCtr.setFilters(null, null); @@ -369,8 +342,7 @@ public class RepositorySearchController extends BasicController implements Activ private void doSearchByOwnerLimitTypeInternal(Identity owner, String[] limitTypes, boolean updateFilters) { searchType = SearchType.byOwner; - RepositoryManager rm = RepositoryManager.getInstance(); - List<RepositoryEntry> entries = rm.queryByOwner(owner, limitTypes); + List<RepositoryEntry> entries = repositoryManager.queryByOwner(owner, limitTypes); filterRepositoryEntries(entries); if(updateFilters) { updateFilters(entries, owner); @@ -386,8 +358,7 @@ public class RepositorySearchController extends BasicController implements Activ * @param access */ public void doSearchByOwnerLimitAccess(Identity owner) { - RepositoryManager rm = RepositoryManager.getInstance(); - List<RepositoryEntry> entries = rm.queryByOwnerLimitAccess(owner, RepositoryEntry.ACC_USERS, Boolean.TRUE); + List<RepositoryEntry> entries = repositoryManager.queryByOwnerLimitAccess(owner); filterRepositoryEntries(entries); repoTableModel.setObjects(entries); tableCtr.setFilters(null, null); @@ -403,10 +374,9 @@ public class RepositorySearchController extends BasicController implements Activ */ public void doSearchByTypeLimitAccess(String[] restrictedTypes, UserRequest ureq) { searchType = null; - RepositoryManager rm = RepositoryManager.getInstance(); - List<String> types = Arrays.asList(restrictedTypes); - List<RepositoryEntry> entries = rm.queryByTypeLimitAccess(ureq.getIdentity(), ureq.getUserSession().getRoles(), types); + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(getIdentity(), identityRoles, restrictedTypes); + List<RepositoryEntry> entries = repositoryManager.genericANDQueryWithRolesRestriction(params, 0, -1, false); filterRepositoryEntries(entries); repoTableModel.setObjects(entries); tableCtr.setFilters(null, null); @@ -416,7 +386,7 @@ public class RepositorySearchController extends BasicController implements Activ private void doSearchById(String id, Collection<String> restrictedTypes) { List<RepositoryEntry> entries = repositoryService.searchByIdAndRefs(id); - if(restrictedTypes != null && restrictedTypes.size() > 0) { + if(restrictedTypes != null && !restrictedTypes.isEmpty()) { for(Iterator<RepositoryEntry> it=entries.iterator(); it.hasNext(); ) { RepositoryEntry entry = it.next(); if(!restrictedTypes.contains(entry.getOlatResource().getResourceableTypeName())) { @@ -436,8 +406,7 @@ public class RepositorySearchController extends BasicController implements Activ private void doSearchMyCoursesStudent(UserRequest ureq, String limitType, boolean updateFilters) { searchType = SearchType.myAsStudent; - RepositoryManager rm = RepositoryManager.getInstance(); - List<RepositoryEntry> entries = rm.getLearningResourcesAsStudent(ureq.getIdentity(), null, 0, -1); + List<RepositoryEntry> entries = repositoryManager.getLearningResourcesAsStudent(ureq.getIdentity(), null, 0, -1); filterRepositoryEntries(entries); doSearchMyRepositoryEntries(ureq, entries, limitType, updateFilters); } @@ -448,8 +417,7 @@ public class RepositorySearchController extends BasicController implements Activ private void doSearchMyCoursesTeacher(UserRequest ureq, String limitType, boolean updateFilters) { searchType = SearchType.myAsTeacher; - RepositoryManager rm = RepositoryManager.getInstance(); - List<RepositoryEntry> entries = rm.getLearningResourcesAsTeacher(ureq.getIdentity(), 0, -1); + List<RepositoryEntry> entries = repositoryManager.getLearningResourcesAsTeacher(ureq.getIdentity(), 0, -1); filterRepositoryEntries(entries); doSearchMyRepositoryEntries(ureq, entries, limitType, updateFilters); } @@ -472,8 +440,8 @@ public class RepositorySearchController extends BasicController implements Activ } protected void updateFilters(List<RepositoryEntry> entries, Identity owner) { - List<ShortName> restrictedTypes = new ArrayList<ShortName>(); - Set<String> uniqueTypes = new HashSet<String>(); + List<ShortName> restrictedTypes = new ArrayList<>(); + Set<String> uniqueTypes = new HashSet<>(); for(RepositoryEntry entry:entries) { if(entry.getOlatResource() == null) continue;//no red screen for that String type = entry.getOlatResource().getResourceableTypeName(); @@ -532,7 +500,7 @@ public class RepositorySearchController extends BasicController implements Activ backLink = LinkFactory.createLinkBack(vc, this); vc.setPage(VELOCITY_ROOT + "/results.html"); //REVIEW:pb why can ureq be null here? - vc.contextPut("isGuest", (ureq != null) ? new Boolean(ureq.getUserSession().getRoles().isGuestOnly()) : Boolean.FALSE); + vc.contextPut("isGuest", (ureq != null) ? Boolean.valueOf(identityRoles.isGuestOnly()) : Boolean.FALSE); loginLink = LinkFactory.createLink("repo.login", vc, this); cancelButton = LinkFactory.createButton("cancel", vc, this); } diff --git a/src/main/java/org/olat/repository/controllers/_content/results.html b/src/main/java/org/olat/repository/controllers/_content/results.html index a191eec20492e5504bc8f68325859f276addf55e..979683ea86f4dfa28ec86746b1c69853292e0663 100644 --- a/src/main/java/org/olat/repository/controllers/_content/results.html +++ b/src/main/java/org/olat/repository/controllers/_content/results.html @@ -10,15 +10,10 @@ $r.render("repotable") #if ($hasResults) <div class="o_xsmall">$r.translate("table.header.access.desc")</div> #if ($withCancel) - <p> - $r.render("cancel") - <p> + <div class="o_button_group">$r.render("cancel")<div> #end #else - <br /> #if ($withCancel) - <p> - $r.render("cancel") - <p> + <div class="o_button_group">$r.render("cancel")<div> #end #end diff --git a/src/main/java/org/olat/repository/manager/AutomaticLifecycleService.java b/src/main/java/org/olat/repository/manager/AutomaticLifecycleService.java index 161f1e0506d92be46a255817cf6c1f807412481e..f20861cf93f9c63672a6ed92139bdbb17c396eee 100644 --- a/src/main/java/org/olat/repository/manager/AutomaticLifecycleService.java +++ b/src/main/java/org/olat/repository/manager/AutomaticLifecycleService.java @@ -90,7 +90,7 @@ public class AutomaticLifecycleService { .append(" inner join fetch v.statistics as statistics") .append(" inner join fetch v.lifecycle as lifecycle") .append(" where lifecycle.validTo<:now and v.statusCode=").append(RepositoryEntryStatus.REPOSITORY_STATUS_OPEN) - .append(" and v.access>0"); + .append(" and v.access>=").append(RepositoryEntry.ACC_OWNERS); Calendar cal = Calendar.getInstance(); cal.setTime(date); @@ -132,7 +132,7 @@ public class AutomaticLifecycleService { .append(" inner join fetch v.statistics as statistics") .append(" inner join fetch v.lifecycle as lifecycle") .append(" where lifecycle.validTo<:now and not(v.statusCode=").append(RepositoryEntryStatus.REPOSITORY_STATUS_UNPUBLISHED).append(")") - .append(" and v.access>0"); + .append(" and v.access>=").append(RepositoryEntry.ACC_OWNERS); Calendar cal = Calendar.getInstance(); cal.setTime(date); @@ -173,7 +173,7 @@ public class AutomaticLifecycleService { .append(" inner join fetch v.olatResource as ores") .append(" inner join fetch v.statistics as statistics") .append(" inner join fetch v.lifecycle as lifecycle") - .append(" where lifecycle.validTo<:now and v.access>0"); + .append(" where lifecycle.validTo<:now and v.access>=").append(RepositoryEntry.ACC_OWNERS); Calendar cal = Calendar.getInstance(); cal.setTime(date); diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java b/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java index 97f54c08ecd0a9bbe33fdebfffb5d86977bc0902..579699f316675487e17e0ce31eaa2269e83eed26 100644 --- a/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java +++ b/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java @@ -22,18 +22,17 @@ package org.olat.repository.manager; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.stream.Collectors; import javax.persistence.TypedQuery; import org.olat.basesecurity.GroupRoles; import org.olat.basesecurity.IdentityImpl; import org.olat.basesecurity.IdentityRef; +import org.olat.basesecurity.OrganisationRoles; import org.olat.core.commons.persistence.DB; import org.olat.core.commons.persistence.PersistenceHelper; import org.olat.core.commons.services.mark.impl.MarkImpl; import org.olat.core.id.Identity; -import org.olat.core.id.OrganisationRef; import org.olat.core.id.Roles; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; @@ -120,11 +119,8 @@ public class RepositoryEntryAuthorQueries { Class<T> type) { IdentityRef identity = params.getIdentity(); - Roles roles = params.getRoles(); List<String> resourceTypes = params.getResourceTypes(); boolean oracle = "oracle".equals(dbInstance.getDbVendor()); - boolean admin = (roles != null && (roles.isLearnResourceManager() || roles.isOLATAdmin())); - boolean learnResourceOrgs = false; boolean count = Number.class.equals(type); boolean needIdentity = false; @@ -161,40 +157,8 @@ public class RepositoryEntryAuthorQueries { } sb.append(" where"); - if(params.isOwnedResourcesOnly()) { - needIdentity = true; - sb.append(" v.key in (select rel.entry.key from repoentrytogroup as rel, bgroupmember as membership") - .append(" where rel.group.key=membership.group.key and membership.identity.key=:identityKey") - .append(" and membership.role='").append(GroupRoles.owner.name()).append("'") - .append(" )"); - if(params.isDeleted()) { - sb.append(" and v.access=").append(RepositoryEntry.DELETED); - } else { - sb.append(" and v.access>=").append(RepositoryEntry.ACC_OWNERS); - } - } else if(admin) { - if(params.isDeleted()) { - sb.append(" v.access=").append(RepositoryEntry.DELETED); - } else { - sb.append(" v.access>=").append(RepositoryEntry.ACC_OWNERS); - } - - if(params.getLearnResourceManagerOrganisations() != null && !params.getLearnResourceManagerOrganisations().isEmpty()) { - sb.append(" and v.key in (select relToOrg.entry.key from repoentrytoorganisation as relToOrg") - .append(" where relToOrg.organisation.key in (:learnResourceManagerOrganisationKeys)") - .append(")"); - learnResourceOrgs = true; - } - } else { - needIdentity = true; - sb.append(" (v.access>=").append(RepositoryEntry.ACC_OWNERS_AUTHORS) - .append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS) - .append(" and v.key in (select rel.entry.key from repoentrytogroup as rel, bgroupmember as membership") - .append(" where rel.group.key=membership.group.key and membership.identity.key=:identityKey") - .append(" and membership.role='").append(GroupRoles.owner.name()).append("'") - .append(" )") - .append(" ))"); - } + + needIdentity |= appendAccessSubSelect(sb, params); if(params.getClosed() != null) { if(params.getClosed().booleanValue()) { @@ -212,7 +176,7 @@ public class RepositoryEntryAuthorQueries { sb.append(" exists (select ref.key from references as ref where ref.target.key=res.key)"); } - if(params.getRepoEntryKeys() != null && params.getRepoEntryKeys().size() > 0) { + if(params.getRepoEntryKeys() != null && !params.getRepoEntryKeys().isEmpty()) { sb.append(" and v.key in (:repoEntryKeys)"); } @@ -312,7 +276,7 @@ public class RepositoryEntryAuthorQueries { TypedQuery<T> dbQuery = dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), type); - if(params.getRepoEntryKeys() != null && params.getRepoEntryKeys().size() > 0) { + if(params.getRepoEntryKeys() != null && !params.getRepoEntryKeys().isEmpty()) { dbQuery.setParameter("repoEntryKeys", params.getRepoEntryKeys()); } if (params.isResourceTypesDefined()) { @@ -346,12 +310,6 @@ public class RepositoryEntryAuthorQueries { if (StringHelper.containsNonWhitespace(desc)) { dbQuery.setParameter("desc", desc); } - if(learnResourceOrgs && params.getLearnResourceManagerOrganisations() != null && !params.getLearnResourceManagerOrganisations().isEmpty()) { - List<Long> learnResourceManagerOrganisationKeys = params.getLearnResourceManagerOrganisations() - .stream().map(OrganisationRef::getKey).collect(Collectors.toList()); - dbQuery.setParameter("learnResourceManagerOrganisationKeys", learnResourceManagerOrganisationKeys); - } - if(needIdentity) { dbQuery.setParameter("identityKey", identity.getKey()); } @@ -361,6 +319,57 @@ public class RepositoryEntryAuthorQueries { return dbQuery; } + private boolean appendAccessSubSelect(StringBuilder sb, SearchAuthorRepositoryEntryViewParams params) { + if(params.isOwnedResourcesOnly()) { + sb.append(" v.key in (select rel.entry.key from repoentrytogroup as rel, bgroupmember as membership") + .append(" where rel.group.key=membership.group.key and membership.identity.key=:identityKey") + .append(" and membership.role='").append(GroupRoles.owner.name()).append("'") + .append(" )"); + if(params.isDeleted()) { + sb.append(" and v.access=").append(RepositoryEntry.DELETED); + } else { + sb.append(" and v.access>=").append(RepositoryEntry.ACC_OWNERS); + } + return true; + } + + Roles roles = params.getRoles(); + if(roles == null) { + sb.append(" v.access>=").append(RepositoryEntry.ACC_USERS); + return false; + } + + if(roles.isOLATAdmin()) { + if(params.isDeleted()) { + sb.append(" v.access=").append(RepositoryEntry.DELETED); + } else { + sb.append(" v.access>=").append(RepositoryEntry.ACC_OWNERS); + } + return false; + } + + sb.append(" (v.access>=").append(RepositoryEntry.ACC_USERS); + if(roles.isAuthor()) { + sb.append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS_AUTHORS) + .append(" and v.key in (select rel.entry.key from repoentrytogroup as rel, bgroupmember as membership") + .append(" where rel.group.key=membership.group.key and membership.identity.key=:identityKey") + .append(" and membership.role = '").append(OrganisationRoles.author).append("'") + .append(" )") + .append(" )"); + } + sb.append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS) + .append(" and v.key in (select rel.entry.key from repoentrytogroup as rel, bgroupmember as membership") + .append(" where rel.group.key=membership.group.key and membership.identity.key=:identityKey") + .append(" and membership.role in ('").append(GroupRoles.owner.name()).append("'"); + if(roles.isLearnResourceManager()) { + sb.append(",'").append(OrganisationRoles.learnresourcemanager.name()).append("'"); + } + sb.append(" )")//close in + .append(" )") + .append(" ))"); + return true; + } + private void appendAuthorViewOrderBy(SearchAuthorRepositoryEntryViewParams params, StringBuilder sb) { OrderBy orderBy = params.getOrderBy(); boolean asc = params.isOrderByAsc(); @@ -463,6 +472,10 @@ public class RepositoryEntryAuthorQueries { appendAsc(sb, asc).append(" nulls last, lower(v.displayname) asc"); } break; + case license: + sb.append(" order by v.key"); + appendAsc(sb, asc); + break; } } } diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryQueries.java b/src/main/java/org/olat/repository/manager/RepositoryEntryQueries.java new file mode 100644 index 0000000000000000000000000000000000000000..bfb30b33e6171707a03de6115a5c8111319bbbef --- /dev/null +++ b/src/main/java/org/olat/repository/manager/RepositoryEntryQueries.java @@ -0,0 +1,240 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.repository.manager; + +import java.util.List; + +import javax.persistence.TypedQuery; + +import org.olat.basesecurity.GroupRoles; +import org.olat.basesecurity.IdentityImpl; +import org.olat.basesecurity.OrganisationRoles; +import org.olat.core.commons.persistence.DB; +import org.olat.core.commons.persistence.PersistenceHelper; +import org.olat.core.id.Roles; +import org.olat.core.util.StringHelper; +import org.olat.repository.CatalogEntry; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.model.SearchRepositoryEntryParameters; +import org.olat.user.UserImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 3 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service +public class RepositoryEntryQueries { + + @Autowired + private DB dbInstance; + + public int countEntries(SearchRepositoryEntryParameters params) { + TypedQuery<Number> dbQuery = createQuery(params, false, Number.class); + Number count = dbQuery.getSingleResult(); + return count.intValue(); + } + + public List<RepositoryEntry> searchEntries(SearchRepositoryEntryParameters params, int firstResult, int maxResults, boolean orderBy) { + TypedQuery<RepositoryEntry> dbQuery = createQuery(params, orderBy, RepositoryEntry.class); + dbQuery.setFirstResult(firstResult); + if(maxResults > 0) { + dbQuery.setMaxResults(maxResults); + } + return dbQuery.getResultList(); + } + + private <T> TypedQuery<T> createQuery(SearchRepositoryEntryParameters params, boolean orderBy, Class<T> type) { + String author = params.getAuthor(); + String displayName = params.getDisplayName(); + List<String> resourceTypes = params.getResourceTypes(); + + StringBuilder query = new StringBuilder(2048); + if(Number.class.equals(type)) { + query.append("select count(v.key) from repositoryentry v "); + query.append(" inner join v.olatResource as res"); + } else if(params.getParentEntry() != null) { + query.append("select v from ").append(CatalogEntry.class.getName()).append(" cei ") + .append(" inner join cei.parent parentCei") + .append(" inner join cei.repositoryEntry v") + .append(" inner join fetch v.olatResource as res") + .append(" inner join fetch v.statistics as statistics") + .append(" left join fetch v.lifecycle as lifecycle"); + } else { + query.append("select distinct v from repositoryentry v ") + .append(" inner join fetch v.olatResource as res") + .append(" inner join fetch v.statistics as statistics") + .append(" left join fetch v.lifecycle as lifecycle"); + } + + boolean setIdentity = appendAccessSubSelects(query, params.getRoles(), params.isOnlyExplicitMember()); + + if(params.getParentEntry() != null) { + query.append(" and parentCei.key=:parentCeiKey"); + } + + if (StringHelper.containsNonWhitespace(author)) { + // fuzzy author search + author = PersistenceHelper.makeFuzzyQueryString(author); + query.append(" and exists (select rel from repoentrytogroup as rel, bgroup as baseGroup, bgroupmember as membership, ") + .append(IdentityImpl.class.getName()).append(" as identity, ").append(UserImpl.class.getName()).append(" as user") + .append(" where rel.entry=v and rel.group=baseGroup and membership.group=baseGroup and membership.identity.key=identity.key and user.identity.key=identity.key") + .append(" and membership.role='").append(GroupRoles.owner.name()).append("'") + .append(" and ("); + PersistenceHelper.appendFuzzyLike(query, "user.firstName", "author", dbInstance.getDbVendor()); + query.append(" or "); + PersistenceHelper.appendFuzzyLike(query, "user.lastName", "author", dbInstance.getDbVendor()); + query.append(" or "); + PersistenceHelper.appendFuzzyLike(query, "identity.name", "author", dbInstance.getDbVendor()); + query.append(" ))"); + } + + if (StringHelper.containsNonWhitespace(displayName)) { + displayName = PersistenceHelper.makeFuzzyQueryString(displayName); + query.append(" and "); + PersistenceHelper.appendFuzzyLike(query, "v.displayname", "displayname", dbInstance.getDbVendor()); + } + + String desc = null; + if (StringHelper.containsNonWhitespace(params.getDesc())) { + desc = PersistenceHelper.makeFuzzyQueryString(params.getDesc()); + query.append(" and "); + PersistenceHelper.appendFuzzyLike(query, "v.description", "desc", dbInstance.getDbVendor()); + } + + if (resourceTypes != null && resourceTypes.size() > 0) { + query.append(" and res.resName in (:resourcetypes)"); + } + + if(params.getRepositoryEntryKeys() != null && !params.getRepositoryEntryKeys().isEmpty()) { + query.append(" and v.key in (:entryKeys)"); + } + + if(params.getManaged() != null) { + if(params.getManaged().booleanValue()) { + query.append(" and v.managedFlagsString is not null"); + } else { + query.append(" and v.managedFlagsString is null"); + } + } + + if(StringHelper.containsNonWhitespace(params.getExternalId())) { + query.append(" and v.externalId=:externalId"); + } + + if(StringHelper.containsNonWhitespace(params.getExternalRef())) { + query.append(" and v.externalRef=:externalRef"); + } + + if(orderBy) { + query.append(" order by v.displayname, v.key ASC"); + } + + TypedQuery<T> dbQuery = dbInstance.getCurrentEntityManager() + .createQuery(query.toString(), type); + if(params.getParentEntry() != null) { + dbQuery.setParameter("parentCeiKey", params.getParentEntry().getKey()); + } + if (StringHelper.containsNonWhitespace(author)) { + dbQuery.setParameter("author", author); + } + if (StringHelper.containsNonWhitespace(displayName)) { + dbQuery.setParameter("displayname", displayName); + } + if (StringHelper.containsNonWhitespace(desc)) { + dbQuery.setParameter("desc", desc); + } + if (resourceTypes != null && !resourceTypes.isEmpty()) { + dbQuery.setParameter("resourcetypes", resourceTypes); + } + if(params.getRepositoryEntryKeys() != null && !params.getRepositoryEntryKeys().isEmpty()) { + dbQuery.setParameter("entryKeys", params.getRepositoryEntryKeys()); + } + if(StringHelper.containsNonWhitespace(params.getExternalId())) { + dbQuery.setParameter("externalId", params.getExternalId()); + } + if(StringHelper.containsNonWhitespace(params.getExternalRef())) { + dbQuery.setParameter("externalRef", params.getExternalRef()); + } + if(setIdentity) { + dbQuery.setParameter("identityKey", params.getIdentity().getKey()); + } + return dbQuery; + } + + /** + * This query need the repository entry as v, v.olatResource as res + * and v.baseGroup as baseGroup + * @param sb + * @param identity + * @param roles + * @return + */ + private boolean appendAccessSubSelects(StringBuilder sb, Roles roles, boolean onlyExplicitMember) { + if(roles.isOLATAdmin()) { + sb.append(" where v.access>=").append(RepositoryEntry.ACC_OWNERS); + return false; + } + if(roles.isGuestOnly()) { + sb.append(" where v.access>=").append(RepositoryEntry.ACC_USERS_GUESTS); + return false; + } + + // no by-pass -> join the memberships + sb.append(" inner join v.groups as relGroup") + .append(" inner join relGroup.group as baseGroup") + .append(" inner join baseGroup.members as membership") + .append(" where membership.identity.key=:identityKey and"); + + if(onlyExplicitMember) { + sb.append(" (v.access>=").append(RepositoryEntry.ACC_USERS) + .append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true") + .append(" and membership.role in ('").append(GroupRoles.owner.name()).append("','").append(GroupRoles.coach.name()).append("','").append(GroupRoles.participant.name()).append("')") + .append(" ))"); + return true; + } + + //access rules as user + sb.append("(v.access>=").append(RepositoryEntry.ACC_USERS); + if(roles.isLearnResourceManager()) { + // as learn resource manager + sb.append(" or (v.access>=").append(RepositoryEntry.ACC_OWNERS) + .append(" and membership.role='").append(OrganisationRoles.learnresourcemanager.name()).append("')"); + } + + if(roles.isAuthor()) { + // as author + sb.append(" or (v.access>=").append(RepositoryEntry.ACC_OWNERS_AUTHORS) + .append(" and membership.role='").append(OrganisationRoles.author.name()).append("')"); + } + // as owner + sb.append(" or (v.access>=").append(RepositoryEntry.ACC_OWNERS) + .append(" and membership.role='").append(GroupRoles.owner.name()).append("')"); + // as member + sb.append(" or (v.access=").append(RepositoryEntry.ACC_OWNERS).append(" and v.membersOnly=true") + .append(" and membership.role in ('").append(GroupRoles.coach.name()).append("','").append(GroupRoles.participant.name()).append("'))") + .append(")"); + + return true; + } +} diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryRelationDAO.java b/src/main/java/org/olat/repository/manager/RepositoryEntryRelationDAO.java index 2dbf071425b2563e09130d12d75f0f3467231914..e6d1cddde7ee0c9d163ca7098152d7b24a93f54f 100644 --- a/src/main/java/org/olat/repository/manager/RepositoryEntryRelationDAO.java +++ b/src/main/java/org/olat/repository/manager/RepositoryEntryRelationDAO.java @@ -39,6 +39,7 @@ import org.olat.basesecurity.IdentityRef; import org.olat.basesecurity.manager.GroupDAO; import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; +import org.olat.core.id.Organisation; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntryRef; import org.olat.repository.RepositoryEntryRelationType; @@ -61,10 +62,12 @@ public class RepositoryEntryRelationDAO { private GroupDAO groupDao; /** - * Get roles in the repository entry, with business groups too - * @param identity - * @param re - * @return + * Get roles in the repository entry, with business groups too but + * not the organizations. + * + * @param identity The identity + * @param re The repository entry + * @return The list of roles */ public List<String> getRoles(IdentityRef identity, RepositoryEntryRef re) { StringBuilder sb = new StringBuilder(); @@ -72,7 +75,8 @@ public class RepositoryEntryRelationDAO { .append(" inner join v.groups as relGroup") .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as membership") - .append(" where v.key=:repoKey and membership.identity.key=:identityKey"); + .append(" left join businessgroup as businessGroup on (businessGroup.baseGroup.key=baseGroup.key)") + .append(" where v.key=:repoKey and membership.identity.key=:identityKey and (relGroup.defaultGroup=true or businessGroup.key is not null)"); return dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), String.class) @@ -113,7 +117,7 @@ public class RepositoryEntryRelationDAO { .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as membership") .append(" where v.key=:repoKey and membership.identity.key=:identityKey"); - if(roleList.size() > 0) { + if(!roleList.isEmpty()) { sb.append(" and membership.role in (:roles)"); } @@ -121,7 +125,7 @@ public class RepositoryEntryRelationDAO { .createQuery(sb.toString(), Number.class) .setParameter("identityKey", identity.getKey()) .setParameter("repoKey", re.getKey()); - if(roleList.size() > 0) { + if(!roleList.isEmpty()) { query.setParameter("roles", roleList); } @@ -150,7 +154,7 @@ public class RepositoryEntryRelationDAO { sb.append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as membership") .append(" where membership.identity.key=:identityKey"); - if(roleList.size() > 0) { + if(!roleList.isEmpty()) { sb.append(" and membership.role in (:roles)"); } @@ -159,7 +163,7 @@ public class RepositoryEntryRelationDAO { .setFirstResult(0) .setMaxResults(1) .setParameter("identityKey", identity.getKey()); - if(roleList.size() > 0) { + if(!roleList.isEmpty()) { query.setParameter("roles", roleList); } @@ -263,9 +267,11 @@ public class RepositoryEntryRelationDAO { } /** - * It will count all members, business groups members too - * @param re - * @param roles + * It will count all members, business groups members too but not + * the organizations. + * + * @param re The repository entry + * @param roles The roles (optional) * @return */ public int countMembers(RepositoryEntryRef re, String... roles) { @@ -276,15 +282,16 @@ public class RepositoryEntryRelationDAO { .append(" inner join v.groups as relGroup") .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as members") - .append(" where v.key=:repoKey"); - if(roleList.size() > 0) { + .append(" left join businessgroup as businessGroup on (businessGroup.baseGroup.key=baseGroup.key)") + .append(" where v.key=:repoKey and (relGroup.defaultGroup=true or businessGroup.key is not null)"); + if(!roleList.isEmpty()) { sb.append(" and members.role in (:roles)"); } TypedQuery<Number> query = dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), Number.class) .setParameter("repoKey", re.getKey()); - if(roleList.size() > 0) { + if(!roleList.isEmpty()) { query.setParameter("roles", roleList); } @@ -301,11 +308,12 @@ public class RepositoryEntryRelationDAO { } StringBuilder sb = new StringBuilder(); - sb.append("select count(distinct members.identity.key) from ").append(RepositoryEntry.class.getName()).append(" as v") + sb.append("select count(distinct members.identity.key) from repositoryentry as v") .append(" inner join v.groups as relGroup") .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as members") - .append(" where v.key in (:repoKeys)"); + .append(" left join businessgroup as businessGroup on (businessGroup.baseGroup.key=baseGroup.key)") + .append(" where v.key in (:repoKeys) and (relGroup.defaultGroup=true or businessGroup.key is not null)"); if(excludeMe != null) { sb.append(" and not(members.identity.key=:identityKey)"); } @@ -353,8 +361,9 @@ public class RepositoryEntryRelationDAO { .append(" inner join v.groups as relGroup") .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as members") - .append(" where v.key=:repoKey and members.identity.key=:identityKey"); - if(roleList != null && roleList.size() > 0) { + .append(" left join businessgroup as businessGroup on (businessGroup.baseGroup.key=baseGroup.key)") + .append(" where v.key=:repoKey and (relGroup.defaultGroup=true or businessGroup.key is not null) and members.identity.key=:identityKey"); + if(roleList != null && !roleList.isEmpty()) { sb.append(" and members.role in (:roles)"); } @@ -362,7 +371,7 @@ public class RepositoryEntryRelationDAO { .createQuery(sb.toString(), Date.class) .setParameter("repoKey", re.getKey()) .setParameter("identityKey", identity.getKey()); - if(roleList != null && roleList.size() > 0) { + if(roleList != null && !roleList.isEmpty()) { datesQuery.setParameter("roles", roleList); } @@ -386,8 +395,9 @@ public class RepositoryEntryRelationDAO { .append(" inner join v.groups as relGroup") .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as members") - .append(" where v.key=:repoKey"); - if(roleList != null && roleList.size() > 0) { + .append(" left join businessgroup as businessGroup on (businessGroup.baseGroup.key=baseGroup.key)") + .append(" where v.key=:repoKey and (relGroup.defaultGroup=true or businessGroup.key is not null)"); + if(roleList != null && !roleList.isEmpty()) { sb.append(" and members.role in (:roles)"); } sb.append(" group by members.identity.key"); @@ -395,7 +405,7 @@ public class RepositoryEntryRelationDAO { TypedQuery<Object[]> datesQuery = dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), Object[].class) .setParameter("repoKey", re.getKey()); - if(roleList != null && roleList.size() > 0) { + if(roleList != null && !roleList.isEmpty()) { datesQuery.setParameter("roles", roleList); } @@ -431,6 +441,15 @@ public class RepositoryEntryRelationDAO { return getMembers(Collections.singletonList(re), type, roles); } + /** + * The query is limited to the default group and the business group (as specified by + * the type parameter). + * + * @param res The list repository entry references + * @param type The type of relation (only default group, only busines groups or both) + * @param roles The roles (optional) + * @return A list of identity + */ public List<Identity> getMembers(List<? extends RepositoryEntryRef> res, RepositoryEntryRelationType type, String... roles) { if(res == null || res.isEmpty()) return Collections.emptyList(); @@ -444,27 +463,37 @@ public class RepositoryEntryRelationDAO { } StringBuilder sb = new StringBuilder(); - sb.append("select ident from ").append(RepositoryEntry.class.getName()).append(" as v") + sb.append("select ident from repositoryentry as v") .append(" inner join v.groups as relGroup").append(def) .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as memberships") .append(" inner join memberships.identity as ident") .append(" inner join fetch ident.user as identUser") - .append(" where v.key in (:repoKeys)"); - if(roleList.size() > 0) { - sb.append(" and memberships.role in (:roles)"); + .append(" left join businessgroup as businessGroup on (businessGroup.baseGroup.key=baseGroup.key)") + .append(" where v.key in (:repoKeys) and (relGroup.defaultGroup=true or businessGroup.key is not null)"); + if(!roleList.isEmpty()) { + sb.append(" and memberships.role in (:roles)"); } - List<Long> repoKeys = res.stream().map(re -> re.getKey()).collect(Collectors.toList()); + List<Long> repoKeys = res.stream().map(RepositoryEntryRef::getKey).collect(Collectors.toList()); TypedQuery<Identity> query = dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), Identity.class) .setParameter("repoKeys", repoKeys); - if(roleList.size() > 0) { - query.setParameter("roles", roleList); + if(!roleList.isEmpty()) { + query.setParameter("roles", roleList); } return query.getResultList(); } + /** + * The query is limited to the default group and the business group (as specified by + * the type parameter). + * + * @param re The repository entry + * @param type The type of relation (only default group, only busines groups or both) + * @param roles The roles (optional) + * @return A list of identity keys + */ public List<Long> getMemberKeys(RepositoryEntryRef re, RepositoryEntryRelationType type, String... roles) { List<String> roleList = GroupRoles.toList(roles); @@ -476,19 +505,20 @@ public class RepositoryEntryRelationDAO { } StringBuilder sb = new StringBuilder(); - sb.append("select members.identity.key from ").append(RepositoryEntry.class.getName()).append(" as v") + sb.append("select members.identity.key from repositoryentry as v") .append(" inner join v.groups as relGroup").append(def) .append(" inner join relGroup.group as baseGroup") .append(" inner join baseGroup.members as members") - .append(" where v.key=:repoKey"); - if(roleList.size() > 0) { + .append(" left join businessgroup as businessGroup on (businessGroup.baseGroup.key=baseGroup.key)") + .append(" where v.key=:repoKey and (relGroup.defaultGroup=true or businessGroup.key is not null)"); + if(!roleList.isEmpty()) { sb.append(" and members.role in (:roles)"); } TypedQuery<Long> query = dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), Long.class) .setParameter("repoKey", re.getKey()); - if(roleList.size() > 0) { + if(!roleList.isEmpty()) { query.setParameter("roles", roleList); } return query.getResultList(); @@ -641,4 +671,17 @@ public class RepositoryEntryRelationDAO { .setParameter("ownerKey", owner.getKey()) .getResultList(); } + + public List<Organisation> getOrganisations(RepositoryEntryRef entry) { + StringBuilder sb = new StringBuilder(256); + sb.append("select relOrg from organisation as relOrg") + .append(" inner join fetch relOrg.group as bGroup") + .append(" inner join repoentrytogroup as rel on (bGroup.key=rel.group.key)") + .append(" where rel.entry.key=:repoKey"); + + return dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), Organisation.class) + .setParameter("repoKey", entry.getKey()) + .getResultList(); + } } diff --git a/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java b/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java index 640e0fa907823aaf8d54df643f3417876fde1847..3f46b72fcb289db116bb1869570b2c6875ea3085 100644 --- a/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java +++ b/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java @@ -211,9 +211,19 @@ public class RepositoryServiceImpl implements RepositoryService { rel.setDefaultGroup(true); rel.setGroup(group); rel.setEntry(re); - + Set<RepositoryEntryToGroupRelation> rels = new HashSet<>(2); rels.add(rel); + + if(organisation != null) { + RepositoryEntryToGroupRelation relOrg = new RepositoryEntryToGroupRelation(); + relOrg.setCreationDate(new Date()); + relOrg.setDefaultGroup(false); + relOrg.setGroup(organisation.getGroup()); + relOrg.setEntry(re); + rels.add(relOrg); + } + re.setGroups(rels); if(initialAuthor != null) { @@ -546,20 +556,11 @@ public class RepositoryServiceImpl implements RepositoryService { return reToGroupDao.getDefaultGroup(ref); } - /** - * Get the role in the specified resource, business group are included in - * the query. - * - */ @Override public List<String> getRoles(Identity identity, RepositoryEntryRef re) { return reToGroupDao.getRoles(identity, re); } - /** - * Has specific role in the specified resource WITHOUT business groups included in - * the query. - */ @Override public boolean hasRole(Identity identity, RepositoryEntryRef re, String... roles) { return reToGroupDao.hasRole(identity, re, roles); @@ -674,14 +675,13 @@ public class RepositoryServiceImpl implements RepositoryService { } @Override - public List<OrganisationRef> getOrganisationReferences(RepositoryEntryRef entry) { - return repositoryEntryToOrganisationDao.getOrganisationReferences(entry); + public List<Organisation> getOrganisations(RepositoryEntryRef entry) { + return reToGroupDao.getOrganisations(entry); } @Override - public RepositoryEntry addOrganisation(RepositoryEntry entry, Organisation organisation, boolean master) { - repositoryEntryToOrganisationDao.createRelation(organisation, entry, master); - return null; + public List<OrganisationRef> getOrganisationReferences(RepositoryEntryRef entry) { + return repositoryEntryToOrganisationDao.getOrganisationReferences(entry); } @Override diff --git a/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java b/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java index c5eb3f32968b91dc05a884876408d92b609fe78a..5bee8a4b68253c5abb8008db78213fb0537ce1f7 100644 --- a/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java +++ b/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java @@ -24,7 +24,6 @@ import java.util.List; import java.util.Set; import org.olat.basesecurity.IdentityRef; -import org.olat.core.id.OrganisationRef; import org.olat.core.id.Roles; /** @@ -43,8 +42,6 @@ public class SearchAuthorRepositoryEntryViewParams { private boolean ownedResourcesOnly; private ResourceUsage resourceUsage = ResourceUsage.all; - private List<OrganisationRef> learnResourceManagerOrganisations; - private String idAndRefs; private String idRefsAndTitle; private String author; @@ -209,14 +206,6 @@ public class SearchAuthorRepositoryEntryViewParams { this.licenseTypeKeys = licenseTypeKeys; } - public List<OrganisationRef> getLearnResourceManagerOrganisations() { - return learnResourceManagerOrganisations; - } - - public void setLearnResourceManagerOrganisations(List<OrganisationRef> learnResourceManagerOrganisations) { - this.learnResourceManagerOrganisations = learnResourceManagerOrganisations; - } - public enum OrderBy { key, favorit, diff --git a/src/main/java/org/olat/repository/model/SearchRepositoryEntryParameters.java b/src/main/java/org/olat/repository/model/SearchRepositoryEntryParameters.java index c1799ba33faecf1644b8354b6a7e5b8537be656a..632463e8194ad579f0fd7cc2386048ab73619911 100644 --- a/src/main/java/org/olat/repository/model/SearchRepositoryEntryParameters.java +++ b/src/main/java/org/olat/repository/model/SearchRepositoryEntryParameters.java @@ -42,12 +42,9 @@ public class SearchRepositoryEntryParameters { private List<String> resourceTypes; private Identity identity; private Roles roles; - private Boolean marked; - private String institution; private Boolean managed; private String externalId; private String externalRef; - private boolean onlyOwnedResources; private boolean onlyExplicitMember; private List<Long> repositoryEntryKeys; private CatalogEntry parentEntry; @@ -70,16 +67,14 @@ public class SearchRepositoryEntryParameters { * @param resourceTypes * @param identity * @param roles - * @param institution */ - public SearchRepositoryEntryParameters(String displayName, String author, String desc, List<String> resourceTypes, Identity identity, Roles roles, String institution) { + public SearchRepositoryEntryParameters(String displayName, String author, String desc, List<String> resourceTypes, Identity identity, Roles roles) { this.displayName = displayName; this.author = author; this.desc = desc; this.resourceTypes = resourceTypes; this.identity = identity; this.roles = roles; - this.institution = institution; } public String getDisplayName() { @@ -148,7 +143,7 @@ public class SearchRepositoryEntryParameters { public void addResourceTypes(String... types) { if(this.resourceTypes == null) { - this.resourceTypes = new ArrayList<String>(); + this.resourceTypes = new ArrayList<>(); } if(types != null) { for(String resourceType:types) { @@ -172,35 +167,6 @@ public class SearchRepositoryEntryParameters { public void setRoles(Roles roles) { this.roles = roles; } - - public Boolean getMarked() { - return marked; - } - - public void setMarked(Boolean marked) { - this.marked = marked; - } - - public String getInstitution() { - return institution; - } - - public void setInstitution(String institution) { - this.institution = institution; - } - - /** - * This has effect for authors. Administrator or instituional mangers - * has more rights. - * @return - */ - public boolean isOnlyOwnedResources() { - return onlyOwnedResources; - } - - public void setOnlyOwnedResources(boolean onlyOwnedResources) { - this.onlyOwnedResources = onlyOwnedResources; - } public boolean isOnlyExplicitMember() { return onlyExplicitMember; diff --git a/src/main/java/org/olat/repository/site/RepositorySiteDef.java b/src/main/java/org/olat/repository/site/RepositorySiteDef.java index b4c4a4867f18778cec4d44de9ffa597a792ecd8a..dc2c81ca9a25f4446ba767dfdf580cb69fe056de 100644 --- a/src/main/java/org/olat/repository/site/RepositorySiteDef.java +++ b/src/main/java/org/olat/repository/site/RepositorySiteDef.java @@ -31,6 +31,7 @@ import org.olat.core.gui.control.navigation.AbstractSiteDefinition; import org.olat.core.gui.control.navigation.SiteConfiguration; import org.olat.core.gui.control.navigation.SiteDefinition; import org.olat.core.gui.control.navigation.SiteInstance; +import org.olat.core.id.Roles; import org.olat.core.util.StringHelper; import org.olat.core.util.UserSession; @@ -55,8 +56,12 @@ public class RepositorySiteDef extends AbstractSiteDefinition implements SiteDef } UserSession usess = ureq.getUserSession(); + if(usess == null || usess.getRoles() == null) { + return null; + } - if(usess.getRoles().isAuthor() || usess.getRoles().isLearnResourceManager()) { + Roles roles = usess.getRoles(); + if(roles.isOLATAdmin() || roles.isAuthor() || roles.isLearnResourceManager()) { // only for authors and institutional resource managers return new RepositorySite(this, ureq.getLocale()); } diff --git a/src/main/java/org/olat/repository/ui/RepositoryEntryACColumnDescriptor.java b/src/main/java/org/olat/repository/ui/RepositoryEntryACColumnDescriptor.java index 4cdb7e9866dc19e0c9c3df783dc1a957e03893e7..21c6c53db933853010f2e6a572fdfe994ff53f06 100644 --- a/src/main/java/org/olat/repository/ui/RepositoryEntryACColumnDescriptor.java +++ b/src/main/java/org/olat/repository/ui/RepositoryEntryACColumnDescriptor.java @@ -22,28 +22,36 @@ package org.olat.repository.ui; import java.util.Collection; import java.util.Locale; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiCellRenderer; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableComponent; import org.olat.core.gui.components.table.CustomCellRenderer; import org.olat.core.gui.render.Renderer; import org.olat.core.gui.render.StringOutput; +import org.olat.core.gui.render.URLBuilder; +import org.olat.core.gui.translator.Translator; import org.olat.resource.accesscontrol.Price; import org.olat.resource.accesscontrol.model.OLATResourceAccess; import org.olat.resource.accesscontrol.model.PriceMethodBundle; import org.olat.resource.accesscontrol.ui.PriceFormat; /** - * - * Description:<br> - * TODO: srosse Class Description for RepositoryEntryACColumnDescriptor - * - * <P> * Initial Date: 18 avr. 2011 <br> * @author srosse */ -//fxdiff VCRP-1,2: access control of resources -public class RepositoryEntryACColumnDescriptor implements CustomCellRenderer { +public class RepositoryEntryACColumnDescriptor implements CustomCellRenderer, FlexiCellRenderer { + + @Override + public void render(Renderer renderer, StringOutput target, Object cellValue, int row, FlexiTableComponent source, + URLBuilder ubu, Translator translator) { + render(target, cellValue); + } @Override public void render(StringOutput sb, Renderer renderer, Object val, Locale locale, int alignment, String action) { + render(sb, val); + } + + private void render(StringOutput sb, Object val) { if(val instanceof Collection) { Collection<?> accessTypes = (Collection<?>)val; for(Object accessType:accessTypes) { diff --git a/src/main/java/org/olat/repository/ui/RepositoryEntryIconRenderer.java b/src/main/java/org/olat/repository/ui/RepositoryEntryIconRenderer.java index c6591af982af4eca8c4acf1af7167514b82af816..b48a32b1c0623d28a0d74a9d2563812132614505 100644 --- a/src/main/java/org/olat/repository/ui/RepositoryEntryIconRenderer.java +++ b/src/main/java/org/olat/repository/ui/RepositoryEntryIconRenderer.java @@ -23,9 +23,13 @@ import java.util.Locale; import org.apache.commons.lang.StringEscapeUtils; import org.olat.NewControllerFactory; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiCellRenderer; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableComponent; import org.olat.core.gui.components.table.CustomCellRenderer; import org.olat.core.gui.render.Renderer; import org.olat.core.gui.render.StringOutput; +import org.olat.core.gui.render.URLBuilder; +import org.olat.core.gui.translator.Translator; import org.olat.core.util.StringHelper; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntryShort; @@ -40,8 +44,14 @@ import org.olat.repository.RepositoryEntryShort; * * @author Florian Gnägi, http://www.frentix.com */ -public class RepositoryEntryIconRenderer implements CustomCellRenderer { +public class RepositoryEntryIconRenderer implements CustomCellRenderer, FlexiCellRenderer { + private final Locale locale; + + public RepositoryEntryIconRenderer(Locale locale) { + this.locale = locale; + } + public String getIconCssClass(Object val) { String cssClass = null; if (val instanceof RepositoryEntry) { @@ -53,9 +63,19 @@ public class RepositoryEntryIconRenderer implements CustomCellRenderer { } return cssClass == null ? "" : cssClass; } - + @Override - public void render(StringOutput sb, Renderer renderer, Object val, Locale locale, int alignment, String action) { + public void render(Renderer renderer, StringOutput target, Object cellValue, int row, FlexiTableComponent source, + URLBuilder ubu, Translator translator) { + render(target, renderer, cellValue); + } + + @Override + public void render(StringOutput sb, Renderer renderer, Object val, Locale loc, int alignment, String action) { + render(sb, renderer, val); + } + + private void render(StringOutput sb, Renderer renderer, Object val) { if (renderer == null) { // render for export } else { diff --git a/src/main/java/org/olat/repository/ui/RepositoryEntryTypeColumnDescriptor.java b/src/main/java/org/olat/repository/ui/RepositoryEntryTypeColumnDescriptor.java index 789aa4fb25212f86f62fb3fdad5732668606c282..b04cd26d9c890ff6beeaf6585930f4e6c045ac8b 100644 --- a/src/main/java/org/olat/repository/ui/RepositoryEntryTypeColumnDescriptor.java +++ b/src/main/java/org/olat/repository/ui/RepositoryEntryTypeColumnDescriptor.java @@ -47,7 +47,7 @@ public class RepositoryEntryTypeColumnDescriptor extends CustomRenderColumnDescr * @param aligment */ public RepositoryEntryTypeColumnDescriptor(String headerKey, int dataColumn, String action, Locale locale, int aligment) { - super(headerKey, dataColumn, action, locale, aligment, new RepositoryEntryIconRenderer()); + super(headerKey, dataColumn, action, locale, aligment, new RepositoryEntryIconRenderer(locale)); } /** diff --git a/src/main/java/org/olat/repository/ui/RepositoryFlexiTableModel.java b/src/main/java/org/olat/repository/ui/RepositoryFlexiTableModel.java new file mode 100644 index 0000000000000000000000000000000000000000..3c89ac7ab9daca1cde49e1081319d35821b376c7 --- /dev/null +++ b/src/main/java/org/olat/repository/ui/RepositoryFlexiTableModel.java @@ -0,0 +1,272 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.repository.ui; + +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; + +import org.olat.core.CoreSpringFactory; +import org.olat.core.commons.persistence.SortKey; +import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiTableDataModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiSortableColumnDef; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.SortableFlexiTableDataModel; +import org.olat.core.gui.translator.Translator; +import org.olat.core.util.StringHelper; +import org.olat.core.util.Util; +import org.olat.login.LoginModule; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryEntryStatus; +import org.olat.repository.RepositoryService; +import org.olat.repository.model.RepositoryEntryLifecycle; +import org.olat.resource.accesscontrol.ACService; +import org.olat.resource.accesscontrol.AccessControlModule; +import org.olat.resource.accesscontrol.model.OLATResourceAccess; +import org.olat.user.UserManager; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 9 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class RepositoryFlexiTableModel extends DefaultFlexiTableDataModel<RepositoryEntry> +implements SortableFlexiTableDataModel<RepositoryEntry> { + + private final Translator translator; + private final Map<String,String> fullNames = new HashMap<>(); + private final Map<Long,OLATResourceAccess> repoEntriesWithOffer = new HashMap<>(); + + @Autowired + private ACService acService; + @Autowired + private LoginModule loginModule; + @Autowired + private UserManager userManager; + @Autowired + private AccessControlModule acModule; + + public RepositoryFlexiTableModel(FlexiTableColumnModel columnModel, Locale locale) { + super(columnModel); + CoreSpringFactory.autowireObject(this); + translator = Util.createPackageTranslator(RepositoryService.class, locale); + } + + @Override + public void sort(SortKey sortKey) { + // + } + + @Override + public Object getValueAt(int row, int col) { + RepositoryEntry entry = getObject(row); + return getValueAt(entry, col); + } + + @Override + public Object getValueAt(RepositoryEntry re, int col) { + switch (RepoCols.values()[col]) { + case ac: return getAccessControl(re); + case repoEntry: return re; + case displayname: return getDisplayName(re, translator.getLocale()); + case author: return getFullname(re.getInitialAuthor()); + case access: return getAccess(re); + case creationDate: return re.getCreationDate(); + case lastUsage: return re.getStatistics().getLastUsage(); + case externalId: return re.getExternalId(); + case externalRef: return re.getExternalRef(); + case lifecycleLabel: { + RepositoryEntryLifecycle lf = re.getLifecycle(); + if(lf == null || lf.isPrivateCycle()) { + return ""; + } + return lf.getLabel(); + } + case lifecycleSoftKey: { + RepositoryEntryLifecycle lf = re.getLifecycle(); + if(lf == null || lf.isPrivateCycle()) { + return ""; + } + return lf.getSoftKey(); + } + case lifecycleStart: return re.getLifecycle() == null ? null : re.getLifecycle().getValidFrom(); + case lifecycleEnd: return re.getLifecycle() == null ? null : re.getLifecycle().getValidTo(); + default: return "ERROR"; + } + } + + @Override + public void setObjects(List<RepositoryEntry> objects) { + super.setObjects(objects); + repoEntriesWithOffer.clear(); + secondaryInformations(objects); + } + + public void addObject(RepositoryEntry object) { + getObjects().add(object); + secondaryInformations(Collections.singletonList(object)); + } + + public void addObjects(List<RepositoryEntry> addedObjects) { + getObjects().addAll(addedObjects); + secondaryInformations(addedObjects); + } + + private void secondaryInformations(List<RepositoryEntry> repoEntries) { + if(repoEntries == null || repoEntries.isEmpty()) return; + + secondaryInformationsAccessControl(repoEntries); + secondaryInformationsUsernames(repoEntries); + } + + private void secondaryInformationsAccessControl(List<RepositoryEntry> repoEntries) { + if(repoEntries == null || repoEntries.isEmpty() || !acModule.isEnabled()) return; + + List<OLATResourceAccess> withOffers = acService.filterRepositoryEntriesWithAC(repoEntries); + for(OLATResourceAccess withOffer:withOffers) { + repoEntriesWithOffer.put(withOffer.getResource().getKey(), withOffer); + } + } + + private void secondaryInformationsUsernames(List<RepositoryEntry> repoEntries) { + if(repoEntries == null || repoEntries.isEmpty()) return; + + Set<String> newNames = new HashSet<>(); + for(RepositoryEntry re:repoEntries) { + final String author = re.getInitialAuthor(); + if(StringHelper.containsNonWhitespace(author) && + !fullNames.containsKey(author)) { + newNames.add(author); + } + } + + if(!newNames.isEmpty()) { + Map<String,String> newFullnames = userManager.getUserDisplayNamesByUserName(newNames); + fullNames.putAll(newFullnames); + } + } + + public void removeObject(RepositoryEntry object) { + getObjects().remove(object); + repoEntriesWithOffer.remove(object.getOlatResource().getKey()); + } + + private Object getAccessControl(RepositoryEntry re) { + if (re.isMembersOnly()) { + // members only always show lock icon + return Collections.singletonList("o_ac_membersonly"); + } + OLATResourceAccess access = repoEntriesWithOffer.get(re.getOlatResource().getKey()); + if(access == null) { + return null; + } + return access; + } + + private Object getAccess(RepositoryEntry re) { + if(re.isMembersOnly()) { + return translator.translate("table.header.access.membersonly"); + } + switch (re.getAccess()) { + case RepositoryEntry.ACC_OWNERS: return translator.translate("table.header.access.owner"); + case RepositoryEntry.ACC_OWNERS_AUTHORS: return translator.translate("table.header.access.author"); + case RepositoryEntry.ACC_USERS: return translator.translate("table.header.access.user"); + case RepositoryEntry.ACC_USERS_GUESTS: { + if(!loginModule.isGuestLoginLinksEnabled()) { + return translator.translate("table.header.access.user"); + } + return translator.translate("table.header.access.guest"); + } + default: + // OLAT-6272 in case of broken repo entries with no access code + // return error instead of nothing + return "ERROR"; + } + } + + private String getFullname(String author) { + if(fullNames.containsKey(author)) { + return fullNames.get(author); + } + return author; + } + + /** + * Get displayname of a repository entry. If repository entry a course + * and is this course closed then add a prefix to the title. + */ + private String getDisplayName(RepositoryEntry repositoryEntry, Locale locale) { + String displayName = repositoryEntry.getDisplayname(); + if (repositoryEntry.getRepositoryEntryStatus().isClosed()) { + Translator pT = Util.createPackageTranslator(RepositoryEntryStatus.class, locale); + displayName = "[" + pT.translate("title.prefix.closed") + "] ".concat(displayName); + } + return displayName; + } + + @Override + public DefaultFlexiTableDataModel<RepositoryEntry> createCopyWithEmptyList() { + return new RepositoryFlexiTableModel(getTableColumnModel(), translator.getLocale()); + } + + public enum RepoCols implements FlexiSortableColumnDef { + ac("table.header.ac"), + repoEntry("table.header.typeimg"), + displayname("table.header.displayname"), + author("table.header.author"), + access("table.header.access"), + creationDate("table.header.date"), + lastUsage("table.header.lastusage"), + externalId("table.header.externalid"), + externalRef("table.header.externalref"), + lifecycleLabel("table.header.lifecycle.label"), + lifecycleSoftKey("table.header.lifecycle.softkey"), + lifecycleStart(""), + lifecycleEnd(""); + + private final String i18nKey; + + private RepoCols(String i18nKey) { + this.i18nKey = i18nKey; + } + + @Override + public String i18nHeaderKey() { + return i18nKey; + } + + @Override + public boolean sortable() { + return true; + } + + @Override + public String sortKey() { + return name(); + } + } + +} diff --git a/src/main/java/org/olat/repository/ui/RepositoryTableModel.java b/src/main/java/org/olat/repository/ui/RepositoryTableModel.java index 842681da4c1e08333d29d879b2b460f51ce3f87d..f58bc867a2379170960a3371687ea7f18886d71c 100644 --- a/src/main/java/org/olat/repository/ui/RepositoryTableModel.java +++ b/src/main/java/org/olat/repository/ui/RepositoryTableModel.java @@ -98,8 +98,8 @@ public class RepositoryTableModel extends DefaultTableDataModel<RepositoryEntry> private final RepositoryEntryLifecycleDAO lifecycleDao; private final UserManager userManager; - private final Map<Long,OLATResourceAccess> repoEntriesWithOffer = new HashMap<Long,OLATResourceAccess>();; - private final Map<String,String> fullNames = new HashMap<String, String>(); + private final Map<Long,OLATResourceAccess> repoEntriesWithOffer = new HashMap<>(); + private final Map<String,String> fullNames = new HashMap<>(); /** * Default constructor. @@ -261,17 +261,11 @@ public class RepositoryTableModel extends DefaultTableDataModel<RepositoryEntry> return nameColDesc; } - /** - * @see org.olat.core.gui.components.table.TableDataModel#getColumnCount() - */ @Override public int getColumnCount() { return COLUMN_COUNT; } - /** - * @see org.olat.core.gui.components.table.TableDataModel#getValueAt(int, int) - */ @Override public Object getValueAt(int row, int col) { RepositoryEntry re = getObject(row); @@ -279,9 +273,7 @@ public class RepositoryTableModel extends DefaultTableDataModel<RepositoryEntry> case ac: { if (re.isMembersOnly()) { // members only always show lock icon - List<String> types = new ArrayList<String>(1); - types.add("o_ac_membersonly"); - return types; + return Collections.singletonList("o_ac_membersonly"); } OLATResourceAccess access = repoEntriesWithOffer.get(re.getOlatResource().getKey()); if(access == null) { @@ -389,7 +381,7 @@ public class RepositoryTableModel extends DefaultTableDataModel<RepositoryEntry> private void secondaryInformationsUsernames(List<RepositoryEntry> repoEntries) { if(repoEntries == null || repoEntries.isEmpty()) return; - Set<String> newNames = new HashSet<String>(); + Set<String> newNames = new HashSet<>(); for(RepositoryEntry re:repoEntries) { final String author = re.getInitialAuthor(); if(StringHelper.containsNonWhitespace(author) && @@ -422,7 +414,7 @@ public class RepositoryTableModel extends DefaultTableDataModel<RepositoryEntry> */ private String getDisplayName(RepositoryEntry repositoryEntry, Locale locale) { String displayName = repositoryEntry.getDisplayname(); - if (repositoryEntry != null && repositoryEntry.getRepositoryEntryStatus().isClosed()) { + if (repositoryEntry.getRepositoryEntryStatus().isClosed()) { Translator pT = Util.createPackageTranslator(RepositoryEntryStatus.class, locale); displayName = "[" + pT.translate("title.prefix.closed") + "] ".concat(displayName); } @@ -431,7 +423,6 @@ public class RepositoryTableModel extends DefaultTableDataModel<RepositoryEntry> @Override public Object createCopyWithEmptyList() { - RepositoryTableModel copy = new RepositoryTableModel(translator.getLocale()); - return copy; + return new RepositoryTableModel(translator.getLocale()); } } \ No newline at end of file diff --git a/src/main/java/org/olat/repository/ui/author/AuthorDeletedListController.java b/src/main/java/org/olat/repository/ui/author/AuthorDeletedListController.java index 0236d24781e5553668ac1236eda679b633c713f7..cb1c8c37151597e8a55daa146c1c2e465d73131a 100644 --- a/src/main/java/org/olat/repository/ui/author/AuthorDeletedListController.java +++ b/src/main/java/org/olat/repository/ui/author/AuthorDeletedListController.java @@ -198,7 +198,7 @@ public class AuthorDeletedListController extends AuthorListController { boolean managed = RepositoryEntryManagedFlag.isManaged(row.getManagedFlags(), RepositoryEntryManagedFlag.delete); boolean canDelete = roles.isOLATAdmin() || repositoryService.hasRole(getIdentity(), row, GroupRoles.owner.name()) - || repositoryManager.isInstitutionalRessourceManagerFor(getIdentity(), roles, row); + || repositoryManager.isLearnResourceManagerFor(roles, row); if(canDelete && !managed) { deleteableRowKeys.add(row.getKey()); } @@ -226,7 +226,7 @@ public class AuthorDeletedListController extends AuthorListController { List<Long> deleteableRowKeys = new ArrayList<>(rows.size()); for(AuthoringEntryRow row:rows) { boolean managed = RepositoryEntryManagedFlag.isManaged(row.getManagedFlags(), RepositoryEntryManagedFlag.delete); - boolean canDelete = roles.isOLATAdmin() || repositoryManager.isInstitutionalRessourceManagerFor(getIdentity(), roles, row); + boolean canDelete = roles.isOLATAdmin() || repositoryManager.isLearnResourceManagerFor(roles, row); if(canDelete && !managed) { deleteableRowKeys.add(row.getKey()); } @@ -268,7 +268,7 @@ public class AuthorDeletedListController extends AuthorListController { Identity identity = getIdentity(); Roles roles = ureq.getUserSession().getRoles(); boolean isInstitutionalResourceManager = !roles.isGuestOnly() - && repositoryManager.isInstitutionalRessourceManagerFor(identity, roles, entry); + && repositoryManager.isLearnResourceManagerFor(roles, entry); isOwner = isOlatAdmin || repositoryService.hasRole(identity, entry, GroupRoles.owner.name()) || isInstitutionalResourceManager; isAuthor = isOlatAdmin || roles.isAuthor() || isInstitutionalResourceManager; diff --git a/src/main/java/org/olat/repository/ui/author/AuthorListController.java b/src/main/java/org/olat/repository/ui/author/AuthorListController.java index 5035041cf082b7bd486c74c84f46f0ad9f92aefe..2eb303e72aad21e526c7be8e3e803b9e96eb4507 100644 --- a/src/main/java/org/olat/repository/ui/author/AuthorListController.java +++ b/src/main/java/org/olat/repository/ui/author/AuthorListController.java @@ -28,8 +28,6 @@ import java.util.concurrent.atomic.AtomicInteger; import org.olat.NewControllerFactory; import org.olat.admin.user.UserSearchController; import org.olat.basesecurity.GroupRoles; -import org.olat.basesecurity.OrganisationRoles; -import org.olat.basesecurity.OrganisationService; import org.olat.basesecurity.events.MultiIdentityChosenEvent; import org.olat.basesecurity.events.SingleIdentityChosenEvent; import org.olat.core.commons.persistence.DB; @@ -83,8 +81,6 @@ import org.olat.core.gui.media.MediaResource; import org.olat.core.gui.translator.Translator; import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; -import org.olat.core.id.Organisation; -import org.olat.core.id.OrganisationRef; import org.olat.core.id.Roles; import org.olat.core.id.context.ContextEntry; import org.olat.core.id.context.StateEntry; @@ -181,8 +177,6 @@ public class AuthorListController extends FormBasicController implements Activat @Autowired protected RepositoryHandlerFactory repositoryHandlerFactory; @Autowired - private OrganisationService organisationService; - @Autowired private LicenseModule licenseModule; @Autowired private RepositoryEntryLicenseHandler licenseHandler; @@ -204,16 +198,6 @@ public class AuthorListController extends FormBasicController implements Activat boolean learnResourceManager = roles.isLearnResourceManager(); isOlatAdmin = roles.isOLATAdmin() || learnResourceManager; hasAuthorRight = roles.isAuthor() || learnResourceManager || roles.isOLATAdmin(); - if(!roles.isOLATAdmin()) { - if(learnResourceManager) { - List<Organisation> orgs = organisationService - .getManageableOrganisations(getIdentity(), roles, OrganisationRoles.learnresourcemanager); - searchParams.setLearnResourceManagerOrganisations(new ArrayList<OrganisationRef>(orgs)); - } - if(roles.isAuthor()) { - - } - } dataSource = new AuthoringEntryDataSource(searchParams, this, !withSearch); initForm(ureq); @@ -868,7 +852,7 @@ public class AuthorListController extends FormBasicController implements Activat for(AuthoringEntryRow row:rows) { boolean managed = RepositoryEntryManagedFlag.isManaged(row.getManagedFlags(), RepositoryEntryManagedFlag.membersmanagement); boolean canAddOwner = roles.isOLATAdmin() || repositoryService.hasRole(ureq.getIdentity(), row, GroupRoles.owner.name()) - || repositoryManager.isInstitutionalRessourceManagerFor(getIdentity(), roles, row); + || repositoryManager.isLearnResourceManagerFor(roles, row); if(canAddOwner && !managed) { manageableRows.add(row); } @@ -908,7 +892,7 @@ public class AuthorListController extends FormBasicController implements Activat if(entry == null) { deleted = true; } else { - boolean isInstitutionalResourceManager = repositoryManager.isInstitutionalRessourceManagerFor(getIdentity(), roles, row); + boolean isInstitutionalResourceManager = repositoryManager.isLearnResourceManagerFor(roles, row); boolean isOwner = roles.isOLATAdmin() || repositoryService.hasRole(ureq.getIdentity(), row, GroupRoles.owner.name()) || isInstitutionalResourceManager; @@ -1006,7 +990,7 @@ public class AuthorListController extends FormBasicController implements Activat for(AuthoringEntryRow row:rows) { boolean managed = RepositoryEntryManagedFlag.isManaged(row.getManagedFlags(), RepositoryEntryManagedFlag.delete); boolean canDelete = roles.isOLATAdmin() || repositoryService.hasRole(ureq.getIdentity(), row, GroupRoles.owner.name()) - || repositoryManager.isInstitutionalRessourceManagerFor(getIdentity(), roles, row); + || repositoryManager.isLearnResourceManagerFor(roles, row); if(canDelete && !managed) { deleteableRowKeys.add(row.getKey()); } @@ -1229,13 +1213,12 @@ public class AuthorListController extends FormBasicController implements Activat setTranslator(AuthorListController.this.getTranslator()); this.row = row; - Identity identity = getIdentity(); Roles roles = ureq.getUserSession().getRoles(); boolean isInstitutionalResourceManager = !roles.isGuestOnly() - && repositoryManager.isInstitutionalRessourceManagerFor(identity, roles, entry); + && repositoryManager.isLearnResourceManagerFor(roles, entry); isOwner = isOlatAdmin || repositoryService.hasRole(ureq.getIdentity(), entry, GroupRoles.owner.name()) || isInstitutionalResourceManager; - isAuthor = isOlatAdmin || roles.isAuthor() | isInstitutionalResourceManager; + isAuthor = isOlatAdmin || roles.isAuthor() || isInstitutionalResourceManager; RepositoryHandler handler = repositoryHandlerFactory.getRepositoryHandler(entry); diff --git a/src/main/java/org/olat/repository/ui/author/AuthorSearchController.java b/src/main/java/org/olat/repository/ui/author/AuthorSearchController.java index f18cc9c2120c9efac1c705135e0a66a7c99420fe..988ece0e588efbe8d9bcd6b4186f5ac7a3b6876a 100644 --- a/src/main/java/org/olat/repository/ui/author/AuthorSearchController.java +++ b/src/main/java/org/olat/repository/ui/author/AuthorSearchController.java @@ -334,8 +334,8 @@ public class AuthorSearchController extends FormBasicController implements Exten e.setResourceUsage(getResourceUsage()); e.setClosed(getClosed()); if (licenseModule.isEnabled(licenseHandler)) { - Set<Long> keys = licenseEl.getSelectedKeys().stream().map(Long::valueOf).collect(Collectors.toSet()); - e.setLicenseTypeKeys(keys); + Set<Long> licenceKeys = licenseEl.getSelectedKeys().stream().map(Long::valueOf).collect(Collectors.toSet()); + e.setLicenseTypeKeys(licenceKeys); } fireEvent(ureq, e); } diff --git a/src/main/java/org/olat/repository/ui/author/CreateRepositoryEntryController.java b/src/main/java/org/olat/repository/ui/author/CreateRepositoryEntryController.java index ff9f2f4df32135812a7c4055a18e238e5265923b..6f32d49476e9736084f196fd45665b945ad14049 100644 --- a/src/main/java/org/olat/repository/ui/author/CreateRepositoryEntryController.java +++ b/src/main/java/org/olat/repository/ui/author/CreateRepositoryEntryController.java @@ -94,8 +94,9 @@ public class CreateRepositoryEntryController extends FormBasicController impleme super(ureq, wControl); setTranslator(Util.createPackageTranslator(RepositoryManager.class, getLocale(), getTranslator())); this.handler = handler; - manageableOrganisations = organisationService - .getManageableOrganisations(getIdentity(), ureq.getUserSession().getRoles(), OrganisationRoles.learnresourcemanager); + + manageableOrganisations = organisationService.getOrganisations(getIdentity(), ureq.getUserSession().getRoles(), + OrganisationRoles.administrator, OrganisationRoles.learnresourcemanager); initForm(ureq); } diff --git a/src/main/java/org/olat/repository/ui/author/ImportRepositoryEntryController.java b/src/main/java/org/olat/repository/ui/author/ImportRepositoryEntryController.java index 3ff88835145ee9c6229a984523f6613a12f41047..1dc9f8761bd953f25b4e6daddc205a247574a9cc 100644 --- a/src/main/java/org/olat/repository/ui/author/ImportRepositoryEntryController.java +++ b/src/main/java/org/olat/repository/ui/author/ImportRepositoryEntryController.java @@ -91,8 +91,8 @@ public class ImportRepositoryEntryController extends FormBasicController { public ImportRepositoryEntryController(UserRequest ureq, WindowControl wControl) { super(ureq, wControl); setTranslator(Util.createPackageTranslator(RepositoryManager.class, getLocale(), getTranslator())); - manageableOrganisations = organisationService - .getManageableOrganisations(getIdentity(), ureq.getUserSession().getRoles(), OrganisationRoles.learnresourcemanager); + manageableOrganisations = organisationService.getOrganisations(getIdentity(), ureq.getUserSession().getRoles(), + OrganisationRoles.administrator, OrganisationRoles.learnresourcemanager); initForm(ureq); } @@ -101,8 +101,8 @@ public class ImportRepositoryEntryController extends FormBasicController { super(ureq, wControl); setTranslator(Util.createPackageTranslator(RepositoryManager.class, getLocale(), getTranslator())); this.limitTypes = limitTypes; - manageableOrganisations = organisationService - .getManageableOrganisations(getIdentity(), ureq.getUserSession().getRoles(), OrganisationRoles.learnresourcemanager); + manageableOrganisations = organisationService.getOrganisations(getIdentity(), ureq.getUserSession().getRoles(), + OrganisationRoles.administrator, OrganisationRoles.learnresourcemanager); initForm(ureq); } diff --git a/src/main/java/org/olat/repository/ui/author/RepositoryEditDescriptionController.java b/src/main/java/org/olat/repository/ui/author/RepositoryEditDescriptionController.java index f5ba480167661b586bcb9e60a463461107339066..40213f0fbccc453995d61dfd3c3ba4d89c56724c 100644 --- a/src/main/java/org/olat/repository/ui/author/RepositoryEditDescriptionController.java +++ b/src/main/java/org/olat/repository/ui/author/RepositoryEditDescriptionController.java @@ -70,6 +70,7 @@ import org.olat.core.id.Organisation; import org.olat.core.id.Roles; import org.olat.core.util.FileUtils; import org.olat.core.util.StringHelper; +import org.olat.core.util.UserSession; import org.olat.core.util.WebappHelper; import org.olat.core.util.coordinate.CoordinatorManager; import org.olat.core.util.event.MultiUserEvent; @@ -80,7 +81,6 @@ import org.olat.core.util.vfs.VFSLeaf; import org.olat.course.CourseModule; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntryManagedFlag; -import org.olat.repository.RepositoryEntryToOrganisation; import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryService; import org.olat.repository.controllers.EntryChangedEvent; @@ -177,6 +177,8 @@ public class RepositoryEditDescriptionController extends FormBasicController { @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + UserSession usess = ureq.getUserSession(); + setFormContextHelp("Info Page: Add Meta Data"); formLayout.setElementCssClass("o_sel_edit_repositoryentry"); @@ -254,7 +256,7 @@ public class RepositoryEditDescriptionController extends FormBasicController { } if(organisationModule.isEnabled()) { - initFormOrganisations(formLayout, ureq); + initFormOrganisations(formLayout, usess); } language = uifactory.addTextElement("cif.mainLanguage", "cif.mainLanguage", 16, repositoryEntry.getMainLanguage(), formLayout); @@ -271,115 +273,14 @@ public class RepositoryEditDescriptionController extends FormBasicController { String desc = (repositoryEntry.getDescription() != null ? repositoryEntry.getDescription() : " "); description = uifactory.addRichTextElementForStringData("cif.description", "cif.description", - desc, 10, -1, false, mediaContainer, null, formLayout, ureq.getUserSession(), getWindowControl()); + desc, 10, -1, false, mediaContainer, null, formLayout, usess, getWindowControl()); description.setEnabled(!RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.description)); description.getEditorConfiguration().setFileBrowserUploadRelPath("media"); uifactory.addSpacerElement("spacer2", formLayout, false); if(CourseModule.getCourseTypeName().equals(repoEntryType)) { - String[] dateValues = new String[] { - translate("cif.dates.none"), - translate("cif.dates.private"), - translate("cif.dates.public") - }; - dateTypesEl = uifactory.addRadiosVertical("cif.dates", formLayout, dateKeys, dateValues); - dateTypesEl.setElementCssClass("o_sel_repo_lifecycle_type"); - if(repositoryEntry.getLifecycle() == null) { - dateTypesEl.select("none", true); - } else if(repositoryEntry.getLifecycle().isPrivateCycle()) { - dateTypesEl.select("private", true); - } else { - dateTypesEl.select("public", true); - } - dateTypesEl.addActionListener(FormEvent.ONCHANGE); - - List<RepositoryEntryLifecycle> cycles = lifecycleDao.loadPublicLifecycle(); - List<RepositoryEntryLifecycle> filteredCycles = new ArrayList<>(); - //just make the upcomming and acutual running cycles or the pre-selected visible in the UI - LocalDateTime now = LocalDateTime.now(); - for(RepositoryEntryLifecycle cycle:cycles) { - if(cycle.getValidTo() == null - || now.isBefore(LocalDateTime.ofInstant(cycle.getValidTo().toInstant(), ZoneId.systemDefault())) - || (repositoryEntry.getLifecycle() != null && repositoryEntry.getLifecycle().equals(cycle))) { - filteredCycles.add(cycle); - } - } - - String[] publicKeys = new String[filteredCycles.size()]; - String[] publicValues = new String[filteredCycles.size()]; - int count = 0; - for(RepositoryEntryLifecycle cycle:filteredCycles) { - publicKeys[count] = cycle.getKey().toString(); - - StringBuilder sb = new StringBuilder(32); - boolean labelAvailable = StringHelper.containsNonWhitespace(cycle.getLabel()); - if(labelAvailable) { - sb.append(cycle.getLabel()); - } - if(StringHelper.containsNonWhitespace(cycle.getSoftKey())) { - if(labelAvailable) sb.append(" - "); - sb.append(cycle.getSoftKey()); - } - publicValues[count++] = sb.toString(); - } - publicDatesEl = uifactory.addDropdownSingleselect("cif.public.dates", formLayout, publicKeys, publicValues, null); - - String privateDatePage = velocity_root + "/cycle_dates.html"; - privateDatesCont = FormLayoutContainer.createCustomFormLayout("private.date", getTranslator(), privateDatePage); - privateDatesCont.setRootForm(mainForm); - privateDatesCont.setLabel("cif.private.dates", null); - formLayout.add("private.date", privateDatesCont); - - startDateEl = uifactory.addDateChooser("date.start", "cif.date.start", null, privateDatesCont); - startDateEl.setElementCssClass("o_sel_repo_lifecycle_validfrom"); - endDateEl = uifactory.addDateChooser("date.end", "cif.date.end", null, privateDatesCont); - endDateEl.setElementCssClass("o_sel_repo_lifecycle_validto"); - - if(repositoryEntry.getLifecycle() != null) { - RepositoryEntryLifecycle lifecycle = repositoryEntry.getLifecycle(); - if(lifecycle.isPrivateCycle()) { - startDateEl.setDate(lifecycle.getValidFrom()); - endDateEl.setDate(lifecycle.getValidTo()); - } else { - String key = lifecycle.getKey().toString(); - for(String publicKey:publicKeys) { - if(key.equals(publicKey)) { - publicDatesEl.select(key, true); - break; - } - } - } - } - - updateDatesVisibility(); - uifactory.addSpacerElement("spacer3", formLayout, false); - - expenditureOfWork = uifactory.addTextElement("cif.expenditureOfWork", "cif.expenditureOfWork", 100, repositoryEntry.getExpenditureOfWork(), formLayout); - expenditureOfWork.setExampleKey("details.expenditureOfWork.example", null); - - String obj = (repositoryEntry.getObjectives() != null ? repositoryEntry.getObjectives() : " "); - objectives = uifactory.addRichTextElementForStringData("cif.objectives", "cif.objectives", - obj, 10, -1, false, mediaContainer, null, formLayout, ureq.getUserSession(), getWindowControl()); - objectives.setEnabled(!RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.objectives)); - objectives.getEditorConfiguration().setFileBrowserUploadRelPath("media"); - - - String req = (repositoryEntry.getRequirements() != null ? repositoryEntry.getRequirements() : " "); - requirements = uifactory.addRichTextElementForStringData("cif.requirements", "cif.requirements", - req, 10, -1, false, mediaContainer, null, formLayout, ureq.getUserSession(), getWindowControl()); - requirements.setEnabled(!RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.requirements)); - requirements.getEditorConfiguration().setFileBrowserUploadRelPath("media"); - requirements.setMaxLength(2000); - - String cred = (repositoryEntry.getCredits() != null ? repositoryEntry.getCredits() : " "); - credits = uifactory.addRichTextElementForStringData("cif.credits", "cif.credits", - cred, 10, -1, false, mediaContainer, null, formLayout, ureq.getUserSession(), getWindowControl()); - credits.setEnabled(!RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.credits)); - credits.getEditorConfiguration().setFileBrowserUploadRelPath("media"); - credits.setMaxLength(2000); - - uifactory.addSpacerElement("spacer4", formLayout, false); + initCourse(formLayout, usess); } boolean managed = RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.details); @@ -388,11 +289,11 @@ public class RepositoryEditDescriptionController extends FormBasicController { fileUpload = uifactory.addFileElement(getWindowControl(), "rentry.pic", "rentry.pic", formLayout); fileUpload.setExampleKey("rentry.pic.example", new String[] {RepositoryManager.PICTURE_WIDTH + "x" + (RepositoryManager.PICTURE_HEIGHT)}); fileUpload.setMaxUploadSizeKB(picUploadlimitKB, null, null); - fileUpload.setPreview(ureq.getUserSession(), true); + fileUpload.setPreview(usess, true); fileUpload.addActionListener(FormEvent.ONCHANGE); fileUpload.setDeleteEnabled(!managed); if(img instanceof LocalFileImpl) { - fileUpload.setPreview(ureq.getUserSession(), true); + fileUpload.setPreview(usess, true); fileUpload.setInitialFile(((LocalFileImpl)img).getBasefile()); } fileUpload.setVisible(!managed); @@ -402,11 +303,11 @@ public class RepositoryEditDescriptionController extends FormBasicController { movieUpload = uifactory.addFileElement(getWindowControl(), "rentry.movie", "rentry.movie", formLayout); movieUpload.setExampleKey("rentry.movie.example", new String[] {"3:2"}); movieUpload.setMaxUploadSizeKB(movieUploadlimitKB, null, null); - movieUpload.setPreview(ureq.getUserSession(), true); + movieUpload.setPreview(usess, true); movieUpload.addActionListener(FormEvent.ONCHANGE); movieUpload.setDeleteEnabled(!managed); if(movie instanceof LocalFileImpl) { - movieUpload.setPreview(ureq.getUserSession(), true); + movieUpload.setPreview(usess, true); movieUpload.setInitialFile(((LocalFileImpl)movie).getBasefile()); } movieUpload.setVisible(!managed); @@ -418,16 +319,116 @@ public class RepositoryEditDescriptionController extends FormBasicController { submit.setVisible(!managed); uifactory.addFormCancelButton("cancel", buttonContainer, ureq, getWindowControl()); } - - protected void initFormOrganisations(FormItemContainer formLayout, UserRequest ureq) { - List<Organisation> organisations; - Roles roles = ureq.getUserSession().getRoles(); - if(roles.isOLATAdmin()) { - organisations = organisationService.getOrganisations(); + + private void initCourse(FormItemContainer formLayout, UserSession usess) { + String[] dateValues = new String[] { + translate("cif.dates.none"), + translate("cif.dates.private"), + translate("cif.dates.public") + }; + dateTypesEl = uifactory.addRadiosVertical("cif.dates", formLayout, dateKeys, dateValues); + dateTypesEl.setElementCssClass("o_sel_repo_lifecycle_type"); + if(repositoryEntry.getLifecycle() == null) { + dateTypesEl.select("none", true); + } else if(repositoryEntry.getLifecycle().isPrivateCycle()) { + dateTypesEl.select("private", true); } else { - organisations = organisationService - .getManageableOrganisations(getIdentity(), roles, OrganisationRoles.learnresourcemanager); + dateTypesEl.select("public", true); + } + dateTypesEl.addActionListener(FormEvent.ONCHANGE); + + List<RepositoryEntryLifecycle> cycles = lifecycleDao.loadPublicLifecycle(); + List<RepositoryEntryLifecycle> filteredCycles = new ArrayList<>(); + //just make the upcomming and acutual running cycles or the pre-selected visible in the UI + LocalDateTime now = LocalDateTime.now(); + for(RepositoryEntryLifecycle cycle:cycles) { + if(cycle.getValidTo() == null + || now.isBefore(LocalDateTime.ofInstant(cycle.getValidTo().toInstant(), ZoneId.systemDefault())) + || (repositoryEntry.getLifecycle() != null && repositoryEntry.getLifecycle().equals(cycle))) { + filteredCycles.add(cycle); + } + } + + String[] publicKeys = new String[filteredCycles.size()]; + String[] publicValues = new String[filteredCycles.size()]; + int count = 0; + for(RepositoryEntryLifecycle cycle:filteredCycles) { + publicKeys[count] = cycle.getKey().toString(); + + StringBuilder sb = new StringBuilder(32); + boolean labelAvailable = StringHelper.containsNonWhitespace(cycle.getLabel()); + if(labelAvailable) { + sb.append(cycle.getLabel()); + } + if(StringHelper.containsNonWhitespace(cycle.getSoftKey())) { + if(labelAvailable) sb.append(" - "); + sb.append(cycle.getSoftKey()); + } + publicValues[count++] = sb.toString(); } + publicDatesEl = uifactory.addDropdownSingleselect("cif.public.dates", formLayout, publicKeys, publicValues, null); + + String privateDatePage = velocity_root + "/cycle_dates.html"; + privateDatesCont = FormLayoutContainer.createCustomFormLayout("private.date", getTranslator(), privateDatePage); + privateDatesCont.setRootForm(mainForm); + privateDatesCont.setLabel("cif.private.dates", null); + formLayout.add("private.date", privateDatesCont); + + startDateEl = uifactory.addDateChooser("date.start", "cif.date.start", null, privateDatesCont); + startDateEl.setElementCssClass("o_sel_repo_lifecycle_validfrom"); + endDateEl = uifactory.addDateChooser("date.end", "cif.date.end", null, privateDatesCont); + endDateEl.setElementCssClass("o_sel_repo_lifecycle_validto"); + + if(repositoryEntry.getLifecycle() != null) { + RepositoryEntryLifecycle lifecycle = repositoryEntry.getLifecycle(); + if(lifecycle.isPrivateCycle()) { + startDateEl.setDate(lifecycle.getValidFrom()); + endDateEl.setDate(lifecycle.getValidTo()); + } else { + String key = lifecycle.getKey().toString(); + for(String publicKey:publicKeys) { + if(key.equals(publicKey)) { + publicDatesEl.select(key, true); + break; + } + } + } + } + + updateDatesVisibility(); + uifactory.addSpacerElement("spacer3", formLayout, false); + + expenditureOfWork = uifactory.addTextElement("cif.expenditureOfWork", "cif.expenditureOfWork", 100, repositoryEntry.getExpenditureOfWork(), formLayout); + expenditureOfWork.setExampleKey("details.expenditureOfWork.example", null); + + String obj = (repositoryEntry.getObjectives() != null ? repositoryEntry.getObjectives() : " "); + objectives = uifactory.addRichTextElementForStringData("cif.objectives", "cif.objectives", + obj, 10, -1, false, mediaContainer, null, formLayout, usess, getWindowControl()); + objectives.setEnabled(!RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.objectives)); + objectives.getEditorConfiguration().setFileBrowserUploadRelPath("media"); + + + String req = (repositoryEntry.getRequirements() != null ? repositoryEntry.getRequirements() : " "); + requirements = uifactory.addRichTextElementForStringData("cif.requirements", "cif.requirements", + req, 10, -1, false, mediaContainer, null, formLayout, usess, getWindowControl()); + requirements.setEnabled(!RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.requirements)); + requirements.getEditorConfiguration().setFileBrowserUploadRelPath("media"); + requirements.setMaxLength(2000); + + String cred = (repositoryEntry.getCredits() != null ? repositoryEntry.getCredits() : " "); + credits = uifactory.addRichTextElementForStringData("cif.credits", "cif.credits", + cred, 10, -1, false, mediaContainer, null, formLayout, usess, getWindowControl()); + credits.setEnabled(!RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.credits)); + credits.getEditorConfiguration().setFileBrowserUploadRelPath("media"); + credits.setMaxLength(2000); + + uifactory.addSpacerElement("spacer4", formLayout, false); + } + + private void initFormOrganisations(FormItemContainer formLayout, UserSession usess) { + Roles roles = usess.getRoles(); + List<Organisation> organisations = organisationService.getOrganisations(getIdentity(), roles, + OrganisationRoles.administrator, OrganisationRoles.learnresourcemanager); List<String> keyList = new ArrayList<>(); List<String> valueList = new ArrayList<>(); @@ -439,12 +440,11 @@ public class RepositoryEditDescriptionController extends FormBasicController { keyList.toArray(new String[keyList.size()]), valueList.toArray(new String[valueList.size()]), null, null); - Set<RepositoryEntryToOrganisation> reOrganisations = repositoryEntry.getOrganisations(); + List<Organisation> reOrganisations = repositoryService.getOrganisations(repositoryEntry); repositoryEntryOrganisations = new ArrayList<>(reOrganisations.size()); - for(RepositoryEntryToOrganisation reOrganisation:reOrganisations) { - Organisation organisation = reOrganisation.getOrganisation(); - if(keyList.contains(organisation.getKey().toString())) { - organisationsEl.select(organisation.getKey().toString(), true); + for(Organisation reOrganisation:reOrganisations) { + if(keyList.contains(reOrganisation.getKey().toString())) { + organisationsEl.select(reOrganisation.getKey().toString(), true); } } } diff --git a/src/main/java/org/olat/repository/ui/catalog/CatalogEntryAddController.java b/src/main/java/org/olat/repository/ui/catalog/CatalogEntryAddController.java index c3a0770f0e5894ae0587dffec46295828fb025d2..c22ad8097f92bbb0a57a3850399e2b838a986324 100644 --- a/src/main/java/org/olat/repository/ui/catalog/CatalogEntryAddController.java +++ b/src/main/java/org/olat/repository/ui/catalog/CatalogEntryAddController.java @@ -22,7 +22,6 @@ package org.olat.repository.ui.catalog; import java.util.Collections; import java.util.List; -import org.olat.basesecurity.BaseSecurity; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; @@ -60,8 +59,6 @@ public class CatalogEntryAddController extends BasicController { private Link okButton, cancelButton; private RepositoryEntry toBeAddedEntry; - @Autowired - private BaseSecurity securityManager; @Autowired protected CatalogManager catalogManager; diff --git a/src/main/java/org/olat/repository/ui/catalog/CatalogNodeManagerController.java b/src/main/java/org/olat/repository/ui/catalog/CatalogNodeManagerController.java index 6e3c16c4ad926ed7d6197242aa5667dde44f8253..bc066cfc9ce5da7c66489d7f164b8b78f11a298a 100644 --- a/src/main/java/org/olat/repository/ui/catalog/CatalogNodeManagerController.java +++ b/src/main/java/org/olat/repository/ui/catalog/CatalogNodeManagerController.java @@ -61,6 +61,7 @@ import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory; import org.olat.core.helpers.Settings; import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; +import org.olat.core.id.Roles; import org.olat.core.id.context.BusinessControlFactory; import org.olat.core.id.context.ContextEntry; import org.olat.core.id.context.StateEntry; @@ -173,9 +174,10 @@ public class CatalogNodeManagerController extends FormBasicController implements this.rootwControl = rootwControl; mapperThumbnailKey = mapperService.register(null, "catalogentryImage", new CatalogEntryImageMapper()); - isAuthor = ureq.getUserSession().getRoles().isAuthor(); - isGuest = ureq.getUserSession().getRoles().isGuestOnly(); - isOLATAdmin = ureq.getUserSession().getRoles().isOLATAdmin(); + Roles roles = ureq.getUserSession().getRoles(); + isAuthor = roles.isAuthor(); + isGuest = roles.isGuestOnly(); + isOLATAdmin = roles.isOLATAdmin(); if(isOLATAdmin) { isLocalTreeAdmin = false; @@ -679,7 +681,7 @@ public class CatalogNodeManagerController extends FormBasicController implements entrySearchCtrl = new RepositorySearchController(translate("choose"), ureq, getWindowControl(), true, false, new String[0], null); listenTo(entrySearchCtrl); // OLAT-Admin has search form - if (ureq.getUserSession().getRoles().isOLATAdmin()) { + if (isOLATAdmin) { entrySearchCtrl.displaySearchForm(); } // an Author gets the list of his repository diff --git a/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java b/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java index aec47125eb9ccb9df598e1a561af364b1a3fbb17..8380e5882b140e4b611694b103c06d078351a5fa 100644 --- a/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java +++ b/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java @@ -45,6 +45,8 @@ import org.olat.core.util.Util; import org.olat.core.util.event.EventBus; import org.olat.core.util.event.GenericEventListener; import org.olat.core.util.resource.OresHelper; +import org.olat.modules.curriculum.CurriculumModule; +import org.olat.modules.curriculum.ui.CurriculumListController; import org.olat.repository.CatalogEntry; import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryModule; @@ -68,7 +70,11 @@ public class OverviewRepositoryListController extends BasicController implements private final VelocityContainer mainVC; private final SegmentViewComponent segmentView; private final Link myCourseLink; - private Link favoriteLink, catalogLink, searchCourseLink, closedCourseLink; + private Link favoriteLink; + private Link catalogLink; + private Link searchCourseLink; + private Link closedCourseLink; + private Link curriculumLink; private Controller currentCtrl; private RepositoryEntryListController markedCtrl; @@ -77,6 +83,8 @@ public class OverviewRepositoryListController extends BasicController implements private BreadcrumbedStackedPanel myCoursesStackPanel; private CatalogNodeController catalogCtrl; private BreadcrumbedStackedPanel catalogStackPanel; + private CurriculumListController curriculumListCtrl; + private BreadcrumbedStackedPanel curriculumStackPanel; private RepositoryEntryListController searchCoursesCtrl; private RepositoryEntryListController closedCoursesCtrl; private BreadcrumbedStackedPanel searchCoursesStackPanel; @@ -90,6 +98,8 @@ public class OverviewRepositoryListController extends BasicController implements private CatalogManager catalogManager; @Autowired private RepositoryModule repositoryModule; + @Autowired + private CurriculumModule curriculumModule; public OverviewRepositoryListController(UserRequest ureq, WindowControl wControl) { super(ureq, wControl); @@ -117,6 +127,12 @@ public class OverviewRepositoryListController extends BasicController implements closedCourseLink.setElementCssClass("o_sel_mycourses_closed"); segmentView.addSegment(closedCourseLink, false); + if(curriculumModule.isEnabled() && curriculumModule.isCurriculumInMyCourses()) { + curriculumLink = LinkFactory.createLink("search.curriculums", mainVC, this); + curriculumLink.setElementCssClass("o_sel_mycurriculums"); + segmentView.addSegment(curriculumLink, false); + } + if(repositoryModule.isCatalogEnabled() && repositoryModule.isCatalogBrowsingEnabled()) { catalogLink = LinkFactory.createLink("search.catalog", mainVC, this); catalogLink.setElementCssClass("o_sel_mycourses_catlog"); @@ -181,6 +197,12 @@ public class OverviewRepositoryListController extends BasicController implements ctrl.activate(ureq, entries, entry.getTransientState()); segmentView.select(catalogLink); } + } else if("Curriculum".equalsIgnoreCase(segment)) { + CurriculumListController ctrl = doOpenCurriculum(ureq); + if(ctrl != null) { + ctrl.activate(ureq, subEntries, entry.getTransientState()); + segmentView.select(curriculumLink); + } } else if("Search".equalsIgnoreCase(segment) && searchCourseLink != null) { doOpenSearchCourses(ureq).activate(ureq, subEntries, entry.getTransientState()); segmentView.select(searchCourseLink); @@ -231,6 +253,8 @@ public class OverviewRepositoryListController extends BasicController implements doOpenMyCourses(ureq); } else if (clickedLink == catalogLink) { doOpenCatalog(ureq); + } else if (clickedLink == curriculumLink) { + doOpenCurriculum(ureq); } else if(clickedLink == searchCourseLink) { doOpenSearchCourses(ureq); } else if(clickedLink == closedCourseLink) { @@ -304,7 +328,7 @@ public class OverviewRepositoryListController extends BasicController implements List<CatalogEntry> entries = catalogManager.getRootCatalogEntries(); CatalogEntry rootEntry = null; - if(entries.size() > 0) { + if(!entries.isEmpty()) { rootEntry = entries.get(0); } @@ -322,6 +346,28 @@ public class OverviewRepositoryListController extends BasicController implements return catalogCtrl; } + private CurriculumListController doOpenCurriculum(UserRequest ureq) { + if(!curriculumModule.isEnabled() || !curriculumModule.isCurriculumInMyCourses()) { + return null; + } + cleanUp(); + + + OLATResourceable ores = OresHelper.createOLATResourceableInstance("Curriculum", 0l); + ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores)); + WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ores, null, getWindowControl()); + curriculumStackPanel = new BreadcrumbedStackedPanel("curriculumstack", getTranslator(), this); + curriculumListCtrl = new CurriculumListController(ureq, bwControl, curriculumStackPanel); + curriculumStackPanel.pushController(translate("search.curriculums"), curriculumListCtrl); + listenTo(curriculumListCtrl); + currentCtrl = curriculumListCtrl; + + addToHistory(ureq, curriculumListCtrl); + mainVC.put("segmentCmp", curriculumStackPanel); + return curriculumListCtrl; + } + + private RepositoryEntryListController doOpenSearchCourses(UserRequest ureq) { cleanUp(); diff --git a/src/main/java/org/olat/resource/accesscontrol/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/resource/accesscontrol/ui/_i18n/LocalStrings_pt_BR.properties index c7419aa10eb987b4f58905abf225562b66e6387f..084906ee7bd4b181276df097ce99d514e4016050 100644 --- a/src/main/java/org/olat/resource/accesscontrol/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/resource/accesscontrol/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Tue Sep 26 23:36:11 CEST 2017 +#Fri May 11 23:50:23 CEST 2018 ac.enabled=Ative o controle de acesso a recursos ac.from.label=v\u00E1lido {0} ac.fromto.label=v\u00E1lido de {0} at\u00E9 {1} @@ -38,6 +38,7 @@ admin.menu.title.alt=$\:admin.title admin.title=Controle de acesso e administra\u00E7\u00E3o de m\u00E9todos de reserva cmd.close=Fechar cmd.title=Controle de acesso +confirmation.email=E-mail de confirma\u00E7\u00E3o para usu\u00E1rios autorregistrados course.closed=$org.olat.course.run\:course.closed create=Criar from=De\: diff --git a/src/main/java/org/olat/resource/references/ReferenceManager.java b/src/main/java/org/olat/resource/references/ReferenceManager.java index d1dff8363bb7428e99a64790e7419f236907e5a3..989de6747548b8485e2c9d1f839165ebb657d498 100644 --- a/src/main/java/org/olat/resource/references/ReferenceManager.java +++ b/src/main/java/org/olat/resource/references/ReferenceManager.java @@ -187,7 +187,7 @@ public class ReferenceManager { boolean deleteManaged = RepositoryEntryManagedFlag.isManaged(entry, RepositoryEntryManagedFlag.delete); boolean isInstitutionalResourceManager = !roles.isGuestOnly() - && repositoryManager.isInstitutionalRessourceManagerFor(identity, roles, entry); + && repositoryManager.isLearnResourceManagerFor(roles, entry); boolean isOwner = isOlatAdmin || reToGroupDao.hasRole(identity, entry, GroupRoles.owner.name()) || isInstitutionalResourceManager; diff --git a/src/main/java/org/olat/restapi/_spring/restApiContext.xml b/src/main/java/org/olat/restapi/_spring/restApiContext.xml index c3fbfc53909c3da0e30c3b39d15489daff1d1f26..e352bd953b763875f378921b15999a13f49742c2 100644 --- a/src/main/java/org/olat/restapi/_spring/restApiContext.xml +++ b/src/main/java/org/olat/restapi/_spring/restApiContext.xml @@ -18,6 +18,7 @@ <value>org.olat.restapi.security.Authentication</value> <value>org.olat.user.restapi.UserWebService</value> <value>org.olat.user.restapi.ContactsWebService</value> + <value>org.olat.user.restapi.OrganisationsWebService</value> <value>org.olat.user.restapi.UserAuthenticationWebService</value> <value>org.olat.restapi.group.LearningGroupWebService</value> <value>org.olat.restapi.repository.CatalogWebService</value> diff --git a/src/main/java/org/olat/restapi/api/_content/application.html b/src/main/java/org/olat/restapi/api/_content/application.html index c206ac4e41c5e4ba29607efc830652d1a7d46b56..00b88cdd1b2a1a4850ec476f0d631f68eae5ebb6 100644 --- a/src/main/java/org/olat/restapi/api/_content/application.html +++ b/src/main/java/org/olat/restapi/api/_content/application.html @@ -262,456 +262,469 @@ </p> <ul> <li><a href="#resources">Resources</a><ul> - <li><a href="#d2e2">http://www.example.com/repo/courses</a><ul> - <li><a href="#d2e49">http://www.example.com/repo/courses/version</a></li> - <li><a href="#d2e53">http://www.example.com/repo/courses/{courseId}</a><ul> - <li><a href="#d2e63">http://www.example.com/repo/courses/{courseId}/configuration</a></li> - <li><a href="#d2e81">http://www.example.com/repo/courses/{courseId}/version</a></li> - <li><a href="#d2e85">http://www.example.com/repo/courses/{courseId}/tutors/{identityKey}</a></li> - <li><a href="#d2e93">http://www.example.com/repo/courses/{courseId}/tutors</a></li> - <li><a href="#d2e104">http://www.example.com/repo/courses/{courseId}/participants</a></li> - <li><a href="#d2e115">http://www.example.com/repo/courses/{courseId}/participants/{identityKey}</a></li> - <li><a href="#d2e123">http://www.example.com/repo/courses/{courseId}/file</a></li> - <li><a href="#d2e128">http://www.example.com/repo/courses/{courseId}/status</a></li> - <li><a href="#d2e137">http://www.example.com/repo/courses/{courseId}/runstructure</a></li> - <li><a href="#d2e141">http://www.example.com/repo/courses/{courseId}/editortreemodel</a></li> - <li><a href="#d2e145">http://www.example.com/repo/courses/{courseId}/authors/{identityKey}</a></li> - <li><a href="#d2e157">http://www.example.com/repo/courses/{courseId}/authors</a></li> - <li><a href="#d2e168">http://www.example.com/repo/courses/{courseId}/resource</a></li> - <li><a href="#d2e173">http://www.example.com/repo/courses/{courseId}/publish</a></li> - <li><a href="#d2e182">http://www.example.com/repo/courses/{courseId}/groups</a><ul> - <li><a href="#d2e194">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}</a></li> - <li><a href="#d2e207">http://www.example.com/repo/courses/{courseId}/groups/version</a></li> - <li><a href="#d2e211">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder</a><ul> - <li><a href="#d2e244">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder/{path:.*}</a></li> - <li><a href="#d2e288">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder/version</a></li> - <li><a href="#d2e292">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder/metadata/{path:.*}</a></li> - </ul> - </li> - <li><a href="#d2e298">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum</a><ul> - <li><a href="#d2e330">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/threads</a></li> - <li><a href="#d2e439">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{threadKey}</a></li> - <li><a href="#d2e480">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}</a></li> - <li><a href="#d2e592">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments</a></li> - <li><a href="#d2e663">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</a></li> - </ul> - </li> - </ul> - </li> - <li><a href="#d2e685">http://www.example.com/repo/courses/{courseId}/calendar</a><ul> - <li><a href="#d2e688">http://www.example.com/repo/courses/{courseId}/calendar/events/{eventId}</a></li> - <li><a href="#d2e694">http://www.example.com/repo/courses/{courseId}/calendar/events</a></li> - <li><a href="#d2e717">http://www.example.com/repo/courses/{courseId}/calendar/event</a></li> - </ul> - </li> - <li><a href="#d2e733">http://www.example.com/repo/courses/{courseId}/vitero/{subIdentifier}</a><ul> - <li><a href="#d2e791">http://www.example.com/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}/members</a></li> - <li><a href="#d2e830">http://www.example.com/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}</a></li> - </ul> - </li> - <li><a href="#d2e841">http://www.example.com/repo/courses/{courseId}/gotomeeting/{subIdentifier}</a><ul> - <li><a href="#d2e845">http://www.example.com/repo/courses/{courseId}/gotomeeting/{subIdentifier}/trainings</a></li> - <li><a href="#d2e900">http://www.example.com/repo/courses/{courseId}/gotomeeting/{subIdentifier}//trainings/{trainingKey}</a></li> - </ul> - </li> - <li><a href="#d2e911">http://www.example.com/repo/courses/{courseId}/lectureblocks</a><ul> - <li><a href="#d2e931">http://www.example.com/repo/courses/{courseId}/lectureblocks/configuration</a></li> - <li><a href="#d2e944">http://www.example.com/repo/courses/{courseId}/lectureblocks/sync/calendar</a></li> - <li><a href="#d2e948">http://www.example.com/repo/courses/{courseId}/lectureblocks/adaptation</a></li> - <li><a href="#d2e952">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}</a><ul> - <li><a href="#d2e961">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers</a></li> - <li><a href="#d2e966">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</a></li> - <li><a href="#d2e973">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</a></li> - <li><a href="#d2e981">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/sync/calendar</a></li> - </ul> - </li> - </ul> - </li> + <li><a href="#d2e2">http://www.example.com/organisations</a><ul> + <li><a href="#d2e85">http://www.example.com/organisations/{organisationKey}</a></li> + <li><a href="#d2e138">http://www.example.com/organisations/version</a></li> + <li><a href="#d2e155">http://www.example.com/organisations/types</a><ul> + <li><a href="#d2e238">http://www.example.com/organisations/types/{organisationTypeKey}/allowedSubTypes</a></li> + <li><a href="#d2e270">http://www.example.com/organisations/types/{organisationTypeKey}</a></li> + <li><a href="#d2e325">http://www.example.com/organisations/types/{organisationTypeKey}/allowedSubTypes/{subTypeKey}</a></li> + <li><a href="#d2e381">http://www.example.com/organisations/types/version</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e985">http://www.example.com/catalog</a><ul> - <li><a href="#d2e990">http://www.example.com/catalog/{path:.*}/children</a></li> - <li><a href="#d2e999">http://www.example.com/catalog/{path:.*}/owners/{identityKey}</a></li> - <li><a href="#d2e1011">http://www.example.com/catalog/version</a></li> - <li><a href="#d2e1015">http://www.example.com/catalog/{path:.*}</a></li> - <li><a href="#d2e1066">http://www.example.com/catalog/{path:.*}/owners</a></li> + <li><a href="#d2e398">http://www.example.com/repo/courses/{courseId}/elements</a><ul> + <li><a href="#d2e399">http://www.example.com/repo/courses/{courseId}/elements/structure/{nodeId}</a></li> + <li><a href="#d2e406">http://www.example.com/repo/courses/{courseId}/elements/structure</a></li> + <li><a href="#d2e425">http://www.example.com/repo/courses/{courseId}/elements/singlepage/{nodeId}</a></li> + <li><a href="#d2e432">http://www.example.com/repo/courses/{courseId}/elements/singlepage</a></li> + <li><a href="#d2e471">http://www.example.com/repo/courses/{courseId}/elements/task/{nodeId}</a></li> + <li><a href="#d2e487">http://www.example.com/repo/courses/{courseId}/elements/task</a></li> + <li><a href="#d2e518">http://www.example.com/repo/courses/{courseId}/elements/test/{nodeId}</a></li> + <li><a href="#d2e533">http://www.example.com/repo/courses/{courseId}/elements/test</a></li> + <li><a href="#d2e562">http://www.example.com/repo/courses/{courseId}/elements/assessment/{nodeId}</a></li> + <li><a href="#d2e576">http://www.example.com/repo/courses/{courseId}/elements/assessment</a></li> + <li><a href="#d2e603">http://www.example.com/repo/courses/{courseId}/elements/wiki/{nodeId}</a></li> + <li><a href="#d2e619">http://www.example.com/repo/courses/{courseId}/elements/wiki</a></li> + <li><a href="#d2e647">http://www.example.com/repo/courses/{courseId}/elements/blog/{nodeId}</a></li> + <li><a href="#d2e662">http://www.example.com/repo/courses/{courseId}/elements/blog</a></li> + <li><a href="#d2e690">http://www.example.com/repo/courses/{courseId}/elements/survey/{nodeId}</a></li> + <li><a href="#d2e705">http://www.example.com/repo/courses/{courseId}/elements/survey</a></li> + <li><a href="#d2e733">http://www.example.com/repo/courses/{courseId}/elements/externalpage/{nodeId}</a></li> + <li><a href="#d2e748">http://www.example.com/repo/courses/{courseId}/elements/externalpage</a></li> + <li><a href="#d2e776">http://www.example.com/repo/courses/{courseId}/elements/task/{nodeId}/file</a></li> + <li><a href="#d2e787">http://www.example.com/repo/courses/{courseId}/elements/task/{nodeId}/configuration</a></li> + <li><a href="#d2e858">http://www.example.com/repo/courses/{courseId}/elements/survey/{nodeId}/configuration</a></li> + <li><a href="#d2e889">http://www.example.com/repo/courses/{courseId}/elements/test/{nodeId}/configuration</a></li> + <li><a href="#d2e943">http://www.example.com/repo/courses/{courseId}/elements/{nodeId}</a></li> + <li><a href="#d2e950">http://www.example.com/repo/courses/{courseId}/elements/version</a></li> </ul> </li> - <li><a href="#d2e1072">http://www.example.com/users/{username}/auth</a><ul> - <li><a href="#d2e1143">http://www.example.com/users/{username}/auth/{authKey}</a></li> - <li><a href="#d2e1171">http://www.example.com/users/{username}/auth/version</a></li> - <li><a href="#d2e1188">http://www.example.com/users/{username}/auth/password</a></li> + <li><a href="#d2e954">http://www.example.com/users/{identityKey}/calendars</a><ul> + <li><a href="#d2e960">http://www.example.com/users/{identityKey}/calendars/events</a></li> + <li><a href="#d2e970">http://www.example.com/users/{identityKey}/calendars/{calendarId}</a><ul> + <li><a href="#d2e975">http://www.example.com/users/{identityKey}/calendars/{calendarId}/events/{eventId}</a></li> + <li><a href="#d2e981">http://www.example.com/users/{identityKey}/calendars/{calendarId}/events</a></li> + <li><a href="#d2e1004">http://www.example.com/users/{identityKey}/calendars/{calendarId}/event</a></li> + </ul> + </li> + </ul> + </li> + <li><a href="#d2e1020">http://www.example.com/catalog</a><ul> + <li><a href="#d2e1025">http://www.example.com/catalog/{path:.*}/owners/{identityKey}</a></li> + <li><a href="#d2e1037">http://www.example.com/catalog/{path:.*}/children</a></li> + <li><a href="#d2e1046">http://www.example.com/catalog/{path:.*}</a></li> + <li><a href="#d2e1097">http://www.example.com/catalog/{path:.*}/owners</a></li> + <li><a href="#d2e1103">http://www.example.com/catalog/version</a></li> </ul> </li> - <li><a href="#d2e1224">http://www.example.com/i18n</a><ul> - <li><a href="#d2e1225">http://www.example.com/i18n/version</a></li> - <li><a href="#d2e1229">http://www.example.com/i18n/{package}/{key}</a></li> + <li><a href="#d2e1107">http://www.example.com/ping</a><ul> + <li><a href="#d2e1111">http://www.example.com/ping/{name}</a></li> + <li><a href="#d2e1116">http://www.example.com/ping/version</a></li> </ul> </li> - <li><a href="#d2e1237">http://www.example.com/users</a><ul> - <li><a href="#d2e1305">http://www.example.com/users/{identityKey}</a></li> - <li><a href="#d2e1406">http://www.example.com/users/{identityKey}/status</a></li> - <li><a href="#d2e1469">http://www.example.com/users/{identityKey}/roles</a></li> - <li><a href="#d2e1532">http://www.example.com/users/version</a></li> - <li><a href="#d2e1549">http://www.example.com/users/managed</a></li> - <li><a href="#d2e1554">http://www.example.com/users/{identityKey}/preferences</a></li> - <li><a href="#d2e1617">http://www.example.com/users/{identityKey}/portrait</a></li> - <li><a href="#d2e1687">http://www.example.com/users/{identityKey}/portrait/{size}</a></li> - <li><a href="#d2e1706">http://www.example.com/users/{identityKey}/folders</a><ul> - <li><a href="#d2e1732">http://www.example.com/users/{identityKey}/folders/group/{groupKey}</a><ul> - <li><a href="#d2e1765">http://www.example.com/users/{identityKey}/folders/group/{groupKey}/{path:.*}</a></li> - <li><a href="#d2e1809">http://www.example.com/users/{identityKey}/folders/group/{groupKey}/version</a></li> - <li><a href="#d2e1813">http://www.example.com/users/{identityKey}/folders/group/{groupKey}/metadata/{path:.*}</a></li> + <li><a href="#d2e1120">http://www.example.com/users</a><ul> + <li><a href="#d2e1188">http://www.example.com/users/{identityKey}</a></li> + <li><a href="#d2e1289">http://www.example.com/users/{identityKey}/portrait</a></li> + <li><a href="#d2e1359">http://www.example.com/users/{identityKey}/status</a></li> + <li><a href="#d2e1422">http://www.example.com/users/{identityKey}/roles</a></li> + <li><a href="#d2e1485">http://www.example.com/users/managed</a></li> + <li><a href="#d2e1490">http://www.example.com/users/{identityKey}/preferences</a></li> + <li><a href="#d2e1553">http://www.example.com/users/{identityKey}/portrait/{size}</a></li> + <li><a href="#d2e1571">http://www.example.com/users/version</a></li> + <li><a href="#d2e1589">http://www.example.com/users/{identityKey}/folders</a><ul> + <li><a href="#d2e1615">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}</a><ul> + <li><a href="#d2e1649">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/{path:.*}</a></li> + <li><a href="#d2e1693">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/metadata/{path:.*}</a></li> + <li><a href="#d2e1699">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/version</a></li> </ul> </li> - <li><a href="#d2e1819">http://www.example.com/users/{identityKey}/folders/personal</a><ul> - <li><a href="#d2e1851">http://www.example.com/users/{identityKey}/folders/personal/{path:.*}</a></li> - <li><a href="#d2e1895">http://www.example.com/users/{identityKey}/folders/personal/version</a></li> - <li><a href="#d2e1899">http://www.example.com/users/{identityKey}/folders/personal/metadata/{path:.*}</a></li> + <li><a href="#d2e1703">http://www.example.com/users/{identityKey}/folders/personal</a><ul> + <li><a href="#d2e1735">http://www.example.com/users/{identityKey}/folders/personal/{path:.*}</a></li> + <li><a href="#d2e1779">http://www.example.com/users/{identityKey}/folders/personal/metadata/{path:.*}</a></li> + <li><a href="#d2e1785">http://www.example.com/users/{identityKey}/folders/personal/version</a></li> </ul> </li> - <li><a href="#d2e1905">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}</a><ul> - <li><a href="#d2e1939">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/{path:.*}</a></li> - <li><a href="#d2e1983">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/version</a></li> - <li><a href="#d2e1987">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/metadata/{path:.*}</a></li> + <li><a href="#d2e1789">http://www.example.com/users/{identityKey}/folders/group/{groupKey}</a><ul> + <li><a href="#d2e1822">http://www.example.com/users/{identityKey}/folders/group/{groupKey}/{path:.*}</a></li> + <li><a href="#d2e1866">http://www.example.com/users/{identityKey}/folders/group/{groupKey}/metadata/{path:.*}</a></li> + <li><a href="#d2e1872">http://www.example.com/users/{identityKey}/folders/group/{groupKey}/version</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e1993">http://www.example.com/users/{identityKey}/courses</a><ul> - <li><a href="#d2e1995">http://www.example.com/users/{identityKey}/courses/my</a></li> - <li><a href="#d2e2025">http://www.example.com/users/{identityKey}/courses/teached</a></li> - <li><a href="#d2e2055">http://www.example.com/users/{identityKey}/courses/favorite</a></li> - </ul> - </li> - <li><a href="#d2e2085">http://www.example.com/users/{identityKey}/groups</a><ul> - <li><a href="#d2e2096">http://www.example.com/users/{identityKey}/groups/owner</a></li> - <li><a href="#d2e2106">http://www.example.com/users/{identityKey}/groups/participant</a></li> - <li><a href="#d2e2116">http://www.example.com/users/{identityKey}/groups/infos</a></li> - </ul> - </li> - </ul> - </li> - <li><a href="#d2e2126">http://www.example.com/repo/courses/{courseId}/elements/contact</a></li> - <li><a href="#d2e2251">http://www.example.com/registration</a></li> - <li><a href="#d2e2289">http://www.example.com/groups</a><ul> - <li><a href="#d2e2304">http://www.example.com/groups/{groupKey}/owners/{identityKey}</a></li> - <li><a href="#d2e2313">http://www.example.com/groups/version</a></li> - <li><a href="#d2e2317">http://www.example.com/groups/{groupKey}</a></li> - <li><a href="#d2e2333">http://www.example.com/groups/{groupKey}/news</a></li> - <li><a href="#d2e2347">http://www.example.com/groups/{groupKey}/configuration</a></li> - <li><a href="#d2e2354">http://www.example.com/groups/{groupKey}/infos</a></li> - <li><a href="#d2e2360">http://www.example.com/groups/{groupKey}/owners</a></li> - <li><a href="#d2e2366">http://www.example.com/groups/{groupKey}/participants</a></li> - <li><a href="#d2e2372">http://www.example.com/groups/{groupKey}/participants/{identityKey}</a></li> - <li><a href="#d2e2382">http://www.example.com/groups/{groupKey}/wiki</a></li> - <li><a href="#d2e2392">http://www.example.com/groups/{groupKey}/folder</a><ul> - <li><a href="#d2e2425">http://www.example.com/groups/{groupKey}/folder/{path:.*}</a></li> - <li><a href="#d2e2469">http://www.example.com/groups/{groupKey}/folder/version</a></li> - <li><a href="#d2e2473">http://www.example.com/groups/{groupKey}/folder/metadata/{path:.*}</a></li> + <li><a href="#d2e1876">http://www.example.com/users/{identityKey}/courses</a><ul> + <li><a href="#d2e1878">http://www.example.com/users/{identityKey}/courses/my</a></li> + <li><a href="#d2e1908">http://www.example.com/users/{identityKey}/courses/teached</a></li> + <li><a href="#d2e1938">http://www.example.com/users/{identityKey}/courses/favorite</a></li> </ul> </li> - <li><a href="#d2e2479">http://www.example.com/groups/{groupKey}/forum</a><ul> - <li><a href="#d2e2511">http://www.example.com/groups/{groupKey}/forum/threads</a></li> - <li><a href="#d2e2620">http://www.example.com/groups/{groupKey}/forum/posts/{threadKey}</a></li> - <li><a href="#d2e2661">http://www.example.com/groups/{groupKey}/forum/posts/{messageKey}</a></li> - <li><a href="#d2e2773">http://www.example.com/groups/{groupKey}/forum/posts/{messageKey}/attachments</a></li> - <li><a href="#d2e2844">http://www.example.com/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</a></li> + <li><a href="#d2e1968">http://www.example.com/users/{identityKey}/groups</a><ul> + <li><a href="#d2e1979">http://www.example.com/users/{identityKey}/groups/owner</a></li> + <li><a href="#d2e1989">http://www.example.com/users/{identityKey}/groups/participant</a></li> + <li><a href="#d2e1999">http://www.example.com/users/{identityKey}/groups/infos</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e2866">http://www.example.com/contacts</a></li> - <li><a href="#d2e2881">http://www.example.com/repo/entries</a><ul> - <li><a href="#d2e2901">http://www.example.com/repo/entries/search</a></li> - <li><a href="#d2e2911">http://www.example.com/repo/entries/version</a></li> - <li><a href="#d2e2915">http://www.example.com/repo/entries/{repoEntryKey}</a><ul> - <li><a href="#d2e2936">http://www.example.com/repo/entries/{repoEntryKey}/owners/{identityKey}</a></li> - <li><a href="#d2e2945">http://www.example.com/repo/entries/{repoEntryKey}/coaches/{identityKey}</a></li> - <li><a href="#d2e2954">http://www.example.com/repo/entries/{repoEntryKey}/coaches</a></li> - <li><a href="#d2e2966">http://www.example.com/repo/entries/{repoEntryKey}/participants</a></li> - <li><a href="#d2e2978">http://www.example.com/repo/entries/{repoEntryKey}/participants/{identityKey}</a></li> - <li><a href="#d2e2987">http://www.example.com/repo/entries/{repoEntryKey}/owners</a></li> - <li><a href="#d2e3000">http://www.example.com/repo/entries/{repoEntryKey}/file</a></li> - <li><a href="#d2e3006">http://www.example.com/repo/entries/{repoEntryKey}/status</a></li> - <li><a href="#d2e3015">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks</a><ul> - <li><a href="#d2e3036">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/configuration</a></li> - <li><a href="#d2e3049">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/sync/calendar</a></li> - <li><a href="#d2e3053">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/adaptation</a></li> - <li><a href="#d2e3057">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}</a><ul> - <li><a href="#d2e3066">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers</a></li> - <li><a href="#d2e3071">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</a></li> - <li><a href="#d2e3078">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</a></li> - <li><a href="#d2e3086">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/sync/calendar</a></li> - </ul> - </li> - </ul> - </li> + <li><a href="#d2e2009">http://www.example.com/docpool</a><ul> + <li><a href="#d2e2012">http://www.example.com/docpool/module/configuration</a></li> + <li><a href="#d2e2035">http://www.example.com/docpool/{taxonomyKey}</a><ul> + <li><a href="#d2e2061">http://www.example.com/docpool/{taxonomyKey}/levels</a></li> + <li><a href="#d2e2115">http://www.example.com/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}</a></li> + <li><a href="#d2e2144">http://www.example.com/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}/competences</a></li> + <li><a href="#d2e2205">http://www.example.com/docpool/{taxonomyKey}/competences/{identityKey}</a></li> + <li><a href="#d2e2229">http://www.example.com/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{identityKey}</a></li> + <li><a href="#d2e2254">http://www.example.com/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{competenceKey}</a></li> + <li><a href="#d2e2278">http://www.example.com/docpool/{taxonomyKey}/types</a></li> + <li><a href="#d2e2338">http://www.example.com/docpool/{taxonomyKey}/types/{typeKey}</a></li> + <li><a href="#d2e2369">http://www.example.com/docpool/{taxonomyKey}/types/{typeKey}/allowedSubTypes</a></li> + <li><a href="#d2e2399">http://www.example.com/docpool/{taxonomyKey}/types/{typeKey}/allowedSubTypes/{subTypeKey}</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e3090">http://www.example.com/repo/lifecycle</a></li> - <li><a href="#d2e3096">http://www.example.com/repo/courses/infos</a><ul> - <li><a href="#d2e3104">http://www.example.com/repo/courses/infos/{courseId}</a></li> + <li><a href="#d2e2451">http://www.example.com/repo/courses/{courseId}/resourcefolders</a><ul> + <li><a href="#d2e2452">http://www.example.com/repo/courses/{courseId}/resourcefolders/sharedfolder</a></li> + <li><a href="#d2e2457">http://www.example.com/repo/courses/{courseId}/resourcefolders/sharedfolder/{path:.*}</a></li> + <li><a href="#d2e2466">http://www.example.com/repo/courses/{courseId}/resourcefolders/coursefolder/{path:.*}</a></li> + <li><a href="#d2e2481">http://www.example.com/repo/courses/{courseId}/resourcefolders/coursefolder</a></li> + <li><a href="#d2e2492">http://www.example.com/repo/courses/{courseId}/resourcefolders/version</a></li> </ul> </li> - <li><a href="#d2e3110">http://www.example.com/api</a><ul> - <li><a href="#d2e3111">http://www.example.com/api/version</a></li> - <li><a href="#d2e3115">http://www.example.com/api/doc</a></li> - <li><a href="#d2e3119">http://www.example.com/api/doc/{filename}</a></li> - <li><a href="#d2e3124">http://www.example.com/api/{filename}</a></li> - <li><a href="#d2e3129">http://www.example.com/api/copyright</a></li> + <li><a href="#d2e2496">http://www.example.com/api</a><ul> + <li><a href="#d2e2497">http://www.example.com/api/doc</a></li> + <li><a href="#d2e2501">http://www.example.com/api/doc/{filename}</a></li> + <li><a href="#d2e2506">http://www.example.com/api/{filename}</a></li> + <li><a href="#d2e2511">http://www.example.com/api/copyright</a></li> + <li><a href="#d2e2519">http://www.example.com/api/version</a></li> </ul> </li> - <li><a href="#d2e3137">http://www.example.com/pwchange</a></li> - <li><a href="#d2e3146">http://www.example.com/auth</a><ul> - <li><a href="#d2e3147">http://www.example.com/auth/{username}</a></li> - <li><a href="#d2e3156">http://www.example.com/auth/version</a></li> + <li><a href="#d2e2523">http://www.example.com/notifications</a><ul> + <li><a href="#d2e2555">http://www.example.com/notifications/subscribers</a></li> + <li><a href="#d2e2562">http://www.example.com/notifications/subscribers/{subscriberKey}</a></li> + <li><a href="#d2e2567">http://www.example.com/notifications/publisher/{ressourceName}/{ressourceId}/{subIdentifier}</a></li> + <li><a href="#d2e2599">http://www.example.com/notifications/subscribers/{ressourceName}/{ressourceId}/{subIdentifier}</a></li> </ul> </li> - <li><a href="#d2e3160">http://www.example.com/users/{identityKey}/calendars</a><ul> - <li><a href="#d2e3166">http://www.example.com/users/{identityKey}/calendars/events</a></li> - <li><a href="#d2e3176">http://www.example.com/users/{identityKey}/calendars/{calendarId}</a><ul> - <li><a href="#d2e3181">http://www.example.com/users/{identityKey}/calendars/{calendarId}/events/{eventId}</a></li> - <li><a href="#d2e3187">http://www.example.com/users/{identityKey}/calendars/{calendarId}/events</a></li> - <li><a href="#d2e3210">http://www.example.com/users/{identityKey}/calendars/{calendarId}/event</a></li> + <li><a href="#d2e2607">http://www.example.com/repo/sharedfolder</a><ul> + <li><a href="#d2e2608">http://www.example.com/repo/sharedfolder/{repoEntryKey}/{path:.*}</a></li> + <li><a href="#d2e2614">http://www.example.com/repo/sharedfolder/{repoEntryKey}</a></li> + <li><a href="#d2e2619">http://www.example.com/repo/sharedfolder/version</a></li> + <li><a href="#d2e2623">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files</a><ul> + <li><a href="#d2e2656">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files/{path:.*}</a></li> + <li><a href="#d2e2700">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files/metadata/{path:.*}</a></li> + <li><a href="#d2e2706">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files/version</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e3226">http://www.example.com/repo/courses/{courseId}/resourcefolders</a><ul> - <li><a href="#d2e3227">http://www.example.com/repo/courses/{courseId}/resourcefolders/version</a></li> - <li><a href="#d2e3231">http://www.example.com/repo/courses/{courseId}/resourcefolders/sharedfolder/{path:.*}</a></li> - <li><a href="#d2e3240">http://www.example.com/repo/courses/{courseId}/resourcefolders/sharedfolder</a></li> - <li><a href="#d2e3245">http://www.example.com/repo/courses/{courseId}/resourcefolders/coursefolder/{path:.*}</a></li> - <li><a href="#d2e3260">http://www.example.com/repo/courses/{courseId}/resourcefolders/coursefolder</a></li> - </ul> - </li> - <li><a href="#d2e3271">http://www.example.com/openmeetings</a><ul> - <li><a href="#d2e3274">http://www.example.com/openmeetings/{identityToken}/portrait</a></li> + <li><a href="#d2e2711">http://www.example.com/repo/lifecycle</a></li> + <li><a href="#d2e2716">http://www.example.com/repo/courses/{resourceKey}/certificates</a><ul> + <li><a href="#d2e2719">http://www.example.com/repo/courses/{resourceKey}/certificates/{identityKey}</a></li> </ul> </li> - <li><a href="#d2e3293">http://www.example.com/repo/courses/{courseId}/db/{category}</a><ul> - <li><a href="#d2e3296">http://www.example.com/repo/courses/{courseId}/db/{category}/values/{name}</a></li> - <li><a href="#d2e3380">http://www.example.com/repo/courses/{courseId}/db/{category}/values</a></li> - <li><a href="#d2e3421">http://www.example.com/repo/courses/{courseId}/db/{category}/version</a></li> - <li><a href="#d2e3436">http://www.example.com/repo/courses/{courseId}/db/{category}/values/{name}/delete</a></li> + <li><a href="#d2e2811">http://www.example.com/repo/courses/{courseId}/db/{category}</a><ul> + <li><a href="#d2e2814">http://www.example.com/repo/courses/{courseId}/db/{category}/values/{name}</a></li> + <li><a href="#d2e2898">http://www.example.com/repo/courses/{courseId}/db/{category}/values</a></li> + <li><a href="#d2e2939">http://www.example.com/repo/courses/{courseId}/db/{category}/values/{name}/delete</a></li> + <li><a href="#d2e2964">http://www.example.com/repo/courses/{courseId}/db/{category}/version</a></li> </ul> </li> - <li><a href="#d2e3461">http://www.example.com/repo/courses/{courseId}/elements</a><ul> - <li><a href="#d2e3462">http://www.example.com/repo/courses/{courseId}/elements/version</a></li> - <li><a href="#d2e3466">http://www.example.com/repo/courses/{courseId}/elements/structure/{nodeId}</a></li> - <li><a href="#d2e3473">http://www.example.com/repo/courses/{courseId}/elements/structure</a></li> - <li><a href="#d2e3492">http://www.example.com/repo/courses/{courseId}/elements/singlepage/{nodeId}</a></li> - <li><a href="#d2e3499">http://www.example.com/repo/courses/{courseId}/elements/singlepage</a></li> - <li><a href="#d2e3538">http://www.example.com/repo/courses/{courseId}/elements/task/{nodeId}</a></li> - <li><a href="#d2e3554">http://www.example.com/repo/courses/{courseId}/elements/task</a></li> - <li><a href="#d2e3585">http://www.example.com/repo/courses/{courseId}/elements/test/{nodeId}</a></li> - <li><a href="#d2e3600">http://www.example.com/repo/courses/{courseId}/elements/test</a></li> - <li><a href="#d2e3629">http://www.example.com/repo/courses/{courseId}/elements/assessment/{nodeId}</a></li> - <li><a href="#d2e3643">http://www.example.com/repo/courses/{courseId}/elements/assessment</a></li> - <li><a href="#d2e3671">http://www.example.com/repo/courses/{courseId}/elements/wiki/{nodeId}</a></li> - <li><a href="#d2e3686">http://www.example.com/repo/courses/{courseId}/elements/wiki</a></li> - <li><a href="#d2e3714">http://www.example.com/repo/courses/{courseId}/elements/blog/{nodeId}</a></li> - <li><a href="#d2e3729">http://www.example.com/repo/courses/{courseId}/elements/blog</a></li> - <li><a href="#d2e3757">http://www.example.com/repo/courses/{courseId}/elements/survey</a></li> - <li><a href="#d2e3785">http://www.example.com/repo/courses/{courseId}/elements/survey/{nodeId}</a></li> - <li><a href="#d2e3800">http://www.example.com/repo/courses/{courseId}/elements/externalpage/{nodeId}</a></li> - <li><a href="#d2e3815">http://www.example.com/repo/courses/{courseId}/elements/externalpage</a></li> - <li><a href="#d2e3843">http://www.example.com/repo/courses/{courseId}/elements/task/{nodeId}/file</a></li> - <li><a href="#d2e3854">http://www.example.com/repo/courses/{courseId}/elements/task/{nodeId}/configuration</a></li> - <li><a href="#d2e3925">http://www.example.com/repo/courses/{courseId}/elements/survey/{nodeId}/configuration</a></li> - <li><a href="#d2e3957">http://www.example.com/repo/courses/{courseId}/elements/test/{nodeId}/configuration</a></li> - <li><a href="#d2e4010">http://www.example.com/repo/courses/{courseId}/elements/{nodeId}</a></li> + <li><a href="#d2e2979">http://www.example.com/repo/wikis</a><ul> + <li><a href="#d2e2988">http://www.example.com/repo/wikis/{wikiKey}</a></li> </ul> </li> - <li><a href="#d2e4017">http://www.example.com/repo/wikis</a><ul> - <li><a href="#d2e4026">http://www.example.com/repo/wikis/{wikiKey}</a></li> + <li><a href="#d2e3000">http://www.example.com/users/{username}/auth</a><ul> + <li><a href="#d2e3071">http://www.example.com/users/{username}/auth/{authKey}</a></li> + <li><a href="#d2e3099">http://www.example.com/users/{username}/auth/password</a></li> + <li><a href="#d2e3135">http://www.example.com/users/{username}/auth/version</a></li> </ul> </li> - <li><a href="#d2e4038">http://www.example.com/vitero</a><ul> - <li><a href="#d2e4041">http://www.example.com/vitero/{resourceName}/{resourceId}/{subIdentifier}</a><ul> - <li><a href="#d2e4101">http://www.example.com/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}/members</a></li> - <li><a href="#d2e4140">http://www.example.com/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}</a></li> - </ul> - </li> - </ul> - </li> - <li><a href="#d2e4152">http://www.example.com/repo/courses/{courseId}/assessments</a><ul> - <li><a href="#d2e4158">http://www.example.com/repo/courses/{courseId}/assessments/version</a></li> - <li><a href="#d2e4162">http://www.example.com/repo/courses/{courseId}/assessments/users/{identityKey}</a></li> - <li><a href="#d2e4169">http://www.example.com/repo/courses/{courseId}/assessments/{nodeId}</a></li> - <li><a href="#d2e4182">http://www.example.com/repo/courses/{courseId}/assessments/{nodeId}/users/{identityKey}</a></li> + <li><a href="#d2e3152">http://www.example.com/repo/courses/{courseId}/elements/enrollment</a><ul> + <li><a href="#d2e3271">http://www.example.com/repo/courses/{courseId}/elements/enrollment/{nodeId}/groups</a></li> </ul> </li> - <li><a href="#d2e4190">http://www.example.com/repo/courses/{courseId}/elements/enrollment</a><ul> - <li><a href="#d2e4309">http://www.example.com/repo/courses/{courseId}/elements/enrollment/{nodeId}/groups</a></li> + <li><a href="#d2e3302">http://www.example.com/repo/courses/infos</a><ul> + <li><a href="#d2e3310">http://www.example.com/repo/courses/infos/{courseId}</a></li> </ul> </li> - <li><a href="#d2e4340">http://www.example.com/users/{identityKey}/forums</a><ul> - <li><a href="#d2e4368">http://www.example.com/users/{identityKey}/forums/group/{groupKey}</a><ul> - <li><a href="#d2e4400">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/threads</a></li> - <li><a href="#d2e4509">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{threadKey}</a></li> - <li><a href="#d2e4550">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}</a></li> - <li><a href="#d2e4662">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments</a></li> - <li><a href="#d2e4733">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments/{filename}</a></li> - </ul> - </li> - <li><a href="#d2e4755">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}</a><ul> - <li><a href="#d2e4788">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/threads</a></li> - <li><a href="#d2e4897">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{threadKey}</a></li> - <li><a href="#d2e4938">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}</a></li> - <li><a href="#d2e5050">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments</a></li> - <li><a href="#d2e5121">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments/{filename}</a></li> + <li><a href="#d2e3316">http://www.example.com/repo/courses/{courseId}/elements/contact</a></li> + <li><a href="#d2e3441">http://www.example.com/repo/courses/{courseId}/elements/forum</a><ul> + <li><a href="#d2e3552">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}</a></li> + <li><a href="#d2e3587">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/thread</a></li> + <li><a href="#d2e3635">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/message</a></li> + <li><a href="#d2e3683">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum</a><ul> + <li><a href="#d2e3716">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/threads</a></li> + <li><a href="#d2e3825">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{threadKey}</a></li> + <li><a href="#d2e3866">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}</a></li> + <li><a href="#d2e3978">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments</a></li> + <li><a href="#d2e4049">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments/{filename}</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e5143">http://www.example.com/repo/courses/{courseId}/elements/folder</a><ul> - <li><a href="#d2e5284">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}</a></li> - <li><a href="#d2e5367">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files</a><ul> - <li><a href="#d2e5401">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files/{path:.*}</a></li> - <li><a href="#d2e5445">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files/version</a></li> - <li><a href="#d2e5449">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files/metadata/{path:.*}</a></li> + <li><a href="#d2e4071">http://www.example.com/vitero</a><ul> + <li><a href="#d2e4074">http://www.example.com/vitero/{resourceName}/{resourceId}/{subIdentifier}</a><ul> + <li><a href="#d2e4134">http://www.example.com/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}/members</a></li> + <li><a href="#d2e4173">http://www.example.com/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e5455">http://www.example.com/repo/forums</a><ul> - <li><a href="#d2e5458">http://www.example.com/repo/forums/version</a></li> - <li><a href="#d2e5473">http://www.example.com/repo/forums/{forumKey}</a><ul> - <li><a href="#d2e5507">http://www.example.com/repo/forums/{forumKey}/threads</a></li> - <li><a href="#d2e5616">http://www.example.com/repo/forums/{forumKey}/posts/{threadKey}</a></li> - <li><a href="#d2e5657">http://www.example.com/repo/forums/{forumKey}/posts/{messageKey}</a></li> - <li><a href="#d2e5769">http://www.example.com/repo/forums/{forumKey}/posts/{messageKey}/attachments</a></li> - <li><a href="#d2e5840">http://www.example.com/repo/forums/{forumKey}/posts/{messageKey}/attachments/{filename}</a></li> + <li><a href="#d2e4184">http://www.example.com/pwchange</a></li> + <li><a href="#d2e4194">http://www.example.com/repo/entries</a><ul> + <li><a href="#d2e4214">http://www.example.com/repo/entries/search</a></li> + <li><a href="#d2e4224">http://www.example.com/repo/entries/version</a></li> + <li><a href="#d2e4228">http://www.example.com/repo/entries/{repoEntryKey}</a><ul> + <li><a href="#d2e4249">http://www.example.com/repo/entries/{repoEntryKey}/owners</a></li> + <li><a href="#d2e4261">http://www.example.com/repo/entries/{repoEntryKey}/owners/{identityKey}</a></li> + <li><a href="#d2e4270">http://www.example.com/repo/entries/{repoEntryKey}/file</a></li> + <li><a href="#d2e4276">http://www.example.com/repo/entries/{repoEntryKey}/status</a></li> + <li><a href="#d2e4285">http://www.example.com/repo/entries/{repoEntryKey}/coaches/{identityKey}</a></li> + <li><a href="#d2e4294">http://www.example.com/repo/entries/{repoEntryKey}/coaches</a></li> + <li><a href="#d2e4307">http://www.example.com/repo/entries/{repoEntryKey}/participants</a></li> + <li><a href="#d2e4319">http://www.example.com/repo/entries/{repoEntryKey}/participants/{identityKey}</a></li> + <li><a href="#d2e4328">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks</a><ul> + <li><a href="#d2e4349">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/sync/calendar</a></li> + <li><a href="#d2e4353">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/adaptation</a></li> + <li><a href="#d2e4357">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/configuration</a></li> + <li><a href="#d2e4370">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}</a><ul> + <li><a href="#d2e4379">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/sync/calendar</a></li> + <li><a href="#d2e4383">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers</a></li> + <li><a href="#d2e4388">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</a></li> + <li><a href="#d2e4395">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</a></li> + </ul> + </li> + </ul> + </li> </ul> </li> </ul> </li> - <li><a href="#d2e5862">http://www.example.com/repo/courses/{resourceKey}/certificates</a><ul> - <li><a href="#d2e5865">http://www.example.com/repo/courses/{resourceKey}/certificates/{identityKey}</a></li> + <li><a href="#d2e4403">http://www.example.com/repo/courses/{courseId}/elements/folder</a><ul> + <li><a href="#d2e4544">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}</a></li> + <li><a href="#d2e4627">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files</a><ul> + <li><a href="#d2e4661">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files/{path:.*}</a></li> + <li><a href="#d2e4705">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files/metadata/{path:.*}</a></li> + <li><a href="#d2e4711">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files/version</a></li> + </ul> + </li> </ul> </li> - <li><a href="#d2e5957">http://www.example.com/repo/courses/{courseId}/elements/forum</a><ul> - <li><a href="#d2e6068">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}</a></li> - <li><a href="#d2e6103">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/thread</a></li> - <li><a href="#d2e6151">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/message</a></li> - <li><a href="#d2e6199">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum</a><ul> - <li><a href="#d2e6232">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/threads</a></li> - <li><a href="#d2e6341">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{threadKey}</a></li> - <li><a href="#d2e6382">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}</a></li> - <li><a href="#d2e6494">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments</a></li> - <li><a href="#d2e6565">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments/{filename}</a></li> + <li><a href="#d2e4715">http://www.example.com/repo/forums</a><ul> + <li><a href="#d2e4718">http://www.example.com/repo/forums/version</a></li> + <li><a href="#d2e4733">http://www.example.com/repo/forums/{forumKey}</a><ul> + <li><a href="#d2e4767">http://www.example.com/repo/forums/{forumKey}/threads</a></li> + <li><a href="#d2e4876">http://www.example.com/repo/forums/{forumKey}/posts/{threadKey}</a></li> + <li><a href="#d2e4917">http://www.example.com/repo/forums/{forumKey}/posts/{messageKey}</a></li> + <li><a href="#d2e5029">http://www.example.com/repo/forums/{forumKey}/posts/{messageKey}/attachments</a></li> + <li><a href="#d2e5100">http://www.example.com/repo/forums/{forumKey}/posts/{messageKey}/attachments/{filename}</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e6587">http://www.example.com/system</a><ul> - <li><a href="#d2e6588">http://www.example.com/system/environment</a></li> - <li><a href="#d2e6593">http://www.example.com/system/release</a></li> - <li><a href="#d2e6598">http://www.example.com/system/log</a><ul> - <li><a href="#d2e6603">http://www.example.com/system/log/version</a></li> - <li><a href="#d2e6607">http://www.example.com/system/log/{date}</a></li> + <li><a href="#d2e5122">http://www.example.com/contacts</a></li> + <li><a href="#d2e5137">http://www.example.com/openmeetings</a><ul> + <li><a href="#d2e5140">http://www.example.com/openmeetings/{identityToken}/portrait</a></li> + </ul> + </li> + <li><a href="#d2e5159">http://www.example.com/system</a><ul> + <li><a href="#d2e5160">http://www.example.com/system/environment</a></li> + <li><a href="#d2e5165">http://www.example.com/system/release</a></li> + <li><a href="#d2e5170">http://www.example.com/system/log</a><ul> + <li><a href="#d2e5175">http://www.example.com/system/log/{date}</a></li> + <li><a href="#d2e5181">http://www.example.com/system/log/version</a></li> </ul> </li> - <li><a href="#d2e6613">http://www.example.com/system/monitoring</a><ul> - <li><a href="#d2e6614">http://www.example.com/system/monitoring/configuration</a></li> - <li><a href="#d2e6619">http://www.example.com/system/monitoring/status</a></li> - <li><a href="#d2e6624">http://www.example.com/system/monitoring/runtime</a><ul> - <li><a href="#d2e6629">http://www.example.com/system/monitoring/runtime/memory</a></li> - <li><a href="#d2e6634">http://www.example.com/system/monitoring/runtime/threads</a></li> - <li><a href="#d2e6639">http://www.example.com/system/monitoring/runtime/classes</a></li> + <li><a href="#d2e5185">http://www.example.com/system/monitoring</a><ul> + <li><a href="#d2e5186">http://www.example.com/system/monitoring/configuration</a></li> + <li><a href="#d2e5191">http://www.example.com/system/monitoring/status</a></li> + <li><a href="#d2e5196">http://www.example.com/system/monitoring/runtime</a><ul> + <li><a href="#d2e5201">http://www.example.com/system/monitoring/runtime/memory</a></li> + <li><a href="#d2e5206">http://www.example.com/system/monitoring/runtime/threads</a></li> + <li><a href="#d2e5211">http://www.example.com/system/monitoring/runtime/classes</a></li> </ul> </li> - <li><a href="#d2e6644">http://www.example.com/system/monitoring/database</a></li> - <li><a href="#d2e6649">http://www.example.com/system/monitoring/openolat</a><ul> - <li><a href="#d2e6654">http://www.example.com/system/monitoring/openolat/tasks</a></li> - <li><a href="#d2e6659">http://www.example.com/system/monitoring/openolat/users</a></li> - <li><a href="#d2e6664">http://www.example.com/system/monitoring/openolat/repository</a></li> - <li><a href="#d2e6669">http://www.example.com/system/monitoring/openolat/sessions</a></li> - <li><a href="#d2e6674">http://www.example.com/system/monitoring/openolat/indexer</a><ul> - <li><a href="#d2e6679">http://www.example.com/system/monitoring/openolat/indexer/status</a></li> + <li><a href="#d2e5216">http://www.example.com/system/monitoring/database</a></li> + <li><a href="#d2e5221">http://www.example.com/system/monitoring/openolat</a><ul> + <li><a href="#d2e5226">http://www.example.com/system/monitoring/openolat/tasks</a></li> + <li><a href="#d2e5231">http://www.example.com/system/monitoring/openolat/users</a></li> + <li><a href="#d2e5236">http://www.example.com/system/monitoring/openolat/repository</a></li> + <li><a href="#d2e5241">http://www.example.com/system/monitoring/openolat/sessions</a></li> + <li><a href="#d2e5246">http://www.example.com/system/monitoring/openolat/indexer</a><ul> + <li><a href="#d2e5251">http://www.example.com/system/monitoring/openolat/indexer/status</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e6693">http://www.example.com/system/monitoring/memory</a><ul> - <li><a href="#d2e6701">http://www.example.com/system/monitoring/memory/pools</a></li> - <li><a href="#d2e6709">http://www.example.com/system/monitoring/memory/samples</a></li> + <li><a href="#d2e5265">http://www.example.com/system/monitoring/memory</a><ul> + <li><a href="#d2e5273">http://www.example.com/system/monitoring/memory/pools</a></li> + <li><a href="#d2e5281">http://www.example.com/system/monitoring/memory/samples</a></li> </ul> </li> - <li><a href="#d2e6718">http://www.example.com/system/monitoring/threads</a><ul> - <li><a href="#d2e6726">http://www.example.com/system/monitoring/threads/cpu</a></li> + <li><a href="#d2e5290">http://www.example.com/system/monitoring/threads</a><ul> + <li><a href="#d2e5298">http://www.example.com/system/monitoring/threads/cpu</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e6731">http://www.example.com/system/indexer</a><ul> - <li><a href="#d2e6736">http://www.example.com/system/indexer/status</a></li> + <li><a href="#d2e5303">http://www.example.com/system/indexer</a><ul> + <li><a href="#d2e5308">http://www.example.com/system/indexer/status</a></li> </ul> </li> - <li><a href="#d2e6750">http://www.example.com/system/notifications</a><ul> - <li><a href="#d2e6751">http://www.example.com/system/notifications/status</a></li> + <li><a href="#d2e5322">http://www.example.com/system/notifications</a><ul> + <li><a href="#d2e5323">http://www.example.com/system/notifications/status</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e6765">http://www.example.com/notifications</a><ul> - <li><a href="#d2e6797">http://www.example.com/notifications/subscribers</a></li> - <li><a href="#d2e6804">http://www.example.com/notifications/subscribers/{subscriberKey}</a></li> - <li><a href="#d2e6809">http://www.example.com/notifications/subscribers/{ressourceName}/{ressourceId}/{subIdentifier}</a></li> + <li><a href="#d2e5337">http://www.example.com/repo/courses/{courseId}/assessments</a><ul> + <li><a href="#d2e5343">http://www.example.com/repo/courses/{courseId}/assessments/users/{identityKey}</a></li> + <li><a href="#d2e5350">http://www.example.com/repo/courses/{courseId}/assessments/{nodeId}</a></li> + <li><a href="#d2e5363">http://www.example.com/repo/courses/{courseId}/assessments/{nodeId}/users/{identityKey}</a></li> + <li><a href="#d2e5371">http://www.example.com/repo/courses/{courseId}/assessments/version</a></li> + </ul> + </li> + <li><a href="#d2e5375">http://www.example.com/i18n</a><ul> + <li><a href="#d2e5376">http://www.example.com/i18n/{package}/{key}</a></li> + <li><a href="#d2e5384">http://www.example.com/i18n/version</a></li> </ul> </li> - <li><a href="#d2e6817">http://www.example.com/repo/sharedfolder</a><ul> - <li><a href="#d2e6818">http://www.example.com/repo/sharedfolder/version</a></li> - <li><a href="#d2e6822">http://www.example.com/repo/sharedfolder/{repoEntryKey}/{path:.*}</a></li> - <li><a href="#d2e6828">http://www.example.com/repo/sharedfolder/{repoEntryKey}</a></li> - <li><a href="#d2e6833">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files</a><ul> - <li><a href="#d2e6866">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files/{path:.*}</a></li> - <li><a href="#d2e6910">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files/version</a></li> - <li><a href="#d2e6914">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files/metadata/{path:.*}</a></li> + <li><a href="#d2e5388">http://www.example.com/users/{identityKey}/forums</a><ul> + <li><a href="#d2e5416">http://www.example.com/users/{identityKey}/forums/group/{groupKey}</a><ul> + <li><a href="#d2e5448">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/threads</a></li> + <li><a href="#d2e5557">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{threadKey}</a></li> + <li><a href="#d2e5598">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}</a></li> + <li><a href="#d2e5710">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments</a></li> + <li><a href="#d2e5781">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments/{filename}</a></li> </ul> </li> + <li><a href="#d2e5803">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}</a><ul> + <li><a href="#d2e5836">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/threads</a></li> + <li><a href="#d2e5945">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{threadKey}</a></li> + <li><a href="#d2e5986">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}</a></li> + <li><a href="#d2e6098">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments</a></li> + <li><a href="#d2e6169">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments/{filename}</a></li> + </ul> + </li> + </ul> + </li> + <li><a href="#d2e6191">http://www.example.com/auth</a><ul> + <li><a href="#d2e6192">http://www.example.com/auth/{username}</a></li> + <li><a href="#d2e6201">http://www.example.com/auth/version</a></li> </ul> </li> - <li><a href="#d2e6920">http://www.example.com/taxonomy</a><ul> - <li><a href="#d2e6923">http://www.example.com/taxonomy/{taxonomyKey}</a><ul> - <li><a href="#d2e6949">http://www.example.com/taxonomy/{taxonomyKey}/levels</a></li> - <li><a href="#d2e7003">http://www.example.com/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}</a></li> - <li><a href="#d2e7032">http://www.example.com/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences</a></li> - <li><a href="#d2e7093">http://www.example.com/taxonomy/{taxonomyKey}/competences/{identityKey}</a></li> - <li><a href="#d2e7117">http://www.example.com/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{identityKey}</a></li> - <li><a href="#d2e7142">http://www.example.com/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{competenceKey}</a></li> - <li><a href="#d2e7166">http://www.example.com/taxonomy/{taxonomyKey}/types</a></li> - <li><a href="#d2e7226">http://www.example.com/taxonomy/{taxonomyKey}/types/{typeKey}</a></li> - <li><a href="#d2e7257">http://www.example.com/taxonomy/{taxonomyKey}/types/{typeKey}/allowedSubTypes</a></li> - <li><a href="#d2e7287">http://www.example.com/taxonomy/{taxonomyKey}/types/{typeKey}/allowedSubTypes/{subTypeKey}</a></li> + <li><a href="#d2e6205">http://www.example.com/taxonomy</a><ul> + <li><a href="#d2e6208">http://www.example.com/taxonomy/{taxonomyKey}</a><ul> + <li><a href="#d2e6234">http://www.example.com/taxonomy/{taxonomyKey}/levels</a></li> + <li><a href="#d2e6288">http://www.example.com/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}</a></li> + <li><a href="#d2e6317">http://www.example.com/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences</a></li> + <li><a href="#d2e6378">http://www.example.com/taxonomy/{taxonomyKey}/competences/{identityKey}</a></li> + <li><a href="#d2e6402">http://www.example.com/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{identityKey}</a></li> + <li><a href="#d2e6427">http://www.example.com/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{competenceKey}</a></li> + <li><a href="#d2e6451">http://www.example.com/taxonomy/{taxonomyKey}/types</a></li> + <li><a href="#d2e6511">http://www.example.com/taxonomy/{taxonomyKey}/types/{typeKey}</a></li> + <li><a href="#d2e6542">http://www.example.com/taxonomy/{taxonomyKey}/types/{typeKey}/allowedSubTypes</a></li> + <li><a href="#d2e6572">http://www.example.com/taxonomy/{taxonomyKey}/types/{typeKey}/allowedSubTypes/{subTypeKey}</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e7340">http://www.example.com/ping</a><ul> - <li><a href="#d2e7344">http://www.example.com/ping/version</a></li> - <li><a href="#d2e7348">http://www.example.com/ping/{name}</a></li> + <li><a href="#d2e6625">http://www.example.com/registration</a></li> + <li><a href="#d2e6663">http://www.example.com/groups</a><ul> + <li><a href="#d2e6678">http://www.example.com/groups/{groupKey}/news</a></li> + <li><a href="#d2e6692">http://www.example.com/groups/{groupKey}</a></li> + <li><a href="#d2e6708">http://www.example.com/groups/{groupKey}/owners/{identityKey}</a></li> + <li><a href="#d2e6717">http://www.example.com/groups/{groupKey}/configuration</a></li> + <li><a href="#d2e6724">http://www.example.com/groups/{groupKey}/infos</a></li> + <li><a href="#d2e6730">http://www.example.com/groups/{groupKey}/owners</a></li> + <li><a href="#d2e6736">http://www.example.com/groups/{groupKey}/participants</a></li> + <li><a href="#d2e6742">http://www.example.com/groups/{groupKey}/participants/{identityKey}</a></li> + <li><a href="#d2e6751">http://www.example.com/groups/version</a></li> + <li><a href="#d2e6756">http://www.example.com/groups/{groupKey}/wiki</a></li> + <li><a href="#d2e6766">http://www.example.com/groups/{groupKey}/forum</a><ul> + <li><a href="#d2e6798">http://www.example.com/groups/{groupKey}/forum/threads</a></li> + <li><a href="#d2e6907">http://www.example.com/groups/{groupKey}/forum/posts/{threadKey}</a></li> + <li><a href="#d2e6948">http://www.example.com/groups/{groupKey}/forum/posts/{messageKey}</a></li> + <li><a href="#d2e7060">http://www.example.com/groups/{groupKey}/forum/posts/{messageKey}/attachments</a></li> + <li><a href="#d2e7131">http://www.example.com/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</a></li> + </ul> + </li> + <li><a href="#d2e7153">http://www.example.com/groups/{groupKey}/folder</a><ul> + <li><a href="#d2e7186">http://www.example.com/groups/{groupKey}/folder/{path:.*}</a></li> + <li><a href="#d2e7230">http://www.example.com/groups/{groupKey}/folder/metadata/{path:.*}</a></li> + <li><a href="#d2e7236">http://www.example.com/groups/{groupKey}/folder/version</a></li> + </ul> + </li> </ul> </li> - <li><a href="#d2e7353">http://www.example.com/docpool</a><ul> - <li><a href="#d2e7356">http://www.example.com/docpool/module/configuration</a></li> - <li><a href="#d2e7379">http://www.example.com/docpool/{taxonomyKey}</a><ul> - <li><a href="#d2e7405">http://www.example.com/docpool/{taxonomyKey}/levels</a></li> - <li><a href="#d2e7459">http://www.example.com/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}</a></li> - <li><a href="#d2e7488">http://www.example.com/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}/competences</a></li> - <li><a href="#d2e7549">http://www.example.com/docpool/{taxonomyKey}/competences/{identityKey}</a></li> - <li><a href="#d2e7573">http://www.example.com/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{identityKey}</a></li> - <li><a href="#d2e7598">http://www.example.com/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{competenceKey}</a></li> - <li><a href="#d2e7622">http://www.example.com/docpool/{taxonomyKey}/types</a></li> - <li><a href="#d2e7682">http://www.example.com/docpool/{taxonomyKey}/types/{typeKey}</a></li> - <li><a href="#d2e7713">http://www.example.com/docpool/{taxonomyKey}/types/{typeKey}/allowedSubTypes</a></li> - <li><a href="#d2e7743">http://www.example.com/docpool/{taxonomyKey}/types/{typeKey}/allowedSubTypes/{subTypeKey}</a></li> + <li><a href="#d2e7240">http://www.example.com/repo/courses</a><ul> + <li><a href="#d2e7288">http://www.example.com/repo/courses/version</a></li> + <li><a href="#d2e7292">http://www.example.com/repo/courses/{courseId}</a><ul> + <li><a href="#d2e7302">http://www.example.com/repo/courses/{courseId}/resource</a></li> + <li><a href="#d2e7307">http://www.example.com/repo/courses/{courseId}/publish</a></li> + <li><a href="#d2e7316">http://www.example.com/repo/courses/{courseId}/configuration</a></li> + <li><a href="#d2e7334">http://www.example.com/repo/courses/{courseId}/authors</a></li> + <li><a href="#d2e7345">http://www.example.com/repo/courses/{courseId}/file</a></li> + <li><a href="#d2e7350">http://www.example.com/repo/courses/{courseId}/status</a></li> + <li><a href="#d2e7358">http://www.example.com/repo/courses/{courseId}/runstructure</a></li> + <li><a href="#d2e7362">http://www.example.com/repo/courses/{courseId}/editortreemodel</a></li> + <li><a href="#d2e7367">http://www.example.com/repo/courses/{courseId}/authors/{identityKey}</a></li> + <li><a href="#d2e7379">http://www.example.com/repo/courses/{courseId}/tutors/{identityKey}</a></li> + <li><a href="#d2e7387">http://www.example.com/repo/courses/{courseId}/tutors</a></li> + <li><a href="#d2e7398">http://www.example.com/repo/courses/{courseId}/participants</a></li> + <li><a href="#d2e7409">http://www.example.com/repo/courses/{courseId}/participants/{identityKey}</a></li> + <li><a href="#d2e7417">http://www.example.com/repo/courses/{courseId}/version</a></li> + <li><a href="#d2e7421">http://www.example.com/repo/courses/{courseId}/groups</a><ul> + <li><a href="#d2e7433">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}</a></li> + <li><a href="#d2e7446">http://www.example.com/repo/courses/{courseId}/groups/version</a></li> + <li><a href="#d2e7450">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum</a><ul> + <li><a href="#d2e7482">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/threads</a></li> + <li><a href="#d2e7591">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{threadKey}</a></li> + <li><a href="#d2e7632">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}</a></li> + <li><a href="#d2e7744">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments</a></li> + <li><a href="#d2e7815">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</a></li> + </ul> + </li> + <li><a href="#d2e7837">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder</a><ul> + <li><a href="#d2e7870">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder/{path:.*}</a></li> + <li><a href="#d2e7914">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder/metadata/{path:.*}</a></li> + <li><a href="#d2e7920">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder/version</a></li> + </ul> + </li> + </ul> + </li> + <li><a href="#d2e7924">http://www.example.com/repo/courses/{courseId}/calendar</a><ul> + <li><a href="#d2e7927">http://www.example.com/repo/courses/{courseId}/calendar/events/{eventId}</a></li> + <li><a href="#d2e7933">http://www.example.com/repo/courses/{courseId}/calendar/events</a></li> + <li><a href="#d2e7956">http://www.example.com/repo/courses/{courseId}/calendar/event</a></li> + </ul> + </li> + <li><a href="#d2e7972">http://www.example.com/repo/courses/{courseId}/vitero/{subIdentifier}</a><ul> + <li><a href="#d2e8030">http://www.example.com/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}/members</a></li> + <li><a href="#d2e8069">http://www.example.com/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}</a></li> + </ul> + </li> + <li><a href="#d2e8080">http://www.example.com/repo/courses/{courseId}/gotomeeting/{subIdentifier}</a><ul> + <li><a href="#d2e8084">http://www.example.com/repo/courses/{courseId}/gotomeeting/{subIdentifier}/trainings</a></li> + <li><a href="#d2e8139">http://www.example.com/repo/courses/{courseId}/gotomeeting/{subIdentifier}//trainings/{trainingKey}</a></li> + </ul> + </li> + <li><a href="#d2e8150">http://www.example.com/repo/courses/{courseId}/lectureblocks</a><ul> + <li><a href="#d2e8170">http://www.example.com/repo/courses/{courseId}/lectureblocks/sync/calendar</a></li> + <li><a href="#d2e8174">http://www.example.com/repo/courses/{courseId}/lectureblocks/adaptation</a></li> + <li><a href="#d2e8178">http://www.example.com/repo/courses/{courseId}/lectureblocks/configuration</a></li> + <li><a href="#d2e8191">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}</a><ul> + <li><a href="#d2e8200">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/sync/calendar</a></li> + <li><a href="#d2e8204">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers</a></li> + <li><a href="#d2e8209">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</a></li> + <li><a href="#d2e8216">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</a></li> + </ul> + </li> + </ul> + </li> </ul> </li> </ul> @@ -719,1664 +732,1487 @@ </ul> </li> <li><a href="#representations">Representations</a><ul> - <li><a href="#d2e5">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> - <li><a href="#d2e6">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> - <li><a href="#d2e8">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e9">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e30">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e31">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e41">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e42">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e47">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e48">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e52">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e57">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e58">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e61">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e62">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e67">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e68">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e71">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e79">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e80">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e84">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e89">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e92">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e96">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e97">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e100">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e101">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e103">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e107">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e108">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e111">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e112">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e114">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e119">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e122">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e126">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e127">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e131">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e134">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e135">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e140">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e144">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e149">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e150">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e153">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e156">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e160">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e161">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e163">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e166">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e167">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e171">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e172">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e180">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e181">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e185">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e186">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e189">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e190">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e192">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e193">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e198">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e201">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e204">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e206">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e210">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e215">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e216">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e217">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e218">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e219">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e222">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e223">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e225">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e226">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e229">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e230">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e233">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e238">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e239">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e242">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e243">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e248">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e249">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e250">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e251">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e252">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e255">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e256">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e259">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e260">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e263">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e264">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e265">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e268">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e269">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e271">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e272">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e275">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e276">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e277">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e280">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e285">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e286">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e287">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e291">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e296">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e297">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e308">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e321"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e327"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e346">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e359"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e365"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e384">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e397"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e403"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e410">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e417">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e430"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e436"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e458">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e471"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e477"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e488">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e501">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e514"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e520"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e527">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e528">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e532">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e545"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e551"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e570">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e583"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e589"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e602">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e608"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e615">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e621">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e627"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e634">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e635">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e639">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e645"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e654">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e660"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e676">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e682"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e692">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e693">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e701">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e702">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e705">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e706">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e708">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e709">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e712">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e713">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e715">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e716">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e720">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e721">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e723">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e724">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e727">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e728">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e729">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e11">application/xml, application/json (<abbr title="{http://www.example.com} organisationVO">ns3:organisationVO</abbr>)</a></li> + <li><a href="#d2e24"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e31">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>)</a></li> + <li><a href="#d2e32">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>)</a></li> + <li><a href="#d2e36">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e49"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e55">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e60">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>)</a></li> + <li><a href="#d2e61">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>)</a></li> + <li><a href="#d2e65">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e78"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e84">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e93">application/xml, application/json (<abbr title="{http://www.example.com} organisationVO">ns3:organisationVO</abbr>)</a></li> + <li><a href="#d2e106"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e113">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>)</a></li> + <li><a href="#d2e114">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>)</a></li> + <li><a href="#d2e118">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e131"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e137">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e145">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e162">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>)</a></li> + <li><a href="#d2e163">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>)</a></li> + <li><a href="#d2e167">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e180"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e186">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e191">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>)</a></li> + <li><a href="#d2e192">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>)</a></li> + <li><a href="#d2e196">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e209"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e215">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e222">application/xml, application/json (<abbr title="{http://www.example.com} organisationTypeVO">ns3:organisationTypeVO</abbr>)</a></li> + <li><a href="#d2e235"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e248">application/xml, application/json (<abbr title="{http://www.example.com} organisationTypeVO">ns3:organisationTypeVO</abbr>)</a></li> + <li><a href="#d2e261"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e267"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e280">application/xml, application/json (<abbr title="{http://www.example.com} organisationTypeVO">ns3:organisationTypeVO</abbr>)</a></li> + <li><a href="#d2e293"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e300">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>)</a></li> + <li><a href="#d2e301">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>)</a></li> + <li><a href="#d2e305">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e318"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e324">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e338">application/xml, application/json (<abbr title="{http://www.example.com} organisationTypeVO">ns3:organisationTypeVO</abbr>)</a></li> + <li><a href="#d2e351"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e357"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e366"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e372"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e378"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e388">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e404">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e405">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e410">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e411">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e423">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e424">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e430">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e431">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e436">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e447">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e448">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e451">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e452">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e455">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e456">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e469">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e470">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e476">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e485">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e486">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e491">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e502">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e503">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e516">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e517">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e523">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e531">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e532">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e537">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e547">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e548">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e560">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e561">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e567">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e574">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e575">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e580">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e589">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e590">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e601">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e602">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e608">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e616">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e617">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e632">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e633">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e645">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e646">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e652">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e660">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e661">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e675">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e676">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e688">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e689">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e695">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e703">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e704">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e718">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e719">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e731">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e732">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e741">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e742">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e746">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e760">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e761">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e765">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e781">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e801">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> - <li><a href="#d2e815">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e816">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e820">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> - <li><a href="#d2e838"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e852">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> - <li><a href="#d2e866">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - <li><a href="#d2e867">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - <li><a href="#d2e871">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> - <li><a href="#d2e885">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - <li><a href="#d2e886">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - <li><a href="#d2e890">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> - <li><a href="#d2e908"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e738">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e746">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e747">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e761">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e762">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e774">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e775">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e781">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e782">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e785">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e786">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e820">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e821">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e852">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e853">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e856">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e857">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e871">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e872">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e883">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e884">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e887">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e888">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e913">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e914">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e915">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e918">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e919">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e921">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e922">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e925">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e926">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e927">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e929">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e930">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e934">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e935">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e938">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e939">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - <li><a href="#d2e940">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - <li><a href="#d2e942">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e943">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e947">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e951">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e956">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e959">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e960">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e964">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e965">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e969">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e972">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e977">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e980">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e984">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e936">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e937">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e940">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e941">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e948">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e949">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e953">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e958">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e959">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e968">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e969">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e979">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e980">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e988">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e989">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e997">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e998">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1004">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1007">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1010">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1014">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1019">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1020">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1028">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1029">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1032">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> - <li><a href="#d2e1033">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> - <li><a href="#d2e1035">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1036">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1039">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e992">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e993">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e995">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e996">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e999">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1000">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1002">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1003">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1007">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e1008">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e1010">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1011">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1014">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1015">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e1016">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e1018">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1019">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1023">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1024">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1030">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1033">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1036">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e1044">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e1045">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1049">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> - <li><a href="#d2e1050">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> - <li><a href="#d2e1052">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1053">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1060">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1061">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1064">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1065">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1070">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1071">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1082">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> - <li><a href="#d2e1083">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> - <li><a href="#d2e1087">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>)</a></li> - <li><a href="#d2e1100"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1106"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1112"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1118"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1125">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>)</a></li> - <li><a href="#d2e1136"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1140"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1156"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1162"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1168"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1178">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1196">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1203"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1209"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1215"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1221"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1228">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1236">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1244">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> - <li><a href="#d2e1245">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> - <li><a href="#d2e1249">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1262"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1268">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1289">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>)</a></li> - <li><a href="#d2e1302"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1313">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> - <li><a href="#d2e1314">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> - <li><a href="#d2e1318">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>)</a></li> - <li><a href="#d2e1331"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1337"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1343">application/xml, application/json (<abbr title="{http://www.example.com} errorVO">ns3:errorVO</abbr>)</a></li> - <li><a href="#d2e1359"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1365"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1371"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1384">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1397"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1403"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1416">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1429"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1435"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1442">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> - <li><a href="#d2e1443">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> - <li><a href="#d2e1447">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1460"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1466"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1479">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1492"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1498"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1505">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> - <li><a href="#d2e1506">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> - <li><a href="#d2e1510">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1523"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1529"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1539">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1552">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1553">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1564">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1577"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1583"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1590">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> - <li><a href="#d2e1591">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> - <li><a href="#d2e1595">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1608"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1614"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1627">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1633"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1642">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1648"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1654"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1663"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1669"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1678">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1684"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1696">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1702"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1716">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>)</a></li> - <li><a href="#d2e1729"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1736">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1737">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1738">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1739">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1740">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1743">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1744">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1050">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1051">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1054">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e1055">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e1057">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1058">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1066">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1067">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1070">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1075">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1076">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1080">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e1081">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e1083">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1084">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1091">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1092">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1095">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1096">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1101">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1102">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1106">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1110">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1115">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1119">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1127">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> + <li><a href="#d2e1128">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> + <li><a href="#d2e1132">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1145"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1151">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1172">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>)</a></li> + <li><a href="#d2e1185"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1196">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> + <li><a href="#d2e1197">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> + <li><a href="#d2e1201">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>)</a></li> + <li><a href="#d2e1214"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1220"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1226">application/xml, application/json (<abbr title="{http://www.example.com} errorVO">ns3:errorVO</abbr>)</a></li> + <li><a href="#d2e1242"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1248"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1254"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1267">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1280"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1286"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1299">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1305"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1314">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1320"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1329">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1335"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1341"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1350"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1356"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1369">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1382"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1388"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1395">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> + <li><a href="#d2e1396">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> + <li><a href="#d2e1400">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1413"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1419"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1432">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1445"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1451"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1458">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> + <li><a href="#d2e1459">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> + <li><a href="#d2e1463">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1476"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1482"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1488">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1489">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1500">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1513"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1519"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1526">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> + <li><a href="#d2e1527">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> + <li><a href="#d2e1531">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1544"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1550"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1562">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1568"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1578">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1599">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>)</a></li> + <li><a href="#d2e1612"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1620">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1621">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1622">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1623">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1624">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1627">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1628">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1631">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1636">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1640">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1641">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1644">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1645">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1647">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1648">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1653">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1654">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1655">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1656">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1657">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1660">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1661">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1662">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1665">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1670">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1671">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1672">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1675">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1676">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1677">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1680">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1681">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1683">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1684">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1687">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1688">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1691">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1692">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1697">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1698">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1702">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1706">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1707">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1708">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1709">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1710">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1713">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1714">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1717">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1722">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1723">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1726">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1727">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1730">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1731">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1733">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1739">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1740">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1741">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1742">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1743">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e1746">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e1747">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1750">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1751">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1754">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1759">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1760">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1763">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1764">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1748">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1751">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1756">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1757">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1758">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1761">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1762">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1763">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1766">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1767">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> <li><a href="#d2e1769">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e1770">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1771">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1772">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1773">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1776">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1777">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1780">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1781">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1784">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1785">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1786">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1789">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1790">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1792">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1793">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1796">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1797">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1798">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1801">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1806">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1807">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1808">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1812">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1817">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1818">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1822">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1823">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1824">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1825">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1826">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1829">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1830">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1832">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1833">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1836">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1837">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1840">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1845">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1846">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1849">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1850">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1855">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1856">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1857">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1858">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1859">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1862">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1863">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1866">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1867">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1773">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1774">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1777">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1778">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1783">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1784">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1788">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1793">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1794">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1795">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1796">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1797">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1800">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1801">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1804">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1809">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1810">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1813">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1814">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1817">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1818">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1820">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1821">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1826">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1827">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1828">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1829">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1830">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1833">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1834">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1835">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1838">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1843">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1844">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1845">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1848">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1849">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1850">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1853">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1854">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1856">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1857">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1860">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1861">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1864">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1865">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e1870">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e1871">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1872">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1875">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1876">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1878">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1879">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1882">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1883">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1884">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1887">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1892">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1893">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1894">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1898">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1903">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1904">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1910">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1911">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1912">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1913">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1914">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1917">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1918">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1920">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1921">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1924">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1925">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1928">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1933">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1934">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1937">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1938">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1943">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1944">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1945">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1946">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1947">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1950">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1951">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1954">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1955">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1958">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1959">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1960">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1963">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1964">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1966">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1967">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1970">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1971">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1972">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1975">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1980">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1981">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1982">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1986">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1991">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1992">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2009">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> - <li><a href="#d2e2022"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2039">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> - <li><a href="#d2e2052"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2069">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> - <li><a href="#d2e2082"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2094">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2095">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2104">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2105">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2114">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2115">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2124">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2125">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2180">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e2193"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2199"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2206">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2229">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e2242"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2248"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2262"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2266"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2270"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2277">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2282"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2286"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2292">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e2293">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e2295">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2296">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2302">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2303">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2309">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2312">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2316">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2321">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2322">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2325">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e2326">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e2328">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2329">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2332">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2337">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2340">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2343">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2346">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2351">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e2353">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2358">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2359">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2364">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2365">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2370">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2371">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2377">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2380">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2390">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2391">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2396">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2397">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2398">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2399">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2400">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2403">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2404">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2406">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2407">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2410">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2411">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2414">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2419">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2420">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2423">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2424">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2429">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2430">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2431">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2432">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2433">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2436">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2437">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2440">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2441">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2444">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2445">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2446">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2449">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2450">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2452">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2453">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2456">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2457">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2458">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2461">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2466">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2467">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2468">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2472">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2477">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2478">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2489">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e2502"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2508"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2527">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e2540"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2546"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2565">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e2578"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2584"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2591">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2598">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e2611"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2617"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2639">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e2652"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2658"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2669">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2682">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e2695"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2701"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2708">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e2709">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e2713">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e2726"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2732"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2751">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e2764"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2770"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2783">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2789"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2796">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2802">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1875">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1892">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> + <li><a href="#d2e1905"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1922">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> + <li><a href="#d2e1935"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1952">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> + <li><a href="#d2e1965"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1977">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1978">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1987">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1988">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1997">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1998">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2007">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2008">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2019">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyModuleConfigurationVO">ns3:taxonomyModuleConfigurationVO</abbr>)</a></li> + <li><a href="#d2e2032"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2045">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyVO">ns3:taxonomyVO</abbr>)</a></li> + <li><a href="#d2e2058"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2068">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e2081"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2088">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e2089">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e2093">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e2106"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2112"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2123"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2129"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2135"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2141"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2152">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e2165"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2172">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e2173">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e2177">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e2190"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2196"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2202"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2213">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e2226"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2238">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e2251"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2263"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2269"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2275"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2285">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e2298"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2304"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2311">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e2312">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e2316">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e2329"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2335"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2346">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e2359"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2365"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2377">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e2390"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2396"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2408">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e2421"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2427"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2436"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2442"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2448"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2456">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2462">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2463">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2464">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2465">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2471">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2472">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2473">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2474">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2477">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2480">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2485">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2488">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2491">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2495">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2500">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2505">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2510">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2514">application/xhtml+xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2515">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2518">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2522">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2539">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2552"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2558">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>)</a></li> + <li><a href="#d2e2559">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>)</a></li> + <li><a href="#d2e2561">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2566">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2577">application/xml, application/json (<abbr title="{http://www.example.com} publisherVo">ns3:publisherVo</abbr>)</a></li> + <li><a href="#d2e2590"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2596"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2605">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2606">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2613">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2618">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2622">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2627">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2628">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2629">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2630">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2631">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2634">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2635">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2638">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2643">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2644">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2647">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2648">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2651">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2652">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2654">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2655">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2660">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2661">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2662">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2663">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2664">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2667">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2668">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2669">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2672">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2677">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2678">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2679">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2682">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2683">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2684">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2687">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2688">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2690">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2691">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2694">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2695">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2698">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2699">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2704">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2705">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2709">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2714">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2715">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2732">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2738"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2744"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2749">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2752">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2769"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2775"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2781"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2787"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2796"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2802"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e2808"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2815">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2816">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2820">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2826"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2835">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2841"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2857">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2863"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2878"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2891">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2892">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2895">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2896">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2899">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2900">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2909">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2910">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2914">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2919">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2920">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2923">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2924">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2927">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> - <li><a href="#d2e2928">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> - <li><a href="#d2e2930">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2931">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2934">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2935">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2941">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2944">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2950">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2953">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2958">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2959">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2961">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2964">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2965">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2970">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2971">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2974">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2975">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2977">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2983">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2986">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2991">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2992">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2994">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2997">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2998">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3004">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3005">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3010">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3013">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3014">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3019">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3020">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3023">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e3024">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e3026">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3027">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3030">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3031">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e3032">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e3034">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3035">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3039">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3040">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3043">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3044">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - <li><a href="#d2e3045">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - <li><a href="#d2e3047">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3048">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3052">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3056">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3061">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3064">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3065">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3069">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3070">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3074">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3077">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3082">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3085">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3089">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3093">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3094">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3102">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3103">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3108">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3109">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3114">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3118">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3123">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3128">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3132">application/xhtml+xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3133">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3136">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3144">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3145">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3154">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3155">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3159">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3164">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3165">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3174">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3175">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3185">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3186">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3194">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3195">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3198">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3199">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3201">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3202">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3205">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3206">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3208">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3209">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3213">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e3214">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e3216">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3217">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3220">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3221">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e3222">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e3224">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3225">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3230">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3236">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3237">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3238">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3239">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3244">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3250">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3251">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3252">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3253">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3256">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3259">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3264">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3267">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3270">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3284">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3290"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3310">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> - <li><a href="#d2e3321"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3332"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3339">text/plain, text/html (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> - <li><a href="#d2e3350"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3357">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3362"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3369"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3373"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3377"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3391">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> - <li><a href="#d2e3405">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> - <li><a href="#d2e3406">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> - <li><a href="#d2e3408"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3415">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> - <li><a href="#d2e3416">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> - <li><a href="#d2e3418"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3426">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3450"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3454"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3458"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3465">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3471">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3472">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3477">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3478">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3490">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3491">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3497">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3498">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3503">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3514">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3515">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3518">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3519">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3532">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3533">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3536">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3537">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3543">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3552">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3553">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3558">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3569">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3570">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3583">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3584">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3590">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3598">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3599">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3604">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3614">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3615">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3627">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3628">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3634">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3641">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3642">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3647">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3656">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3657">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3668">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3669">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3676">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3684">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3685">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3699">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3700">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3712">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3713">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3719">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3727">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3728">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3742">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3743">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3755">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3756">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3770">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3771">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3783">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3784">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3790">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3798">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3799">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3805">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3813">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3814">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3828">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3829">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3841">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3842">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3848">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3849">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3852">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3853">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3887">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3888">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3919">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3920">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3923">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3924">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3938">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3939">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3950">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3951">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3954">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3955">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3981">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3982">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4004">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4005">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4008">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4009">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4015">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4016">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4024">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4025">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4036">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4037">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4051">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e4052">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e4056">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e4070">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e4071">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e4075">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e4091">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e4111">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> - <li><a href="#d2e4125">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4126">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4130">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> - <li><a href="#d2e4148"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4156">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4157">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4161">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4167">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4168">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4174">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4175">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4178">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>)</a></li> - <li><a href="#d2e4179">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>)</a></li> - <li><a href="#d2e4181">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4188">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4189">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4230">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e4243"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4249"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4256">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4287">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e4300"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4306"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4318">application/xml, application/json (<abbr title="{http://www.example.com} groupVO">ns3:groupVO</abbr>)</a></li> - <li><a href="#d2e4331"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4337"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4352">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e4365"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4378">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e4391"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4397"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4416">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e4429"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4435"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4454">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e4467"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4473"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4480">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4487">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e4500"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4506"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4528">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e2828">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> + <li><a href="#d2e2839"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2850"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2857">text/plain, text/html (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> + <li><a href="#d2e2868"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2875">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2880"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2887"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2891"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2895"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2909">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> + <li><a href="#d2e2923">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e2924">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e2926"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2933">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e2934">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e2936"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2953"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2957"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2961"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2969">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2986">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2987">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2998">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2999">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3010">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> + <li><a href="#d2e3011">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> + <li><a href="#d2e3015">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>)</a></li> + <li><a href="#d2e3028"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3034"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3040"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3046"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3053">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>)</a></li> + <li><a href="#d2e3064"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3068"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3084"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3090"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3096"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3107">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3114"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3120"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3126"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3132"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3142">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3192">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e3205"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3211"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3218">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3249">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e3262"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3268"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3280">application/xml, application/json (<abbr title="{http://www.example.com} groupVO">ns3:groupVO</abbr>)</a></li> + <li><a href="#d2e3293"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3299"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3308">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3309">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3314">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3315">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3370">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e3383"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3389"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3396">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3419">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e3432"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3438"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3451">application/xml, application/json (<abbr title="{http://www.example.com} forumVOes">ns3:forumVOes</abbr>)</a></li> + <li><a href="#d2e3464"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3470"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3477">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3491">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e3504"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3510"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3530">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e3543"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3549"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3565">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e3578"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3584"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3613">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3626"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3632"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3661">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3674"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3680"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3694">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e3707"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3713"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3732">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e3745"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3751"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3770">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3783"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3789"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3796">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3803">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3816"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3822"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3844">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e3857"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3863"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3874">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3887">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3900"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3906"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3913">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e3914">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e3918">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3931"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3937"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3956">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3969"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3975"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3988">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3994"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4001">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4007">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4013"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4020">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4021">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4025">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4031"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4040">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4046"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4062">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4068"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4086">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e4100">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e4101">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e4105">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e4119">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e4120">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e4124">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e4144">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e4158">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4159">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4163">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e4181"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4191">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4192">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4204">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4205">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4208">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4209">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4212">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4213">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4222">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4223">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4227">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4232">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4233">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4236">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4237">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4240">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> + <li><a href="#d2e4241">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> + <li><a href="#d2e4243">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4244">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4247">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4248">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4253">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4254">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4257">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4258">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4260">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4266">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4269">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4274">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4275">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4280">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4283">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4284">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4290">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4293">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4298">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4299">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4301">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4304">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4305">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4311">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4312">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4315">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4316">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4318">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4324">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4327">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4332">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4333">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4336">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e4337">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e4339">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4340">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4343">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4344">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e4345">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e4347">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4348">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4352">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4356">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4360">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4361">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4364">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4365">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e4366">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e4368">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4369">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4374">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4375">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4378">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4382">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4386">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4387">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4391">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4394">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4399">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4402">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4415">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>)</a></li> + <li><a href="#d2e4428"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4434"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4468">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e4481"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4487"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4494">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4522">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e4535"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e4541"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4547"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4558">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4571">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e4584"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4555">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4577">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> <li><a href="#d2e4590"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4597">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e4598">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e4602">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e4615"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4621"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4640">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e4653"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4659"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4672">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4678"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4685">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4691">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4704">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e4705">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e4709">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4715"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4724">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4730"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4746">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4752"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4766">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e4779"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4785"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4804">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e4817"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4823"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4842">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e4855"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4861"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4868">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4875">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e4888"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4894"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4916">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e4929"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4935"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4946">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4959">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e4972"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4978"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4985">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e4986">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e4990">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e5003"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5009"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5028">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e5041"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5047"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5060">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5066"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5073">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5079">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5085"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5092">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5093">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5097">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5103"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5112">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5118"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5134">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5140"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5155">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>)</a></li> - <li><a href="#d2e5168"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5174"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5208">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e5221"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5227"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5234">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5262">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e5275"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5281"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5295">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5317">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e5330"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5336"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5345">application/xml, application/json (<abbr title="{http://www.example.com} folderVO">ns3:folderVO</abbr>)</a></li> - <li><a href="#d2e5358"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5364"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5372">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5373">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5374">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5375">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5376">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5379">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5380">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5382">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5383">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5386">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5387">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5390">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5395">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5396">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5399">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5400">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5405">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5406">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5407">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5408">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5409">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5412">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5413">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5416">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5417">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5420">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5421">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5422">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5425">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5426">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5428">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5429">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5432">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5433">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5434">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5437">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5442">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5443">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5444">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5448">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5453">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5454">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5463">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5485">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e5498"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5504"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5523">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e5536"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5542"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5561">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e5574"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5580"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5587">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5594">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e5607"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5613"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5635">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e5648"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5654"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5665">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5678">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e5691"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5704">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e5705">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e5709">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e5722"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5728"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5747">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e5760"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5766"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5779">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5785"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5792">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5798">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5804"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5811">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5812">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5816">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5822"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5831">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5837"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5853">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5859"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5878">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5884"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5890"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5895">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5898">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5915"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5921"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5927"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5933"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4596"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4605">application/xml, application/json (<abbr title="{http://www.example.com} folderVO">ns3:folderVO</abbr>)</a></li> + <li><a href="#d2e4618"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4624"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4632">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4633">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4634">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4635">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4636">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4639">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4640">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4643">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4648">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4649">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4652">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4653">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4656">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4657">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4659">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4660">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4665">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4666">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4667">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4668">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4669">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4672">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4673">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4674">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4677">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4682">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4683">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4684">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4687">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4688">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4689">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4692">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4693">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4695">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4696">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4699">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4700">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4703">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4704">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4709">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4710">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4714">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4723">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4745">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e4758"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4764"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4783">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e4796"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4802"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4821">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e4834"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4840"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4847">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4854">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e4867"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4873"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4895">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e4908"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4914"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4925">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4938">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e4951"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4957"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4964">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e4965">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e4969">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e4982"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4988"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5007">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5020"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5026"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5039">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5045"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5052">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5058">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5064"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5071">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e5072">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e5076">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5082"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5091">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5097"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5113">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5119"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5134"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5150">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5156"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5163">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5164">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5168">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5169">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5173">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5174">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5179">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5180">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5184">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5189">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5190">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5194">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5195">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5199">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5200">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5204">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5205">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5209">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5210">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5214">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5215">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5219">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5220">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5224">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5225">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5229">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5230">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5234">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5235">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5239">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5240">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5244">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5245">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5249">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5250">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5254">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5255">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5258">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5261">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5264">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5268">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5271">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5272">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5276">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5279">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5280">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5288">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5289">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5293">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5296">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5297">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5301">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5302">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5306">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5307">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5311">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5312">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5315">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5318">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5321">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5326">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5327">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5330">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5333">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5336">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5341">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5342">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5348">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5349">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5355">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5356">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5359">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>)</a></li> + <li><a href="#d2e5360">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>)</a></li> + <li><a href="#d2e5362">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5369">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5370">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5374">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5383">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5387">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5400">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e5413"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5426">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e5439"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5445"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5464">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e5477"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5483"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5502">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5515"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5521"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5528">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5535">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5548"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5554"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5576">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e5589"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5595"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5606">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5619">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5632"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5638"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5645">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e5646">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e5650">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5663"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5669"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5688">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5701"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5707"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5720">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5726"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5733">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5739">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5745"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5752">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e5753">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e5757">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5763"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5772">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5778"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5794">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5800"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5814">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e5827"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5833"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5852">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e5865"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5871"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5890">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5903"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5909"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5916">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5923">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5936"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e5942"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5948"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5954"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5967">application/xml, application/json (<abbr title="{http://www.example.com} forumVOes">ns3:forumVOes</abbr>)</a></li> - <li><a href="#d2e5980"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5986"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5993">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6007">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e5964">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e5977"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5983"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5994">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6007">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> <li><a href="#d2e6020"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e6026"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6046">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e6059"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6065"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6081">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e6094"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6100"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6129">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e6142"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6148"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6177">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e6190"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6196"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6210">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e6223"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6229"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6248">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e6261"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6267"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6286">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e6299"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6305"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6312">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6319">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e6332"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6033">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e6034">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e6038">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6051"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6057"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6076">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6089"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6095"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6108">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6114"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6121">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6127">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6133"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6140">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e6141">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e6145">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6151"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6160">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6166"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6182">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6188"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6199">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6200">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6204">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6218">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyVO">ns3:taxonomyVO</abbr>)</a></li> + <li><a href="#d2e6231"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6241">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e6254"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6261">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e6262">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e6266">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e6279"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6285"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6296"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6302"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6308"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6314"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6325">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> <li><a href="#d2e6338"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6360">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e6373"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6379"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6390">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6403">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e6416"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6422"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6429">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e6430">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e6434">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e6447"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6453"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6472">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e6485"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6491"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6504">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6510"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6517">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6523">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6529"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6536">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6537">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6541">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6547"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6556">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6562"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6578">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6584"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6591">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6592">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6596">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6597">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6601">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6602">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6606">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6611">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6612">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6617">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6618">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6622">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6623">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6627">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6628">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6632">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6633">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6638">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6642">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6643">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6647">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6648">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6652">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6653">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6657">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6658">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6662">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6663">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6667">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6668">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6672">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6673">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6677">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6678">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6682">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6683">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6686">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6689">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6692">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6696">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6699">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6700">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6704">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6707">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6708">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6716">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6717">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6721">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6724">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6725">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6729">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6730">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6345">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e6346">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e6350">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e6363"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6369"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6375"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6386">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e6399"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6411">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e6424"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6436"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6442"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6448"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6458">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e6471"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6477"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6484">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e6485">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e6489">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e6502"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6508"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6519">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e6532"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6538"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6550">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e6563"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6569"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6581">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e6594"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6600"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6609"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6615"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6621"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6636"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6640"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6644"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6651">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6656"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6660"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6666">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e6667">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e6669">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6670">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6676">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6677">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6682">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6685">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6688">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6691">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6696">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6697">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6700">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e6701">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e6703">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6704">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6707">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6713">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6716">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6721">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e6723">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6728">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6729">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e6734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e6735">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6739">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6740">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6743">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6746">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6749">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6754">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6755">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6758">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6761">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6764">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6781">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6794"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6800">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>)</a></li> - <li><a href="#d2e6801">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>)</a></li> - <li><a href="#d2e6803">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6808">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6815">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6816">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6821">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6827">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6832">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6837">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6838">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6839">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6840">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6841">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6844">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6845">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6847">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6848">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6851">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6852">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6855">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6860">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6861">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6864">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6865">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6870">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6871">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6872">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6873">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6874">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6877">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6878">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6881">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6882">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6885">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6886">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6887">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6890">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6891">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6893">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6894">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6897">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6898">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6899">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6902">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6907">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6908">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6909">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6913">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6918">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6919">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6933">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyVO">ns3:taxonomyVO</abbr>)</a></li> - <li><a href="#d2e6946"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6956">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> - <li><a href="#d2e6969"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6976">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> - <li><a href="#d2e6977">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> - <li><a href="#d2e6981">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> - <li><a href="#d2e6994"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7000"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7011"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7017"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7023"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7029"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7040">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7053"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7060">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7061">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7065">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7078"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7084"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7090"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7101">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7114"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7126">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7139"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7151"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7157"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7163"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7173">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7186"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7192"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7199">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7200">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7204">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7217"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7223"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7234">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7247"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7253"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7265">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7278"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7284"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7296">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7309"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7315"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7324"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7330"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7336"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7343">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7347">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7352">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7363">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyModuleConfigurationVO">ns3:taxonomyModuleConfigurationVO</abbr>)</a></li> - <li><a href="#d2e7376"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7389">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyVO">ns3:taxonomyVO</abbr>)</a></li> - <li><a href="#d2e7402"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7412">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> - <li><a href="#d2e7425"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7432">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> - <li><a href="#d2e7433">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> - <li><a href="#d2e7437">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> - <li><a href="#d2e7450"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7456"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7467"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6740">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6741">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6747">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6750">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6754">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6764">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6765">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6776">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e6789"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6795"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6814">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e6827"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6833"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6852">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6865"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6871"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6878">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6885">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6898"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6904"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6926">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e6939"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6945"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6956">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6969">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6982"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6988"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6995">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e6996">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e7000">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e7013"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7019"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7038">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e7051"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7057"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7070">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7076"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7083">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7089">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7095"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7102">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7103">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7107">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7113"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7122">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7128"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7144">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7150"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7157">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7158">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7159">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7160">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7161">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7164">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7165">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7168">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7173">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7174">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7177">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7178">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7181">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7182">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7184">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7185">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7190">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7191">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7192">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7193">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7194">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7197">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7198">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7199">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7202">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7207">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7208">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7209">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7212">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7213">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7214">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7217">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7218">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7220">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7221">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7224">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7225">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7228">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7229">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7234">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7235">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7239">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7250">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7251">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7273">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7274">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7277">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> + <li><a href="#d2e7278">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> + <li><a href="#d2e7280">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7281">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7286">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7287">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7291">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7296">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7297">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7300">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7301">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7305">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7306">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7314">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7315">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7320">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7321">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7324">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7332">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7333">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7337">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7338">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7341">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7342">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7344">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7348">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7349">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7353">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7356">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7357">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7361">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7365">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7371">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7372">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7375">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7378">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7383">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7386">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7390">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7391">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7393">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7396">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7397">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7401">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7402">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7405">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7406">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7408">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7413">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7416">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7420">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7424">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e7425">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e7427">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7428">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7431">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7432">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7437">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7440">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e7442">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7445">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7449">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7460">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> <li><a href="#d2e7473"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e7479"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7485"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7496">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7509"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7516">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7517">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7521">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7534"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7540"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7546"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7557">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7570"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7582">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7595"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7607"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7613"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7619"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7629">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7642"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7648"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7655">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7656">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7660">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7673"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7679"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7690">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e7498">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e7511"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7517"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7536">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e7549"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7555"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7562">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7569">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e7582"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7588"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7610">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e7623"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7629"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7640">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7653">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e7666"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7672"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7679">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e7680">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e7684">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e7697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e7703"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7709"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7721">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7734"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7740"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7752">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7765"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7771"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7780"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7786"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e7792"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7722">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e7735"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7741"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7754">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7760"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7767">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7773">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7779"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7786">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7787">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7791">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7797"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7806">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7812"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7828">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7834"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7841">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7842">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7843">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7844">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7845">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7848">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7849">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7852">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7857">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7858">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7861">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7862">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7865">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7866">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7868">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7869">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7874">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7875">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7876">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7877">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7878">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7881">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7882">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7883">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7886">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7891">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7892">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7893">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7896">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7897">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7898">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7901">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7902">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7904">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7905">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7908">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7909">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7912">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7913">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7918">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7919">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7923">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7931">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7932">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7940">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7941">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7944">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7945">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7947">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7948">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7951">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7952">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7954">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7955">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7959">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e7960">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e7962">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7963">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7966">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7967">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e7968">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e7970">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7971">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7982">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e7996">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e7997">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e8001">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e8015">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e8016">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e8020">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e8040">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e8054">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8055">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8059">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e8077"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8091">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> + <li><a href="#d2e8105">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> + <li><a href="#d2e8106">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> + <li><a href="#d2e8110">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> + <li><a href="#d2e8124">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> + <li><a href="#d2e8125">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> + <li><a href="#d2e8129">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> + <li><a href="#d2e8147"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8153">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8154">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8157">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e8158">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e8160">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8161">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8164">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8165">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e8166">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e8168">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8169">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8173">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8177">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8181">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8182">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8185">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8186">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e8187">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e8189">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8190">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8195">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8196">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8199">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8203">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8207">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8208">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8212">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8215">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8220">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8223">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </li> </ul> <h2 id="resources">Resources</h2> <div class="resource"> - <h3 id="d2e2">/repo/courses</h3> + <h3 id="d2e2">/organisations</h3> + <p>Initial date: 14 mai 2018<br></p> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#createEmptyCourse">PUT</h4> - <p><em>acceptable request representations:</em></p> + <h4 id="http://www.example.com#getOrganisations">GET</h4> + <p>List of organizations flat.</p> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> - <li><a href="#d2e6">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> + <li><a href="#d2e11">application/xml, application/json (<abbr title="{http://www.example.com} organisationVO">ns3:organisationVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e8">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e9">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e24"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#createEmptyCourse">PUT</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>title</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>displayName</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>description</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>softKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>access</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>membersOnly</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>externalId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>externalRef</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>authors</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>location</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>managedFlags</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>sharedFolderSoftKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>copyFrom</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>initialAuthor</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>setAuthor</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - </table> + <h4 id="http://www.example.com#putOrganisation">PUT</h4> + <p>Creates and persists a new organization entity.</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e31">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>)</a></li> + <li><a href="#d2e32">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e30">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e31">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e36">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e49"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e55">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#getCourseList">GET</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>start</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>limit</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>managed</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>externalId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>externalRef</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>repositoryEntryKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> + <h4 id="http://www.example.com#postOrganisation">POST</h4> + <p>Updates a new organization entity.</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e60">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>)</a></li> + <li><a href="#d2e61">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e41">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e42">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e65">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#importCourse">POST</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>ownerUsername</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e47">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e48">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e78"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e49">/repo/courses/version</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e52">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e84">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e53">/repo/courses/{courseId}</h3> + <h3 id="d2e85">/organisations/{organisationKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2386,7 +2222,7 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>organisationKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -2397,77 +2233,117 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#findById">GET</h4> + <h4 id="http://www.example.com#getOrganisation">GET</h4> + <p>Get a specific organization.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e57">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e58">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e93">application/xml, application/json (<abbr title="{http://www.example.com} organisationVO">ns3:organisationVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e106"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#deleteCourse">DELETE</h4> + <h4 id="http://www.example.com#postOrganisation">POST</h4> + <p>Updates a new organization entity.</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e113">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>)</a></li> + <li><a href="#d2e114">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e118">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e131"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e61">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e62">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e137">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e63">/repo/courses/{courseId}/configuration</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> + <h3 id="d2e138">/organisations/version</h3> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getConfiguration">GET</h4> + <h4 id="http://www.example.com#getVersion">GET</h4> + <p>The version of the User Web Service</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e67">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e68">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e145">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e155">/organisations/types</h3> + <p>Initial date: 14 mai 2018<br></p> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#updateConfiguration">POST</h4> + <h4 id="http://www.example.com#putOrganisationType">PUT</h4> + <p>Creates and persists a new organization type entity.</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e71">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e162">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>)</a></li> + <li><a href="#d2e163">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e79">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e80">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e167">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e180"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e186">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postOrganisationType">POST</h4> + <p>Updates a new organization type entity.</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e191">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>)</a></li> + <li><a href="#d2e192">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e196">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e209"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e215">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getOrganisations">GET</h4> + <p>List of organizations types.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e222">application/xml, application/json (<abbr title="{http://www.example.com} organisationTypeVO">ns3:organisationTypeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e235"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e81">/repo/courses/{courseId}/version</h3> + <h3 id="d2e238">/organisations/types/{organisationTypeKey}/allowedSubTypes</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2477,27 +2353,38 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>organisationTypeKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td></td> + <td> + <p>The organization type primary key</p> + </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <h4 id="http://www.example.com#getAllowedSubTypes">GET</h4> + <p>Get the allowed sub-types of a specified organization type.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e248">application/xml, application/json (<abbr title="{http://www.example.com} organisationTypeVO">ns3:organisationTypeVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e84">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e261"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e267"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e85">/repo/courses/{courseId}/tutors/{identityKey}</h3> + <h3 id="d2e270">/organisations/types/{organisationTypeKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2507,43 +2394,57 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>organisationTypeKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p>The organization type primary key</p> </td> - <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addCoach">PUT</h4> + <h4 id="http://www.example.com#getOrganisations">GET</h4> + <p>List of organizations types.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e280">application/xml, application/json (<abbr title="{http://www.example.com} organisationTypeVO">ns3:organisationTypeVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e89">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e293"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#removeCoach">DELETE</h4> + <h4 id="http://www.example.com#postOrganisation">POST</h4> + <p>Updates a new organization type entity. The primary key is taken from + the URL. The organization type object can be "primary key free". + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e300">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>)</a></li> + <li><a href="#d2e301">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e305">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e92">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e318"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e324">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e93">/repo/courses/{courseId}/tutors</h3> + <h3 id="d2e325">/organisations/types/{organisationTypeKey}/allowedSubTypes/{subTypeKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2553,40 +2454,84 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>subTypeKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td></td> + <td> + <p>The sub type to remove</p> + </td> + </tr> + <tr> + <td> + <p><strong>organisationTypeKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The type</p> + </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTutors">GET</h4> + <h4 id="http://www.example.com#allowSubTaxonomyLevelType">PUT</h4> + <p>Add a sub-type to a specified organization type.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e338">application/xml, application/json (<abbr title="{http://www.example.com} organisationTypeVO">ns3:organisationTypeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e351"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e96">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e97">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e357"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#addCoaches">PUT</h4> - <p><em>acceptable request representations:</em></p> + <h4 id="http://www.example.com#disalloweSubTaxonomyLevelType">DELETE</h4> + <p>Remove a sub-type to a specified organization type.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e366"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e100">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e101">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e372"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e103">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e378"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e381">/organisations/types/version</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getVersion">GET</h4> + <p>The version of the User Web Service</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e388">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e104">/repo/courses/{courseId}/participants</h3> + <h3 id="d2e398">/repo/courses/{courseId}/elements</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e399">/repo/courses/{courseId}/elements/structure/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2603,33 +2548,30 @@ </td> <td></td> </tr> + <tr> + <td> + <p><strong>nodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getParticipants">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e107">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e108">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#addParticipants">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e111">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e112">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#updateStructure">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e114">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e404">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e405">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e115">/repo/courses/{courseId}/participants/{identityKey}</h3> + <h3 id="d2e406">/repo/courses/{courseId}/elements/structure</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2646,36 +2588,113 @@ </td> <td></td> </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addParticipant">PUT</h4> + <h4 id="http://www.example.com#attachStructurePostMultiparts">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e119">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e410">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e411">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#removeParticipant">DELETE</h4> + <h4 id="http://www.example.com#attachStructure">PUT</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>parentNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>position</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>shortTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>displayType</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>toc</tt></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e122">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e423">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e424">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e123">/repo/courses/{courseId}/file</h3> + <h3 id="d2e425">/repo/courses/{courseId}/elements/singlepage/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2692,21 +2711,30 @@ </td> <td></td> </tr> + <tr> + <td> + <p><strong>nodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getRepoFileById">GET</h4> + <h4 id="http://www.example.com#updateSinglePage">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e126">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e127">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e430">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e431">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e128">/repo/courses/{courseId}/status</h3> + <h3 id="d2e432">/repo/courses/{courseId}/elements/singlepage</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2727,21 +2755,137 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#deleteCoursePermanently">POST</h4> + <h4 id="http://www.example.com#attachSinglePagePost">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e131">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e436">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e447">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e448">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#attachSinglePagePost">POST</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e451">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e452">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#attachSinglePage">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e455">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e456">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#attachSinglePage">PUT</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>parentNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>position</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>shortTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>filename</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>path</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e134">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e135">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e469">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e470">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e137">/repo/courses/{courseId}/runstructure</h3> + <h3 id="d2e471">/repo/courses/{courseId}/elements/task/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2758,20 +2902,34 @@ </td> <td></td> </tr> + <tr> + <td> + <p><strong>nodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#findRunStructureById">GET</h4> + <h4 id="http://www.example.com#updateTask">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e476">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e140">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e485">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e486">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e141">/repo/courses/{courseId}/editortreemodel</h3> + <h3 id="d2e487">/repo/courses/{courseId}/elements/task</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2792,70 +2950,121 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#findEditorTreeModelById">GET</h4> + <h4 id="http://www.example.com#attachTaskPost">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e491">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e144">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e145">/repo/courses/{courseId}/authors/{identityKey}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getAuthor">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e149">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e150">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#addAuthor">PUT</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e153">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e502">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e503">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#removeAuthor">DELETE</h4> + <h4 id="http://www.example.com#attachTask">PUT</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>parentNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>position</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>shortTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>text</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>points</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e156">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e516">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e517">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e157">/repo/courses/{courseId}/authors</h3> + <h3 id="d2e518">/repo/courses/{courseId}/elements/test/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2872,33 +3081,34 @@ </td> <td></td> </tr> + <tr> + <td> + <p><strong>nodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addAuthors">PUT</h4> + <h4 id="http://www.example.com#updateTest">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e160">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e161">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e163">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e523">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getAuthors">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e166">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e167">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e531">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e532">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e168">/repo/courses/{courseId}/resource</h3> + <h3 id="d2e533">/repo/courses/{courseId}/elements/test</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2919,38 +3129,19 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getOlatResource">GET</h4> + <h4 id="http://www.example.com#attachTestPost">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e537">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e171">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e172">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e547">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e548">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e173">/repo/courses/{courseId}/publish<span class="optional">?locale</span><span class="optional">&access</span><span class="optional">&membersOnly</span></h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#publishCourse">POST</h4> + <h4 id="http://www.example.com#attachTest">PUT</h4> <h6>request query parameters</h6> <table> <tr> @@ -2960,7 +3151,7 @@ </tr> <tr> <td> - <p><strong>locale</strong></p> + <p><strong>parentNodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -2969,7 +3160,7 @@ </tr> <tr> <td> - <p><strong>access</strong></p> + <p><strong>position</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> @@ -2978,24 +3169,72 @@ </tr> <tr> <td> - <p><strong>membersOnly</strong></p> + <p><strong>shortTitle</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>testResourceableId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e180">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e181">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e560">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e561">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e182">/repo/courses/{courseId}/groups</h3> + <h3 id="d2e562">/repo/courses/{courseId}/elements/assessment/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3012,34 +3251,34 @@ </td> <td></td> </tr> + <tr> + <td> + <p><strong>nodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getGroupList">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e185">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e186">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putNewGroup">PUT</h4> + <h4 id="http://www.example.com#updateAssessment">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e189">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e190">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e567">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e192">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e193">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e574">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e575">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e194">/repo/courses/{courseId}/groups/{groupKey}</h3> + <h3 id="d2e576">/repo/courses/{courseId}/elements/assessment</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3056,77 +3295,107 @@ </td> <td></td> </tr> - <tr> - <td> - <p><strong>groupKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getGroup">GET</h4> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#attachAssessmentPost">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e198">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e580">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#deleteGroup">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e201">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e589">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e590">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#updateGroup">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e204">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e206">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e207">/repo/courses/{courseId}/groups/version</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <h4 id="http://www.example.com#attachAssessment">PUT</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>parentNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>position</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>shortTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e210">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e601">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e602">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e211">/repo/courses/{courseId}/groups/{groupKey}/folder</h3> + <h3 id="d2e603">/repo/courses/{courseId}/elements/wiki/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3145,10 +3414,10 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>nodeId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> @@ -3156,61 +3425,21 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#listFiles">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e215">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e216">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e217">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e218">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e219">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e222">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e223">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e225">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e226">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postFileToRoot">POST</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e229">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e230">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postFile64ToRoot">POST</h4> + <h4 id="http://www.example.com#updateWiki">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e233">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e238">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e239">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e608">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFileToRoot">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e242">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e243">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e616">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e617">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e244">/repo/courses/{courseId}/groups/{groupKey}/folder/{path:.*}</h3> + <h3 id="d2e619">/repo/courses/{courseId}/elements/wiki<span class="optional">?parentNodeId</span><span class="optional">&position</span><span class="optional">&shortTitle</span><span class="optional">&longTitle</span><span class="optional">&objectives</span><span class="optional">&visibilityExpertRules</span><span class="optional">&accessExpertRules</span><span class="optional">&wikiResourceableId</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3227,141 +3456,195 @@ </td> <td></td> </tr> - <tr> - <td> - <p><strong>groupKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>path</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#listFiles">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e248">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e249">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e250">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e251">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e252">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFolders">PUT</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e255">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e256">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#deleteItem">DELETE</h4> + <h4 id="http://www.example.com#attachWikiPost">POST</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>parentNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>position</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>shortTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>wikiResourceableId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e259">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e260">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e632">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e633">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putFileToFolder">PUT</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e263">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e264">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e265">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e268">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e269">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e271">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e272">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postFileToFolder">POST</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e275">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e276">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e277">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e280">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e285">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e286">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e287">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e288">/repo/courses/{courseId}/groups/{groupKey}/folder/version</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>groupKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <h4 id="http://www.example.com#attachWiki">PUT</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>parentNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>position</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>shortTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>wikiResourceableId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e291">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e645">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e646">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e292">/repo/courses/{courseId}/groups/{groupKey}/folder/metadata/{path:.*}</h3> + <h3 id="d2e647">/repo/courses/{courseId}/elements/blog/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3380,16 +3663,7 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>path</strong></p> + <p><strong>nodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -3400,71 +3674,21 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFileMetadata">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e296">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e297">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e298">/repo/courses/{courseId}/groups/{groupKey}/forum</h3> - <p>Description:<br> - Web service to manage a forum. - - <P> - Initial Date: 20 apr. 2010 <br> - </p> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>groupKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getForum">GET</h4> - <p>Retrieves the forum.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e308">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#updateBlog">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e321"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e652">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e327"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e660">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e661">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e330">/repo/courses/{courseId}/groups/{groupKey}/forum/threads<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> + <h3 id="d2e662">/repo/courses/{courseId}/elements/blog<span class="optional">?parentNodeId</span><span class="optional">&position</span><span class="optional">&shortTitle</span><span class="optional">&longTitle</span><span class="optional">&objectives</span><span class="optional">&visibilityExpertRules</span><span class="optional">&accessExpertRules</span><span class="optional">&repoEntry</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3481,21 +3705,11 @@ </td> <td></td> </tr> - <tr> - <td> - <p><strong>groupKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getThreads">GET</h4> - <p>Retrieves the threads in the forum</p> + <h4 id="http://www.example.com#attachBlogPost">POST</h4> <h6>request query parameters</h6> <table> <tr> @@ -3505,65 +3719,88 @@ </tr> <tr> <td> - <p><strong>start</strong></p> + <p><strong>parentNodeId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>limit</strong></p> + <p><strong>position</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>orderBy</strong></p> + <p><strong>shortTitle</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>creationDate</tt></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> </td> <td> - <p>(value name,creationDate)</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>asc</strong></p> + <p><strong>objectives</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> </td> <td> - <p>(value true/false)</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e346">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e359"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>repoEntry</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e365"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e675">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e676">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#newThreadToForum">PUT</h4> - <p>Creates a new thread in the forum of the course node</p> + <h4 id="http://www.example.com#attachBlog">PUT</h4> <h6>request query parameters</h6> <table> <tr> @@ -3573,186 +3810,90 @@ </tr> <tr> <td> - <p><strong>title</strong></p> + <p><strong>parentNodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>position</strong></p> + </td> <td> - <p>The title for the first post in the thread</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>body</strong></p> + <p><strong>shortTitle</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> </td> - <td> - <p>The body for the first post in the thread</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>authorKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><strong>longTitle</strong></p> </td> <td> - <p>The author user key (optional)</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e384">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e397"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e403"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#newThreadToForumPost">POST</h4> - <p>Creates a new thread in the forum of the course node</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e410">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e417">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e430"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e436"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e439">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{threadKey}<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>groupKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>threadKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the thread</p> - </td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getMessages">GET</h4> - <p>Retrieves the messages in the thread</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> + <td></td> </tr> <tr> <td> - <p><strong>start</strong></p> + <p><strong>objectives</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>limit</strong></p> + <p><strong>visibilityExpertRules</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>orderBy</strong></p> + <p><strong>accessExpertRules</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>creationDate</tt></p> - </td> - <td> - <p>(value name, creationDate)</p> </td> + <td></td> </tr> <tr> <td> - <p><strong>asc</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> + <p><strong>repoEntry</strong></p> </td> <td> - <p>(value true/false)</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e458">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e471"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e477"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e688">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e689">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e480">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}</h3> + <h3 id="d2e690">/repo/courses/{courseId}/elements/survey/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3771,71 +3912,53 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>nodeId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> - <tr> - <td> - <p><strong>messageKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The id of the reply message</p> - </td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#replyToPostPost">POST</h4> - <p>Creates a new reply in the forum of the course node</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e488">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e501">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e514"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e520"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPost">PUT</h4> - <p>Creates a new reply in the forum of the course node</p> + <h4 id="http://www.example.com#attachSurveyPost">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e527">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e528">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e532">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e695">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e545"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e551"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e703">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e704">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e705">/repo/courses/{courseId}/elements/survey<span class="optional">?parentNodeId</span><span class="optional">&position</span><span class="optional">&shortTitle</span><span class="optional">&longTitle</span><span class="optional">&objectives</span><span class="optional">&visibilityExpertRules</span><span class="optional">&accessExpertRules</span><span class="optional">&surveyResourceableId</span></h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#replyToPost">PUT</h4> - <p>Creates a new reply in the forum of the course node</p> + <h4 id="http://www.example.com#attachSurveyPost">POST</h4> <h6>request query parameters</h6> <table> <tr> @@ -3845,55 +3968,181 @@ </tr> <tr> <td> - <p><strong>title</strong></p> + <p><strong>parentNodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> + </tr> + <tr> <td> - <p>The title for the first post in the thread</p> + <p><strong>position</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>body</strong></p> + <p><strong>shortTitle</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> </td> - <td> - <p>The body for the first post in the thread</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>authorKey</strong></p> + <p><strong>longTitle</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> </td> - <td> - <p>The author user key (optional)</p> + <td></td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>surveyResourceableId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e570">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e583"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e718">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e719">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#attachSurvey">PUT</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>parentNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>position</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>shortTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>surveyResourceableId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e589"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e731">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e732">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e592">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments</h3> + <h3 id="d2e733">/repo/courses/{courseId}/elements/externalpage/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3903,106 +4152,41 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>parentNodeId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> - <tr> - <td> - <p><strong>messageKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the message</p> - </td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getAttachments">GET</h4> - <p>Retrieves the attachments of the message</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e602">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e608"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e615">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e621">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e627"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">PUT</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> + <h4 id="http://www.example.com#updateExternalPage">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e634">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e635">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e639">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e645"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e654">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e738">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e660"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e746">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e747">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e663">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</h3> + <h3 id="d2e748">/repo/courses/{courseId}/elements/externalpage<span class="optional">?parentNodeId</span><span class="optional">&position</span><span class="optional">&shortTitle</span><span class="optional">&longTitle</span><span class="optional">&objectives</span><span class="optional">&visibilityExpertRules</span><span class="optional">&accessExpertRules</span><span class="optional">&url</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4019,140 +4203,11 @@ </td> <td></td> </tr> - <tr> - <td> - <p><strong>groupKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>messageKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The identity key of the user being searched</p> - </td> - </tr> - <tr> - <td> - <p><strong>filename</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The name of the attachment</p> - </td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getAttachment">GET</h4> - <p>Retrieves the attachment of the message</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e676">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e682"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e685">/repo/courses/{courseId}/calendar</h3> - <p>Initial date: 23.12.2015<br></p> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e688">/repo/courses/{courseId}/calendar/events/{eventId}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>eventId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#deleteEventByCalendar">DELETE</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e692">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e693">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e694">/repo/courses/{courseId}/calendar/events<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&onlyFuture</span></h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getEventsByCalendar">GET</h4> + <h4 id="http://www.example.com#attachExternalPagePost">POST</h4> <h6>request query parameters</h6> <table> <tr> @@ -4162,71 +4217,181 @@ </tr> <tr> <td> - <p><strong>start</strong></p> + <p><strong>parentNodeId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>limit</strong></p> + <p><strong>position</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>onlyFuture</strong></p> + <p><strong>shortTitle</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>url</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e701">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e702">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putEventsByCalendar">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e705">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e706">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e708">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e709">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e761">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e762">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postEventsByCalendar">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e712">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e713">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#attachExternalPage">PUT</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>parentNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>position</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>shortTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>url</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e715">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e716">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e774">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e775">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e717">/repo/courses/{courseId}/calendar/event</h3> + <h3 id="d2e776">/repo/courses/{courseId}/elements/task/{nodeId}/file</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4243,41 +4408,38 @@ </td> <td></td> </tr> + <tr> + <td> + <p><strong>nodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#putEventByCalendar">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e720">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e721">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#attachTaskFilePost">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e723">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e724">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e781">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e782">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postEventByCalendar">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e727">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e728">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e729">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#attachTaskFile">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e731">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e732">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e785">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e786">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e733">/repo/courses/{courseId}/vitero/{subIdentifier}</h3> - <p>Initial date: 14.07.2015<br></p> + <h3 id="d2e787">/repo/courses/{courseId}/elements/task/{nodeId}/configuration<span class="optional">?enableAssignment</span><span class="optional">&taskAssignmentType</span><span class="optional">&taskAssignmentText</span><span class="optional">&enableTaskPreview</span><span class="optional">&enableTaskDeselect</span><span class="optional">&onlyOneUserPerTask</span><span class="optional">&enableDropbox</span><span class="optional">&enableDropboxConfirmationMail</span><span class="optional">&dropboxConfirmationText</span><span class="optional">&enableReturnbox</span><span class="optional">&enableScoring</span><span class="optional">&grantScoring</span><span class="optional">&scoreMin</span><span class="optional">&scoreMax</span><span class="optional">&grantPassing</span><span class="optional">&scorePassingThreshold</span><span class="optional">&enableCommentField</span><span class="optional">&commentForUser</span><span class="optional">&commentForCoaches</span><span class="optional">&enableSolution</span><span class="optional">&accessExpertRuleTask</span><span class="optional">&accessExpertRuleDropbox</span><span class="optional">&accessExpertRuleReturnbox</span><span class="optional">&accessExpertRuleScoring</span><span class="optional">&accessExpertRuleSolution</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4296,7 +4458,7 @@ </tr> <tr> <td> - <p><strong>subIdentifier</strong></p> + <p><strong>nodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -4307,43 +4469,499 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#createRoom">PUT</h4> - <p>Return the created or updated booking</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e741">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e742">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e746">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#updateRoom">POST</h4> - <p>Return the created or updated booking</p> - <p><em>acceptable request representations:</em></p> + <h4 id="http://www.example.com#addTaskConfigurationPost">POST</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>enableAssignment</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>taskAssignmentType</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>taskAssignmentText</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableTaskPreview</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableTaskDeselect</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>onlyOneUserPerTask</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableDropbox</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableDropboxConfirmationMail</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>dropboxConfirmationText</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableReturnbox</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableScoring</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>grantScoring</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>scoreMin</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>scoreMax</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>grantPassing</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>scorePassingThreshold</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableCommentField</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>commentForUser</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>commentForCoaches</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableSolution</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRuleTask</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRuleDropbox</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRuleReturnbox</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRuleScoring</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRuleSolution</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e760">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e761">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e820">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e821">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#addTaskConfiguration">PUT</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>enableAssignment</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>taskAssignmentType</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>taskAssignmentText</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableTaskPreview</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableTaskDeselect</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>onlyOneUserPerTask</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableDropbox</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableDropboxConfirmationMail</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>dropboxConfirmationText</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableReturnbox</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableScoring</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>grantScoring</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>scoreMin</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>scoreMax</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>grantPassing</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>scorePassingThreshold</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableCommentField</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>commentForUser</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>commentForCoaches</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>enableSolution</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRuleTask</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRuleDropbox</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRuleReturnbox</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRuleScoring</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRuleSolution</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e765">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e852">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e853">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#getRooms">GET</h4> - <p>returns the list of booking of the resource.</p> + <h4 id="http://www.example.com#getTaskConfiguration">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e781">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e856">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e857">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e791">/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}/members</h3> + <h3 id="d2e858">/repo/courses/{courseId}/elements/survey/{nodeId}/configuration<span class="optional">?allowCancel</span><span class="optional">&allowNavigation</span><span class="optional">&allowSuspend</span><span class="optional">&sequencePresentation</span><span class="optional">&showNavigation</span><span class="optional">&showQuestionTitle</span><span class="optional">&showSectionsOnly</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4362,135 +4980,200 @@ </tr> <tr> <td> - <p><strong>subIdentifier</strong></p> + <p><strong>nodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> - <tr> - <td> - <p><strong>bookingId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td> - <p>The id of the booking</p> - </td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getMembers">GET</h4> - <p>Returns the list of members of the booking.</p> + <h4 id="http://www.example.com#addSurveyConfigurationPost">POST</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>allowCancel</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>allowNavigation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>allowSuspend</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>sequencePresentation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>itemPage</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showNavigation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showQuestionTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showSectionsOnly</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e801">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e871">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e872">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#addMembers">POST</h4> - <p>Update the list of members of the booking, it add and mutates the - members and delete the missing members. - </p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e815">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e816">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#addSurveyConfiguration">PUT</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>allowCancel</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>allowNavigation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>allowSuspend</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>sequencePresentation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>itemPage</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showNavigation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showQuestionTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showSectionsOnly</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e820">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e883">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e884">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e830">/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>subIdentifier</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>bookingId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#deleteRoom">DELETE</h4> - <p>Delete the booking</p> + <h4 id="http://www.example.com#getSurveyConfiguration">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e838"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e887">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e888">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e841">/repo/courses/{courseId}/gotomeeting/{subIdentifier}</h3> - <p>Initial date: 24.03.2016<br></p> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>subIdentifier</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e845">/repo/courses/{courseId}/gotomeeting/{subIdentifier}/trainings</h3> + <h3 id="d2e889">/repo/courses/{courseId}/elements/test/{nodeId}/configuration<span class="optional">?allowCancel</span><span class="optional">&allowNavigation</span><span class="optional">&allowSuspend</span><span class="optional">&numAttempts</span><span class="optional">&sequencePresentation</span><span class="optional">&showNavigation</span><span class="optional">&showQuestionTitle</span><span class="optional">&showResultsAfterFinish</span><span class="optional">&showResultsDependendOnDate</span><span class="optional">&showResultsOnHomepage</span><span class="optional">&showScoreInfo</span><span class="optional">&showQuestionProgress</span><span class="optional">&showScoreProgress</span><span class="optional">&showSectionsOnly</span><span class="optional">&summaryPresentation</span><span class="optional">&startDate</span><span class="optional">&endDate</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4509,7 +5192,7 @@ </tr> <tr> <td> - <p><strong>subIdentifier</strong></p> + <p><strong>nodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -4520,43 +5203,385 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTrainings">GET</h4> - <p>returns the list of booking of the resource.</p> + <h4 id="http://www.example.com#addTestConfigurationPost">POST</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>allowCancel</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>allowNavigation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>allowSuspend</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>numAttempts</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>sequencePresentation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>itemPage</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showNavigation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showQuestionTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showResultsAfterFinish</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showResultsDependendOnDate</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showResultsOnHomepage</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showScoreInfo</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showQuestionProgress</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showScoreProgress</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showSectionsOnly</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>summaryPresentation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>summaryCompact</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>startDate</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>endDate</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e852">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> + <li><a href="#d2e913">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e914">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#createTraining">PUT</h4> - <p>Return the created or updated training</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e866">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - <li><a href="#d2e867">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#addTestConfiguration">PUT</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>allowCancel</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>allowNavigation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>allowSuspend</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>numAttempts</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>sequencePresentation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>itemPage</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showNavigation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showQuestionTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showResultsAfterFinish</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showResultsDependendOnDate</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showResultsOnHomepage</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showScoreInfo</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showQuestionProgress</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showScoreProgress</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>showSectionsOnly</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>summaryPresentation</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>summaryCompact</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>startDate</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>endDate</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e871">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> + <li><a href="#d2e936">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e937">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#updateTraining">POST</h4> - <p>Return the created or updated training</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e885">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - <li><a href="#d2e886">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getTestConfiguration">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e890">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> + <li><a href="#d2e940">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e941">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e900">/repo/courses/{courseId}/gotomeeting/{subIdentifier}//trainings/{trainingKey}</h3> + <h3 id="d2e943">/repo/courses/{courseId}/elements/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4575,95 +5600,41 @@ </tr> <tr> <td> - <p><strong>subIdentifier</strong></p> + <p><strong>nodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> - <tr> - <td> - <p><strong>trainingKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#deleteTraining">DELETE</h4> - <p>Delete the training</p> + <h4 id="http://www.example.com#getCourseNode">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e908"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e948">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e949">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e911">/repo/courses/{courseId}/lectureblocks</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> + <h3 id="d2e950">/repo/courses/{courseId}/elements/version</h3> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getLectureBlocks">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e914">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e915">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putLectureBlocks">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e918">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e919">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e921">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e922">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postLectureBlocks">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e925">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e926">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e927">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e929">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e930">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e953">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e931">/repo/courses/{courseId}/lectureblocks/configuration</h3> + <h3 id="d2e954">/users/{identityKey}/calendars</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4673,7 +5644,7 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -4684,31 +5655,17 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getConfiguration">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e934">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e935">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#updateConfiguration">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e938">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e939">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - <li><a href="#d2e940">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getCalendars">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e942">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e943">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e958">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e959">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e944">/repo/courses/{courseId}/lectureblocks/sync/calendar</h3> + <h3 id="d2e960">/users/{identityKey}/calendars/events<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&onlyFuture</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4718,37 +5675,16 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#syncCalendar">POST</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e947">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e948">/repo/courses/{courseId}/lectureblocks/adaptation</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -4759,16 +5695,56 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#adapatation">GET</h4> + <h4 id="http://www.example.com#getEvents">GET</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>start</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>limit</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>onlyFuture</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e951">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e968">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e969">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e952">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}</h3> + <h3 id="d2e970">/users/{identityKey}/calendars/{calendarId}</h3> + <p>Initial date: 23.12.2015<br></p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4778,7 +5754,7 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -4787,7 +5763,16 @@ </tr> <tr> <td> - <p><strong>lectureBlockKey</strong></p> + <p><strong>calendarId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -4796,26 +5781,10 @@ </tr> </table> <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#deleteLectureBlock">DELETE</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e956">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getLectureBlock">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e959">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e960">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> + <div class="methods"></div> </div> <div class="resource"> - <h3 id="d2e961">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers</h3> + <h3 id="d2e975">/users/{identityKey}/calendars/{calendarId}/events/{eventId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4825,7 +5794,7 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -4834,28 +5803,46 @@ </tr> <tr> <td> - <p><strong>lectureBlockKey</strong></p> + <p><strong>calendarId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>eventId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTeacher">GET</h4> + <h4 id="http://www.example.com#deleteEventByCalendar">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e964">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e965">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e979">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e980">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e966">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</h3> + <h3 id="d2e981">/users/{identityKey}/calendars/{calendarId}/events<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&onlyFuture</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4865,7 +5852,7 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -4874,7 +5861,16 @@ </tr> <tr> <td> - <p><strong>lectureBlockKey</strong></p> + <p><strong>calendarId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -4885,23 +5881,81 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addRepositoryEntryParticipantGroup">PUT</h4> + <h4 id="http://www.example.com#getEventsByCalendar">GET</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>start</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>limit</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>onlyFuture</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e988">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e989">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putEventsByCalendar">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e992">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e993">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e969">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e995">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e996">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#deleteRepositoryEntryParticipantGroup">DELETE</h4> + <h4 id="http://www.example.com#postEventsByCalendar">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e999">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1000">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e972">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1002">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1003">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e973">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</h3> + <h3 id="d2e1004">/users/{identityKey}/calendars/{calendarId}/event</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4911,7 +5965,7 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -4920,10 +5974,10 @@ </tr> <tr> <td> - <p><strong>lectureBlockKey</strong></p> + <p><strong>calendarId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> @@ -4940,23 +5994,50 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addTeacher">PUT</h4> + <h4 id="http://www.example.com#putEventByCalendar">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e1007">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e1008">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e977">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1010">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1011">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#removeTeacher">DELETE</h4> + <h4 id="http://www.example.com#postEventByCalendar">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e1014">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1015">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e1016">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1018">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1019">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e1020">/catalog</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getRoots">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e980">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1023">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1024">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e981">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/sync/calendar</h3> + <h3 id="d2e1025">/catalog/{path:.*}/owners/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4966,16 +6047,16 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>path</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>lectureBlockKey</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -4986,30 +6067,30 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#syncCalendar">POST</h4> + <h4 id="http://www.example.com#getOwner">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e984">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1030">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e985">/catalog</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getRoots">GET</h4> + <h4 id="http://www.example.com#addOwner">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e988">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e989">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1033">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#removeOwner">DELETE</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1036">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e990">/catalog/{path:.*}/children<span class="optional">?start</span><span class="optional">&limit</span></h3> + <h3 id="d2e1037">/catalog/{path:.*}/children<span class="optional">?start</span><span class="optional">&limit</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5061,14 +6142,14 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e997">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e998">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1044">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1045">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e999">/catalog/{path:.*}/owners/{identityKey}</h3> + <h3 id="d2e1046">/catalog/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5085,81 +6166,28 @@ </td> <td></td> </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getOwner">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1004">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#addOwner">PUT</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1007">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#removeOwner">DELETE</h4> + <h4 id="http://www.example.com#getCatalogEntry">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1010">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1050">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1051">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1011">/catalog/version</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#addCatalogEntry">PUT</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1014">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1054">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e1055">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1015">/catalog/{path:.*}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>path</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getCatalogEntry">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1019">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1020">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1057">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1058">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -5210,63 +6238,20 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1028">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1029">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#addCatalogEntry">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1032">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> - <li><a href="#d2e1033">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1035">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1036">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1066">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1067">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#updatePostCatalogEntry">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1039">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1044">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1045">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#updateCatalogEntry">POST</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>newParentKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1049">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> - <li><a href="#d2e1050">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e1070">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1052">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1053">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1075">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1076">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -5278,24 +6263,6 @@ <th>value</th> <th>description</th> </tr> - <tr> - <td> - <p><strong>name</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>description</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> <tr> <td> <p><strong>newParentKey</strong></p> @@ -5306,126 +6273,72 @@ <td></td> </tr> </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1060">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1061">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#deleteCatalogEntry">DELETE</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1064">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1065">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1066">/catalog/{path:.*}/owners</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>path</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getOwners">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1070">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1071">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1072">/users/{username}/auth</h3> - <p>This web service handles functionalities related to authentication credentials of users.</p> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>username</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The username of the user to retrieve authentication</p> - </td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#create">PUT</h4> - <p>Creates and persists an authentication</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1082">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> - <li><a href="#d2e1083">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> + <li><a href="#d2e1080">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e1081">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1087">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1100"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1106"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1112"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1118"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1083">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1084">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#getAuthenticationTokenList">GET</h4> - <p>Returns all user authentications</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1125">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#updateCatalogEntry">POST</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>name</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>description</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>newParentKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1136"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1091">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1092">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#deleteCatalogEntry">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1140"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1095">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1096">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1143">/users/{username}/auth/{authKey}</h3> + <h3 id="d2e1097">/catalog/{path:.*}/owners</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5435,93 +6348,54 @@ </tr> <tr> <td> - <p><strong>username</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The username of the user to retrieve authentication</p> - </td> - </tr> - <tr> - <td> - <p><strong>authKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The authentication key identifier</p> - </td> - </tr> - <tr> - <td> - <p><strong>username</strong></p> + <p><strong>path</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td> - <p>The username of the user</p> - </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#delete">DELETE</h4> - <p>Deletes an authentication from the system</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1156"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getOwners">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1162"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1101">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1102">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e1103">/catalog/version</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1168"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1106">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1171">/users/{username}/auth/version</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>username</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The username of the user to retrieve authentication</p> - </td> - </tr> - </table> + <h3 id="d2e1107">/ping</h3> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> - <p>The version of the User Authentication Web Service</p> + <h4 id="http://www.example.com#ping">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1178">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1110">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1188">/users/{username}/auth/password</h3> + <h3 id="d2e1111">/ping/{name}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5531,131 +6405,40 @@ </tr> <tr> <td> - <p><strong>username</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The username of the user to retrieve authentication</p> - </td> - </tr> - <tr> - <td> - <p><strong>username</strong></p> + <p><strong>name</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td> - <p>The username of the user to change the password</p> - </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#changePassword">POST</h4> - <p>Change the password of a user.</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1196">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1203"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1209"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1215"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#ping">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1221"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1115">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1224">/i18n</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e1225">/i18n/version</h3> + <h3 id="d2e1116">/ping/version</h3> <h6>Methods</h6> <div class="methods"> <div class="method"> <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1228">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1229">/i18n/{package}/{key}<span class="optional">?locale</span></h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>package</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>key</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getTranslation">GET</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>locale</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1236">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1119">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1237">/users</h3> + <h3 id="d2e1120">/users</h3> <p>This web service handles functionalities related to <code>User</code>.</p> <h6>Methods</h6> <div class="methods"> @@ -5664,20 +6447,20 @@ <p>Creates and persists a new user entity</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1244">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> - <li><a href="#d2e1245">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> + <li><a href="#d2e1127">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> + <li><a href="#d2e1128">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1249">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1132">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1262"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1145"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1268">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1151">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -5741,17 +6524,17 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1289">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>)</a></li> + <li><a href="#d2e1172">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1302"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1185"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1305">/users/{identityKey}</h3> + <h3 id="d2e1188">/users/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5778,24 +6561,24 @@ <p>Update an user</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1313">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> - <li><a href="#d2e1314">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> + <li><a href="#d2e1196">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> + <li><a href="#d2e1197">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1318">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>)</a></li> + <li><a href="#d2e1201">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1331"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1214"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1337"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1220"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1343">application/xml, application/json (<abbr title="{http://www.example.com} errorVO">ns3:errorVO</abbr>)</a></li> + <li><a href="#d2e1226">application/xml, application/json (<abbr title="{http://www.example.com} errorVO">ns3:errorVO</abbr>)</a></li> </ul> </div> <div class="method"> @@ -5803,15 +6586,15 @@ <p>Delete an user from the system</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1359"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1242"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1365"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1248"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1371"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1254"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -5839,21 +6622,98 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1384">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1267">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1280"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1286"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e1289">/users/{identityKey}/portrait</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The identity key identifier of the user being searched</p> + </td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getPortrait">GET</h4> + <p>Retrieves the portrait of an user</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1299">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1305"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getPortraitHead">HEAD</h4> + <p>Retrieves the portrait of an user</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1314">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1397"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1320"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postPortrait">POST</h4> + <p>Upload the portrait of an user</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1329">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1335"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1341"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#deletePortrait">DELETE</h4> + <p>Deletes the portrait of an user</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1350"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1403"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1356"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1406">/users/{identityKey}/status</h3> + <h3 id="d2e1359">/users/{identityKey}/status</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5880,15 +6740,15 @@ <p>Retrieves the status of a user given its unique key identifier</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1416">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1369">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1429"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1382"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1435"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1388"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -5903,26 +6763,26 @@ </p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1442">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> - <li><a href="#d2e1443">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> + <li><a href="#d2e1395">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> + <li><a href="#d2e1396">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1447">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1400">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1460"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1413"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1466"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1419"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1469">/users/{identityKey}/roles</h3> + <h3 id="d2e1422">/users/{identityKey}/roles</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5949,15 +6809,15 @@ <p>Retrieves the roles of a user given its unique key identifier</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1479">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1432">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1492"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1445"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1498"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1451"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -5965,54 +6825,40 @@ <p>Update the roles of a user given its unique key identifier</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1505">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> - <li><a href="#d2e1506">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> + <li><a href="#d2e1458">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> + <li><a href="#d2e1459">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1510">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1463">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1523"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1476"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1529"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1532">/users/version</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> - <p>The version of the User Web Service</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1539">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1482"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1549">/users/managed</h3> + <h3 id="d2e1485">/users/managed</h3> <h6>Methods</h6> <div class="methods"> <div class="method"> <h4 id="http://www.example.com#getManagedUsers">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1552">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1553">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1488">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1489">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1554">/users/{identityKey}/preferences</h3> + <h3 id="d2e1490">/users/{identityKey}/preferences</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6039,15 +6885,15 @@ <p>Retrieves the preferences of a user given its unique key identifier</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1564">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1500">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1577"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1513"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1583"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1519"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -6055,103 +6901,26 @@ <p>Update the preferences of a user given its unique key identifier</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1590">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> - <li><a href="#d2e1591">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1595">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1608"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1614"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1617">/users/{identityKey}/portrait</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The identity key of the user being searched</p> - </td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getPortraitHead">HEAD</h4> - <p>Retrieves the portrait of an user</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1627">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1633"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postPortrait">POST</h4> - <p>Upload the portrait of an user</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1642">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1648"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1654"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1526">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> + <li><a href="#d2e1527">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#deletePortrait">DELETE</h4> - <p>Deletes the portrait of an user</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1663"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1531">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1669"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getPortrait">GET</h4> - <p>Retrieves the portrait of an user</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1678">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1544"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1684"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1550"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1687">/users/{identityKey}/portrait/{size}</h3> + <h3 id="d2e1553">/users/{identityKey}/portrait/{size}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6185,17 +6954,31 @@ <p>Retrieves the portrait of an user</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1696">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1562">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1568"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e1571">/users/version</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getVersion">GET</h4> + <p>The version of the User Web Service</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1702"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1578">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1706">/users/{identityKey}/folders</h3> + <h3 id="d2e1589">/users/{identityKey}/folders</h3> <p>Description:<br> <P> @@ -6228,17 +7011,17 @@ </p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1716">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>)</a></li> + <li><a href="#d2e1599">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1729"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1612"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1732">/users/{identityKey}/folders/group/{groupKey}</h3> + <h3 id="d2e1615">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6257,13 +7040,22 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>courseKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>courseNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> @@ -6271,58 +7063,58 @@ <h4 id="http://www.example.com#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1736">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1737">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1738">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1739">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1740">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1743">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1744">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1746">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1747">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1620">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1621">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1622">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1623">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1624">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#postFileToRoot">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1750">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1751">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1627">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1628">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#postFile64ToRoot">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1754">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1631">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1759">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1760">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1636">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#putFileToRoot">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1763">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1764">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1640">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1641">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e1644">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1645">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1647">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1648">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1765">/users/{identityKey}/folders/group/{groupKey}/{path:.*}</h3> + <h3 id="d2e1649">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6341,13 +7133,22 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>courseKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>courseNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> <tr> <td> <p><strong>path</strong></p> @@ -6364,77 +7165,77 @@ <h4 id="http://www.example.com#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1769">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1770">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1771">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1772">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1773">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1653">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1654">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1655">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1656">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1657">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putFolders">PUT</h4> + <h4 id="http://www.example.com#postFileToFolder">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1776">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1777">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1660">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1661">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1662">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#deleteItem">DELETE</h4> + <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e1665">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1780">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1781">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1670">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1671">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1672">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#putFileToFolder">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1784">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1785">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1786">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1675">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1676">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1677">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1789">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1790">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1680">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1681">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1792">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1793">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1683">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1684">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postFileToFolder">POST</h4> + <h4 id="http://www.example.com#putFolders">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1796">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1797">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1798">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1687">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1688">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1801">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#deleteItem">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1806">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1807">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1808">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1691">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1692">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1809">/users/{identityKey}/folders/group/{groupKey}/version</h3> + <h3 id="d2e1693">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/metadata/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6453,27 +7254,46 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>courseKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>courseNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>path</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <h4 id="http://www.example.com#getFileMetadata">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1812">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1697">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1698">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1813">/users/{identityKey}/folders/group/{groupKey}/metadata/{path:.*}</h3> + <h3 id="d2e1699">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6492,7 +7312,7 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>courseKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -6501,7 +7321,7 @@ </tr> <tr> <td> - <p><strong>path</strong></p> + <p><strong>courseNodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -6512,17 +7332,16 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFileMetadata">GET</h4> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1817">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1818">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1702">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1819">/users/{identityKey}/folders/personal</h3> + <h3 id="d2e1703">/users/{identityKey}/folders/personal</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6546,58 +7365,58 @@ <h4 id="http://www.example.com#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1822">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1823">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1824">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1825">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1826">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1829">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1830">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1832">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1833">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1706">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1707">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1708">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1709">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1710">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#postFileToRoot">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1836">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1837">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1713">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1714">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#postFile64ToRoot">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1840">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1717">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1845">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1846">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1722">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1723">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#putFileToRoot">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1849">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1850">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1726">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1727">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e1730">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1731">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1733">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1851">/users/{identityKey}/folders/personal/{path:.*}</h3> + <h3 id="d2e1735">/users/{identityKey}/folders/personal/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6630,77 +7449,77 @@ <h4 id="http://www.example.com#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1855">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1856">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1857">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1858">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1859">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1739">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1740">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1741">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1742">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1743">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putFolders">PUT</h4> + <h4 id="http://www.example.com#postFileToFolder">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1862">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1863">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1746">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1747">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1748">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#deleteItem">DELETE</h4> + <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e1751">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1866">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1867">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1756">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1757">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1758">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#putFileToFolder">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1870">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1871">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1872">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1761">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1762">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1763">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1875">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1876">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1766">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1767">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1878">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1879">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1769">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1770">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postFileToFolder">POST</h4> + <h4 id="http://www.example.com#putFolders">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1882">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1883">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1884">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1773">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1774">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1887">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#deleteItem">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1892">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1893">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1894">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1777">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1778">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1895">/users/{identityKey}/folders/personal/version</h3> + <h3 id="d2e1779">/users/{identityKey}/folders/personal/metadata/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6717,20 +7536,30 @@ </td> <td></td> </tr> + <tr> + <td> + <p><strong>path</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <h4 id="http://www.example.com#getFileMetadata">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1898">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1783">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1784">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1899">/users/{identityKey}/folders/personal/metadata/{path:.*}</h3> + <h3 id="d2e1785">/users/{identityKey}/folders/personal/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6743,16 +7572,7 @@ <p><strong>identityKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>path</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> @@ -6760,17 +7580,16 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFileMetadata">GET</h4> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1903">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1904">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1788">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1905">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}</h3> + <h3 id="d2e1789">/users/{identityKey}/folders/group/{groupKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6789,22 +7608,13 @@ </tr> <tr> <td> - <p><strong>courseKey</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> - <tr> - <td> - <p><strong>courseNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> </table> <h6>Methods</h6> <div class="methods"> @@ -6812,58 +7622,58 @@ <h4 id="http://www.example.com#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1910">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1911">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1912">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1913">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1914">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1917">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1918">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1920">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1921">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1793">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1794">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1795">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1796">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1797">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#postFileToRoot">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1924">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1925">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1800">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1801">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#postFile64ToRoot">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1928">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1804">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1933">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1934">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1809">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1810">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#putFileToRoot">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1937">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1938">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1813">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1814">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e1817">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1818">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1820">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1821">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1939">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/{path:.*}</h3> + <h3 id="d2e1822">/users/{identityKey}/folders/group/{groupKey}/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6882,22 +7692,13 @@ </tr> <tr> <td> - <p><strong>courseKey</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> - <tr> - <td> - <p><strong>courseNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> <tr> <td> <p><strong>path</strong></p> @@ -6914,125 +7715,77 @@ <h4 id="http://www.example.com#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1943">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1944">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1945">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1946">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1947">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1826">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1827">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1828">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1829">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1830">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putFolders">PUT</h4> + <h4 id="http://www.example.com#postFileToFolder">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1950">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1951">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1833">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1834">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1835">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#deleteItem">DELETE</h4> + <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e1838">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1954">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1955">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1843">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1844">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1845">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#putFileToFolder">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1958">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1959">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1960">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1848">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1849">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1850">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1963">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1964">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1966">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1967">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1853">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1854">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postFileToFolder">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1970">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1971">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1972">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1856">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1857">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1975">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#putFolders">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1980">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1981">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1982">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1860">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1861">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1983">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/version</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>courseKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>courseNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <h4 id="http://www.example.com#deleteItem">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1986">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1864">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1865">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1987">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/metadata/{path:.*}</h3> + <h3 id="d2e1866">/users/{identityKey}/folders/group/{groupKey}/metadata/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7051,22 +7804,13 @@ </tr> <tr> <td> - <p><strong>courseKey</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> - <tr> - <td> - <p><strong>courseNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> <tr> <td> <p><strong>path</strong></p> @@ -7083,103 +7827,14 @@ <h4 id="http://www.example.com#getFileMetadata">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1991">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1992">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1993">/users/{identityKey}/courses</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e1995">/users/{identityKey}/courses/my<span class="optional">?start</span><span class="optional">&limit</span></h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getMyCourses">GET</h4> - <p>Retrieves the list of "My entries" but limited to courses.</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>start</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td> - <p>The first result</p> - </td> - </tr> - <tr> - <td> - <p><strong>limit</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> - </td> - <td> - <p>Max result</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2009">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2022"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1870">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1871">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2025">/users/{identityKey}/courses/teached<span class="optional">?start</span><span class="optional">&limit</span></h3> + <h3 id="d2e1872">/users/{identityKey}/folders/group/{groupKey}/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7196,67 +7851,9 @@ </td> <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getTeachedCourses">GET</h4> - <p>Retrieves the list of "My supervised courses" but limited to courses.</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>start</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td> - <p>The first result</p> - </td> - </tr> - <tr> - <td> - <p><strong>limit</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> - </td> - <td> - <p>Max result</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2039">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2052"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e2055">/users/{identityKey}/courses/favorite<span class="optional">?start</span><span class="optional">&limit</span></h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -7267,53 +7864,16 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFavoritCourses">GET</h4> - <p>Retrieves the list of my favorite courses.</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>start</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td> - <p>The first result</p> - </td> - </tr> - <tr> - <td> - <p><strong>limit</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> - </td> - <td> - <p>Max result</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2069">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2082"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1875">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2085">/users/{identityKey}/groups<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&externalId</span><span class="optional">&managed</span></h3> + <h3 id="d2e1876">/users/{identityKey}/courses</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7332,65 +7892,10 @@ </tr> </table> <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getUserGroupList">GET</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>start</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>limit</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>externalId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>managed</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2094">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2095">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> + <div class="methods"></div> </div> <div class="resource"> - <h3 id="d2e2096">/users/{identityKey}/groups/owner<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&externalId</span><span class="optional">&managed</span></h3> + <h3 id="d2e1878">/users/{identityKey}/courses/my<span class="optional">?start</span><span class="optional">&limit</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7411,7 +7916,8 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getOwnedGroupList">GET</h4> + <h4 id="http://www.example.com#getMyCourses">GET</h4> + <p>Retrieves the list of "My entries" but limited to courses.</p> <h6>request query parameters</h6> <table> <tr> @@ -7427,7 +7933,9 @@ <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> <p>Default: <tt>0</tt></p> </td> - <td></td> + <td> + <p>The first result</p> + </td> </tr> <tr> <td> @@ -7437,37 +7945,24 @@ <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> <p>Default: <tt>25</tt></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>externalId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>managed</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Max result</p> </td> - <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2104">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2105">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1892">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1905"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2106">/users/{identityKey}/groups/participant<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&externalId</span><span class="optional">&managed</span></h3> + <h3 id="d2e1908">/users/{identityKey}/courses/teached<span class="optional">?start</span><span class="optional">&limit</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7488,7 +7983,8 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getParticipatingGroupList">GET</h4> + <h4 id="http://www.example.com#getTeachedCourses">GET</h4> + <p>Retrieves the list of "My supervised courses" but limited to courses.</p> <h6>request query parameters</h6> <table> <tr> @@ -7504,7 +8000,9 @@ <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> <p>Default: <tt>0</tt></p> </td> - <td></td> + <td> + <p>The first result</p> + </td> </tr> <tr> <td> @@ -7514,37 +8012,24 @@ <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> <p>Default: <tt>25</tt></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>externalId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>managed</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Max result</p> </td> - <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2114">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2115">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1922">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1935"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2116">/users/{identityKey}/groups/infos<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&externalId</span><span class="optional">&managed</span></h3> + <h3 id="d2e1938">/users/{identityKey}/courses/favorite<span class="optional">?start</span><span class="optional">&limit</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7565,7 +8050,8 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getUserGroupInfosList">GET</h4> + <h4 id="http://www.example.com#getFavoritCourses">GET</h4> + <p>Retrieves the list of my favorite courses.</p> <h6>request query parameters</h6> <table> <tr> @@ -7581,7 +8067,9 @@ <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> <p>Default: <tt>0</tt></p> </td> - <td></td> + <td> + <p>The first result</p> + </td> </tr> <tr> <td> @@ -7591,43 +8079,24 @@ <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> <p>Default: <tt>25</tt></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>externalId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>managed</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Max result</p> </td> - <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2124">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2125">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1952">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1965"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2126">/repo/courses/{courseId}/elements/contact<span class="optional">?parentNodeId</span><span class="optional">&position</span><span class="optional">&shortTitle</span><span class="optional">&longTitle</span><span class="optional">&objectives</span><span class="optional">&visibilityExpertRules</span><span class="optional">&accessExpertRules</span><span class="optional">&coaches</span><span class="optional">&participants</span><span class="optional">&groups</span><span class="optional">&areas</span><span class="optional">&to</span><span class="optional">&defaultSubject</span><span class="optional">&defaultBody</span></h3> - <p>Description:<br> - This handles the contact building block. - - <P> - Initial Date: 10 mai 2010 <br> - </p> + <h3 id="d2e1968">/users/{identityKey}/groups<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&externalId</span><span class="optional">&managed</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7637,7 +8106,7 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -7648,227 +8117,161 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachContact">PUT</h4> - <p>This attaches a contact element onto a given course, the element will be - inserted underneath the supplied parentNodeId - </p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The node's id which will be the parent of this structure</p> - </td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td> - <p>The node's position relative to its sibling nodes (optional)</p> - </td> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td> - <p>The node short title</p> - </td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td> - <p>The node long title</p> - </td> - </tr> - <tr> - <td> - <p><strong>objectives</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td> - <p>The node learning objectives</p> - </td> + <h4 id="http://www.example.com#getUserGroupList">GET</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><strong>start</strong></p> </td> <td> - <p>The rules to view the node (optional)</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>accessExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><strong>limit</strong></p> </td> <td> - <p>The rules to access the node (optional)</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>coaches</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> + <p><strong>externalId</strong></p> </td> <td> - <p>Send to coaches (true/false)</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>participants</strong></p> + <p><strong>managed</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td> - <p>Send to participants (true/false)</p> </td> + <td></td> </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1977">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1978">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e1979">/users/{identityKey}/groups/owner<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&externalId</span><span class="optional">&managed</span></h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getOwnedGroupList">GET</h4> + <h6>request query parameters</h6> + <table> <tr> - <td> - <p><strong>groups</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>A list of learning groups (list of keys)</p> - </td> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>areas</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><strong>start</strong></p> </td> <td> - <p>A list of learning areas (list of keys)</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>to</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><strong>limit</strong></p> </td> <td> - <p>The list of e-mail address</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>defaultSubject</strong></p> + <p><strong>externalId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td> - <p>The default subject</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>defaultBody</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><strong>managed</strong></p> </td> <td> - <p>The default body text</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> </td> + <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2180">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2193"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2199"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#attachContactPost">POST</h4> - <p>This attaches a contact element onto a given course, the element will be - inserted underneath the supplied parentNodeId - </p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2206">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2229">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2242"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2248"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1987">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1988">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2251">/registration<span class="optional">?email</span></h3> - <p>Description:<br> - Web service to trigger the registration process - - <P> - Initial Date: 14 juil. 2011 <br> - </p> + <h3 id="d2e1989">/users/{identityKey}/groups/participant<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&externalId</span><span class="optional">&managed</span></h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#register">PUT</h4> - <p>Register with the specified email</p> + <h4 id="http://www.example.com#getParticipatingGroupList">GET</h4> <h6>request query parameters</h6> <table> <tr> @@ -7878,66 +8281,74 @@ </tr> <tr> <td> - <p><strong>email</strong></p> + <p><strong>start</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>limit</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>externalId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> + </tr> + <tr> <td> - <p>The email address</p> + <p><strong>managed</strong></p> </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2262"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2266"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2270"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#registerPost">POST</h4> - <p>Register with the specified email</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2277">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2282"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2286"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1997">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1998">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2289">/groups</h3> + <h3 id="d2e1999">/users/{identityKey}/groups/infos<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&externalId</span><span class="optional">&managed</span></h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#createGroup">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2292">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e2293">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2295">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2296">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getGroupList">GET</h4> + <h4 id="http://www.example.com#getUserGroupInfosList">GET</h4> <h6>request query parameters</h6> <table> <tr> @@ -7945,6 +8356,26 @@ <th>value</th> <th>description</th> </tr> + <tr> + <td> + <p><strong>start</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>limit</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> + </td> + <td></td> + </tr> <tr> <td> <p><strong>externalId</strong></p> @@ -7966,14 +8397,39 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2302">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2303">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2007">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2008">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2009">/docpool</h3> + <p>Initial date: 5 Oct 2017<br></p> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e2012">/docpool/module/configuration</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getModuleConfiguration">GET</h4> + <p>Return the configuration of the taxonomy module.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2019">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyModuleConfigurationVO">ns3:taxonomyModuleConfigurationVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2032"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2304">/groups/{groupKey}/owners/{identityKey}</h3> + <h3 id="d2e2035">/docpool/{taxonomyKey}</h3> + <p>Initial date: 5 Oct 2017<br></p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7983,16 +8439,7 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>groupKey</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -8003,36 +8450,21 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addTutor">PUT</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2309">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#removeTutor">DELETE</h4> + <h4 id="http://www.example.com#getTaxonomy">GET</h4> + <p>Return the taxonomy object specified by the key in path.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2312">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2045">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyVO">ns3:taxonomyVO</abbr>)</a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e2313">/groups/version</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2316">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2058"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2317">/groups/{groupKey}</h3> + <h3 id="d2e2061">/docpool/{taxonomyKey}/levels</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8042,7 +8474,7 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -8053,37 +8485,45 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#findById">GET</h4> + <h4 id="http://www.example.com#getFlatTaxonomyLevels">GET</h4> + <p>Return the flatted levels of a taxonomy.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2068">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2321">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2322">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2081"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postGroup">POST</h4> + <h4 id="http://www.example.com#putTaxonomyLevel">PUT</h4> + <p>Create or update a taxonomy level. The method changes to tree structure, a + null parent key will make the level a root one, a new parent key will move + the level. + </p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e2325">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e2326">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e2088">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e2089">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2328">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2329">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2093">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2106"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#deleteGroup">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2332">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2112"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2333">/groups/{groupKey}/news</h3> + <h3 id="d2e2115">/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8093,45 +8533,49 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>taxonomyLevelKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#postNews">POST</h4> - <p><em>acceptable request representations:</em></p> + <h4 id="http://www.example.com#deleteTaxonomyLevel">DELETE</h4> + <p>Delete the taxonomy level definitively.</p> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2337">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2123"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2340">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2129"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getNews">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2343">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2135"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#deleteNews">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2346">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2141"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2347">/groups/{groupKey}/configuration</h3> + <h3 id="d2e2144">/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}/competences</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8141,7 +8585,16 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>taxonomyKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>taxonomyLevelKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -8152,20 +8605,46 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#postGroupConfiguration">POST</h4> + <h4 id="http://www.example.com#getTaxonomyLevelComptences">GET</h4> + <p>Return the competences of users on the taxonomy level specified in the key in path.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2152">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2165"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putTaxonomyLevelComptencesByIdentity">PUT</h4> + <p>Add a competence on a specific level of a taxonomy tree.</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e2351">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e2172">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e2173">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2177">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2190"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2353">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2196"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2202"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2354">/groups/{groupKey}/infos</h3> + <h3 id="d2e2205">/docpool/{taxonomyKey}/competences/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8175,7 +8654,16 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>taxonomyKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -8186,17 +8674,21 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getInformations">GET</h4> + <h4 id="http://www.example.com#getTaxonomyComptencesByIdentity">GET</h4> + <p>Return the competences of a specific user in the taxonomy tree.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2213">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2358">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2359">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2226"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2360">/groups/{groupKey}/owners</h3> + <h3 id="d2e2229">/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8206,7 +8698,25 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>taxonomyKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>taxonomyLevelKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -8217,17 +8727,23 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTutors">GET</h4> + <h4 id="http://www.example.com#getTaxonomyLevelComptencesByIdentity">GET</h4> + <p>Return the competences of a specific user on the taxonomy level + specified in the key in path. + </p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2238">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2364">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2365">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2251"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2366">/groups/{groupKey}/participants</h3> + <h3 id="d2e2254">/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{competenceKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8237,7 +8753,25 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>taxonomyKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>taxonomyLevelKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>competenceKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -8248,17 +8782,25 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getParticipants">GET</h4> + <h4 id="http://www.example.com#removeTaxonomyLevelCompetence">DELETE</h4> + <p>Remove a competence.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2263"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2269"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2370">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2371">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2275"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2372">/groups/{groupKey}/participants/{identityKey}</h3> + <h3 id="d2e2278">/docpool/{taxonomyKey}/types</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8268,16 +8810,7 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>groupKey</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -8288,26 +8821,46 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addParticipant">PUT</h4> + <h4 id="http://www.example.com#getTaxonomyLevelTypes">GET</h4> + <p>Get the configurations for taxonomy levels for the whole taxonomy.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2285">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2298"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2377">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2304"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#removeParticipant">DELETE</h4> + <h4 id="http://www.example.com#putTaxonomyLevelType">PUT</h4> + <p>Create or Update a taxonomy level's type.</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e2311">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e2312">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2316">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2329"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2380">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2335"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2382">/groups/{groupKey}/wiki</h3> - <p>The Group Wiki Webservice<br /> - allows the export of group wikis - </p> + <h3 id="d2e2338">/docpool/{taxonomyKey}/types/{typeKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8317,7 +8870,16 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>taxonomyKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>typeKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -8328,20 +8890,25 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#exportWiki">GET</h4> - <p>will export the wiki from the current group to a CP and serve as - zip-file.<br /> - </p> + <h4 id="http://www.example.com#getTaxonomyLevelType">GET</h4> + <p>Get a taxonomy level's type.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2346">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2390">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2391">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2359"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2365"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2392">/groups/{groupKey}/folder</h3> + <h3 id="d2e2369">/docpool/{taxonomyKey}/types/{typeKey}/allowedSubTypes</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8351,7 +8918,16 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>taxonomyKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>typeKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -8362,61 +8938,25 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#listFiles">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2396">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2397">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2398">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2399">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2400">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2403">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2404">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2406">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2407">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postFileToRoot">POST</h4> + <h4 id="http://www.example.com#getAllowedSubTaxonomyLevelTypes">GET</h4> + <p>Get the allowed sub-types of a specified taxonomy level's type.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2410">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2411">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postFile64ToRoot">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2414">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2377">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2419">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2420">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2390"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFileToRoot">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2423">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2424">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2396"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2425">/groups/{groupKey}/folder/{path:.*}</h3> + <h3 id="d2e2399">/docpool/{taxonomyKey}/types/{typeKey}/allowedSubTypes/{subTypeKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8426,7 +8966,7 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -8435,10 +8975,19 @@ </tr> <tr> <td> - <p><strong>path</strong></p> + <p><strong>typeKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>subTypeKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> @@ -8446,80 +8995,46 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#listFiles">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2429">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2430">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2431">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2432">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2433">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFolders">PUT</h4> + <h4 id="http://www.example.com#allowSubTaxonomyLevelType">PUT</h4> + <p>Add a sub-type to a specified taxonomy level's type.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2436">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2437">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2408">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#deleteItem">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2440">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2441">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2421"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFileToFolder">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2444">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2445">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2446">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2427"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2449">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2450">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#disalloweSubTaxonomyLevelType">DELETE</h4> + <p>Remove a sub-type to a specified taxonomy level's type.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2452">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2453">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2436"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postFileToFolder">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2456">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2457">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2458">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2461">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2442"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2466">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2467">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2468">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2448"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2469">/groups/{groupKey}/folder/version</h3> + <h3 id="d2e2451">/repo/courses/{courseId}/resourcefolders</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e2452">/repo/courses/{courseId}/resourcefolders/sharedfolder</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8529,7 +9044,7 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -8540,16 +9055,16 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <h4 id="http://www.example.com#getSharedFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2472">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2456">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2473">/groups/{groupKey}/folder/metadata/{path:.*}</h3> + <h3 id="d2e2457">/repo/courses/{courseId}/resourcefolders/sharedfolder/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8559,19 +9074,19 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>path</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>path</strong></p> + <p><strong>courseId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> @@ -8579,23 +9094,19 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFileMetadata">GET</h4> + <h4 id="http://www.example.com#getSharedFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2477">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2478">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2462">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2463">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2464">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2465">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2479">/groups/{groupKey}/forum</h3> - <p>Description:<br> - Web service to manage a forum. - - <P> - Initial Date: 20 apr. 2010 <br> - </p> + <h3 id="d2e2466">/repo/courses/{courseId}/resourcefolders/coursefolder/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8605,7 +9116,16 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>path</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -8616,25 +9136,33 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getForum">GET</h4> - <p>Retrieves the forum.</p> + <h4 id="http://www.example.com#getCourseFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2489">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e2471">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2472">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2473">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2474">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#attachFileToFolderPost">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2502"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2477">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#attachFileToFolder">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2508"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2480">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2511">/groups/{groupKey}/forum/threads<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> + <h3 id="d2e2481">/repo/courses/{courseId}/resourcefolders/coursefolder</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8644,7 +9172,7 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -8655,154 +9183,61 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getThreads">GET</h4> - <p>Retrieves the threads in the forum</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>start</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>limit</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>orderBy</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>creationDate</tt></p> - </td> - <td> - <p>(value name,creationDate)</p> - </td> - </tr> - <tr> - <td> - <p><strong>asc</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td> - <p>(value true/false)</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2527">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2540"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getCourseFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2546"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2485">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#newThreadToForum">PUT</h4> - <p>Creates a new thread in the forum of the course node</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>title</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The title for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>body</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The body for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>authorKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The author user key (optional)</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2565">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2578"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#attachFileToFolderPost">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2584"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2488">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#newThreadToForumPost">POST</h4> - <p>Creates a new thread in the forum of the course node</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2591">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#attachFileToFolder">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2598">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2491">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2492">/repo/courses/{courseId}/resourcefolders/version</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2611"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2495">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2496">/api</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e2497">/api/doc</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getHtmlDoc">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2617"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2500">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2620">/groups/{groupKey}/forum/posts/{threadKey}<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> + <h3 id="d2e2501">/api/doc/{filename}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8812,99 +9247,27 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>filename</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> - <tr> - <td> - <p><strong>threadKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the thread</p> - </td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getMessages">GET</h4> - <p>Retrieves the messages in the thread</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>start</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>limit</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>orderBy</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>creationDate</tt></p> - </td> - <td> - <p>(value name, creationDate)</p> - </td> - </tr> - <tr> - <td> - <p><strong>asc</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td> - <p>(value true/false)</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2639">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2652"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getImage1">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2658"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2505">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2661">/groups/{groupKey}/forum/posts/{messageKey}</h3> + <h3 id="d2e2506">/api/{filename}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8914,71 +9277,71 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>filename</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> - <tr> - <td> - <p><strong>messageKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The id of the reply message</p> - </td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#replyToPostPost">POST</h4> - <p>Creates a new reply in the forum of the course node</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2669">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2682">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2695"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getImage2">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2701"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2510">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2511">/api/copyright</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#replyToPost">PUT</h4> - <p>Creates a new reply in the forum of the course node</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2708">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e2709">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getCopyrightXhtml">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2713">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2514">application/xhtml+xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2515">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getCopyrightPlainText">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2726"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2518">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2519">/api/version</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2732"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2522">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2523">/notifications<span class="optional">?date</span><span class="optional">&type</span></h3> + <p><h3>Description:</h3> + REST API for notifications + <p> + Initial Date: 25 aug 2010 <br> + </p> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#replyToPost">PUT</h4> - <p>Creates a new reply in the forum of the course node</p> + <h4 id="http://www.example.com#getNotifications">GET</h4> + <p>Retrieves the notification of the logged in user.</p> <h6>request query parameters</h6> <table> <tr> @@ -8988,55 +9351,58 @@ </tr> <tr> <td> - <p><strong>title</strong></p> + <p><strong>date</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td> - <p>The title for the first post in the thread</p> + <p>The date (optional)</p> </td> </tr> <tr> <td> - <p><strong>body</strong></p> + <p><strong>type</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td> - <p>The body for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>authorKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The author user key (optional)</p> + <p>The type of notifications (User, Forum...) (optional)</p> </td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2751">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2539">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2764"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2552"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2555">/notifications/subscribers</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#subscribe">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e2558">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>)</a></li> + <li><a href="#d2e2559">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2770"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2561">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2773">/groups/{groupKey}/forum/posts/{messageKey}/attachments</h3> + <h3 id="d2e2562">/notifications/subscribers/{subscriberKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9046,97 +9412,84 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>subscriberKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#unsubscribe">DELETE</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2566">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2567">/notifications/publisher/{ressourceName}/{ressourceId}/{subIdentifier}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> <tr> <td> - <p><strong>messageKey</strong></p> + <p><strong>ressourceId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>subIdentifier</strong></p> + </td> <td> - <p>The key of the message</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getAttachments">GET</h4> - <p>Retrieves the attachments of the message</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2783">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2789"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2796">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2802">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2808"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> + <tr> + <td> + <p><strong>ressourceName</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">PUT</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2815">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2816">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getPublisher">GET</h4> + <p>Get the publisher by resource name and id + sub identifier.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2820">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2577">application/xml, application/json (<abbr title="{http://www.example.com} publisherVo">ns3:publisherVo</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2826"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2835">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2590"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2841"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2596"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2844">/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</h3> + <h3 id="d2e2599">/notifications/subscribers/{ressourceName}/{ressourceId}/{subIdentifier}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9146,7 +9499,7 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>ressourceId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -9155,260 +9508,124 @@ </tr> <tr> <td> - <p><strong>messageKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><strong>subIdentifier</strong></p> </td> <td> - <p>The identity key of the user being searched</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>filename</strong></p> + <p><strong>ressourceName</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td> - <p>The name of the attachment</p> - </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getAttachment">GET</h4> - <p>Retrieves the attachment of the message</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2857">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getSubscriber">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2863"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2605">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2606">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2866">/contacts<span class="optional">?start</span><span class="optional">&limit</span></h3> - <p>Description:<br> - - <P> - Initial Date: 21 oct. 2011 <br> - </p> + <h3 id="d2e2607">/repo/sharedfolder</h3> <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getMyContacts">GET</h4> - <p>Retrieve the contacts of the logged in identity.</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>start</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>limit</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> - </td> - <td></td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2878"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> + <div class="methods"></div> </div> <div class="resource"> - <h3 id="d2e2881">/repo/entries<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&managed</span><span class="optional">&externalId</span><span class="optional">&externalRef</span><span class="optional">&resourceType</span></h3> + <h3 id="d2e2608">/repo/sharedfolder/{repoEntryKey}/{path:.*}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>path</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getEntries">GET</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>start</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>limit</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>managed</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>externalId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>externalRef</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>resourceType</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2891">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2892">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getEntriesText">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2895">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2896">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putResource">PUT</h4> + <h4 id="http://www.example.com#getSharedFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2899">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2900">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2613">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2901">/repo/entries/search<span class="optional">?type</span><span class="optional">&author</span><span class="optional">&name</span><span class="optional">&myentries</span></h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#searchEntries">GET</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>type</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>author</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>*</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>name</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>*</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>myentries</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - </table> + <h3 id="d2e2614">/repo/sharedfolder/{repoEntryKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getSharedFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2909">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2910">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2618">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2911">/repo/entries/version</h3> + <h3 id="d2e2619">/repo/sharedfolder/version</h3> <h6>Methods</h6> <div class="methods"> <div class="method"> <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2914">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2622">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2915">/repo/entries/{repoEntryKey}</h3> + <h3 id="d2e2623">/repo/sharedfolder/{repoEntryKey}/files</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9421,7 +9638,7 @@ <p><strong>repoEntryKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> @@ -9429,46 +9646,61 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#deleteCourse">DELETE</h4> + <h4 id="http://www.example.com#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2919">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2920">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2627">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2628">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2629">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2630">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2631">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#getById">GET</h4> + <h4 id="http://www.example.com#postFileToRoot">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2923">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2924">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2634">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2635">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#updateEntry">POST</h4> + <h4 id="http://www.example.com#postFile64ToRoot">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e2927">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> - <li><a href="#d2e2928">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> + <li><a href="#d2e2638">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2930">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2931">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2643">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2644">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#replaceResource">POST</h4> + <h4 id="http://www.example.com#putFileToRoot">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2647">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2648">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e2651">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2652">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2934">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2935">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2654">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2655">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2936">/repo/entries/{repoEntryKey}/owners/{identityKey}</h3> + <h3 id="d2e2656">/repo/sharedfolder/{repoEntryKey}/files/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9480,14 +9712,108 @@ <td> <p><strong>repoEntryKey</strong></p> </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>path</strong></p> + </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#listFiles">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2660">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2661">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2662">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2663">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2664">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postFileToFolder">POST</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2667">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2668">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2669">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e2672">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2677">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2678">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2679">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFileToFolder">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2682">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2683">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2684">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e2687">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2688">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2690">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2691">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFolders">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2694">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2695">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#deleteItem">DELETE</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2698">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2699">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2700">/repo/sharedfolder/{repoEntryKey}/files/metadata/{path:.*}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -9496,7 +9822,7 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>path</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -9507,23 +9833,17 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addOwner">PUT</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2941">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#removeOwner">DELETE</h4> + <h4 id="http://www.example.com#getFileMetadata">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2944">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2704">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2705">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2945">/repo/entries/{repoEntryKey}/coaches/{identityKey}</h3> + <h3 id="d2e2706">/repo/sharedfolder/{repoEntryKey}/files/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9536,49 +9856,198 @@ <p><strong>repoEntryKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getVersion">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2709">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2711">/repo/lifecycle</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getPublicLifeCycles">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2714">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2715">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2716">/repo/courses/{resourceKey}/certificates</h3> + <p>Initial date: 17.11.2014<br></p> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e2719">/repo/courses/{resourceKey}/certificates/{identityKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>resourceKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td></td> + <td> + <p>The primary key of the resource of the repository entry of the course.</p> + </td> </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>identityKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The owner of the certificate</p> </td> - <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addCoach">PUT</h4> + <h4 id="http://www.example.com#getCertificate">GET</h4> + <p>Return the certificate as PDF file.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2732">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2738"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2950">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2744"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#removeCoach">DELETE</h4> + <h4 id="http://www.example.com#getCertificateInfo">HEAD</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2749">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#deleteCertificateInfo">DELETE</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2752">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putCertificate">PUT</h4> + <p>Generate a new certificate.</p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>score</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> + </td> + <td> + <p>The score which appears in the certificate</p> + </td> + </tr> + <tr> + <td> + <p><strong>passed</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td> + <p>The passed/failed which appears in the certificate (true/false)</p> + </td> + </tr> + <tr> + <td> + <p><strong>creationDate</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The date of the certification</p> + </td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2953">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2769"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2775"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2781"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2787"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postCertificate">POST</h4> + <p>Upload a new certificate.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2796"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2802"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2808"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2954">/repo/entries/{repoEntryKey}/coaches</h3> + <h3 id="d2e2811">/repo/courses/{courseId}/db/{category}</h3> + <p>Description:<br> + Access the custom dbs of a course + + <P> + Initial Date: *7 apr. 2010 <br> + </p> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e2814">/repo/courses/{courseId}/db/{category}/values/{name}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9588,49 +10057,123 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>name</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> + <td> + <p>The name of the key value pair</p> + </td> </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>category</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> + <td> + <p>The name of the database</p> + </td> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The course resourceable's id</p> + </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addCoach">PUT</h4> + <h4 id="http://www.example.com#getValue">GET</h4> + <p>Retrieve a value of an authenticated user.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2828">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2839"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putValue">PUT</h4> + <p>Put a new value for an authenticated user.</p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>value</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The value of the key value pair</p> + </td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2850"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getValuePlain">GET</h4> + <p>Retrieve a value of an authenticated user.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2857">text/plain, text/html (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2868"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#formValue">POST</h4> + <p>Update a value for an authenticated user.</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e2958">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2959">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2875">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2961">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2880"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#getCoaches">GET</h4> + <h4 id="http://www.example.com#deleteValue">DELETE</h4> + <p>Delete a value for an authenticated user.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2887"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2891"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2964">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2965">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2895"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2966">/repo/entries/{repoEntryKey}/participants</h3> + <h3 id="d2e2898">/repo/courses/{courseId}/db/{category}/values</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9640,49 +10183,67 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>category</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> + <td> + <p>The name of the database</p> + </td> </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The course resourceable's id</p> </td> - <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getParticipants">GET</h4> + <h4 id="http://www.example.com#getValues">GET</h4> + <p>Retrieve all values of the authenticated user</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2970">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2971">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2909">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#addParticipants">PUT</h4> + <h4 id="http://www.example.com#putValues">PUT</h4> + <p>Put a new value for an authenticated user.</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e2923">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e2924">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2926"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postValues">POST</h4> + <p>Update a value for an authenticated user.</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e2974">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2975">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2933">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e2934">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2977">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2936"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2978">/repo/entries/{repoEntryKey}/participants/{identityKey}</h3> + <h3 id="d2e2939">/repo/courses/{courseId}/db/{category}/values/{name}/delete</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9692,104 +10253,95 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>name</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> + <td> + <p>The name of the key value pair</p> + </td> </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>category</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The name of the database</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The course resourceable's id</p> </td> - <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addParticipant">PUT</h4> + <h4 id="http://www.example.com#deleteValuePost">POST</h4> + <p>Fallbakc method for the browsers</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2983">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2953"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#removeParticipant">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2986">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2957"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2961"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2987">/repo/entries/{repoEntryKey}/owners</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>repoEntryKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>repoEntryKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> + <h3 id="d2e2964">/repo/courses/{courseId}/db/{category}/version</h3> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addOwners">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2991">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2992">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getVersion">GET</h4> + <p>Retrieves the version of the Course DB Web Service.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2994">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2969">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2979">/repo/wikis</h3> + <p>The Wikis Webservice.<br /> + OO-112 + </p> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getOwners">GET</h4> + <h4 id="http://www.example.com#getWikis">GET</h4> + <p>get list of repo-entry wikis. Group-Wikis are not listed!</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2997">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2998">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2986">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2987">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3000">/repo/entries/{repoEntryKey}/file</h3> + <h3 id="d2e2988">/repo/wikis/{wikiKey}</h3> + <p>The Wiki Webservice<br /> + allows the export of "normal" wikis ( in contrast to group-wikis) OO-112 + </p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9799,37 +10351,36 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>wikiKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>repoEntryKey</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>part of the REST path, the resourceable-id / repo-entry-key / + softkey of the wiki resource. + </p> </td> - <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getRepoFileById">GET</h4> + <h4 id="http://www.example.com#exportWiki">GET</h4> + <p>will export the specified wiki (which must be a repo-entry-wiki) to a CP + and serve as zip-file.<br /> + </p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3004">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3005">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2998">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2999">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3006">/repo/entries/{repoEntryKey}/status</h3> + <h3 id="d2e3000">/users/{username}/auth</h3> + <p>This web service handles functionalities related to authentication credentials of users.</p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9839,41 +10390,67 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>username</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>repoEntryKey</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>The username of the user to retrieve authentication</p> </td> - <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#deleteCoursePermanently">POST</h4> + <h4 id="http://www.example.com#create">PUT</h4> + <p>Creates and persists an authentication</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e3010">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3010">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> + <li><a href="#d2e3011">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3015">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3028"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3034"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3040"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3046"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getAuthenticationTokenList">GET</h4> + <p>Returns all user authentications</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3053">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3013">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3014">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3064"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3068"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3015">/repo/entries/{repoEntryKey}/lectureblocks</h3> + <h3 id="d2e3071">/users/{username}/auth/{authKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9883,64 +10460,60 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>username</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The username of the user to retrieve authentication</p> + </td> + </tr> + <tr> + <td> + <p><strong>authKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The authentication key identifier</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>username</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> + <td> + <p>The username of the user</p> + </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getLectureBlocks">GET</h4> + <h4 id="http://www.example.com#delete">DELETE</h4> + <p>Deletes an authentication from the system</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3019">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3020">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putLectureBlocks">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e3023">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e3024">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e3084"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3026">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3027">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postLectureBlocks">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e3030">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3031">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e3032">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e3090"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3034">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3035">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3096"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3036">/repo/entries/{repoEntryKey}/lectureblocks/configuration</h3> + <h3 id="d2e3099">/users/{username}/auth/password</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9950,51 +10523,57 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>username</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> + <td> + <p>The username of the user to retrieve authentication</p> + </td> </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>username</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> + <td> + <p>The username of the user to change the password</p> + </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getConfiguration">GET</h4> + <h4 id="http://www.example.com#changePassword">POST</h4> + <p>Change the password of a user.</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e3107">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3039">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3040">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3114"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#updateConfiguration">POST</h4> - <p><em>acceptable request representations:</em></p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3120"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3043">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3044">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - <li><a href="#d2e3045">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e3126"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3047">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3048">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3132"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3049">/repo/entries/{repoEntryKey}/lectureblocks/sync/calendar</h3> + <h3 id="d2e3135">/users/{username}/auth/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10004,36 +10583,36 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>username</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>repoEntryKey</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>The username of the user to retrieve authentication</p> </td> - <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#syncCalendar">POST</h4> + <h4 id="http://www.example.com#getVersion">GET</h4> + <p>The version of the User Authentication Web Service</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3052">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3142">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3053">/repo/entries/{repoEntryKey}/lectureblocks/adaptation</h3> + <h3 id="d2e3152">/repo/courses/{courseId}/elements/enrollment<span class="optional">?parentNodeId</span><span class="optional">&position</span><span class="optional">&shortTitle</span><span class="optional">&longTitle</span><span class="optional">&objectives</span><span class="optional">&visibilityExpertRules</span><span class="optional">&accessExpertRules</span><span class="optional">&groups</span><span class="optional">&cancelEnabled</span></h3> + <p>Description:<br> + This handles the enrollment building block. + + <P> + Initial Date: 10 mai 2010 <br> + </p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10043,36 +10622,173 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><strong>courseId</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>The course resourceable's id</p> </td> - <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#adapatation">GET</h4> + <h4 id="http://www.example.com#attachEnrolmment">PUT</h4> + <p>This attaches an enrollment element onto a given course, the element will be + inserted underneath the supplied parentNodeId + </p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>parentNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The node's id which will be the parent of this structure</p> + </td> + </tr> + <tr> + <td> + <p><strong>position</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td> + <p>The node's position relative to its sibling nodes (optional)</p> + </td> + </tr> + <tr> + <td> + <p><strong>shortTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td> + <p>The node short title</p> + </td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td> + <p>The node long title</p> + </td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td> + <p>The node learning objectives</p> + </td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The rules to view the node (optional)</p> + </td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The rules to access the node (optional)</p> + </td> + </tr> + <tr> + <td> + <p><strong>groups</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>A list of learning groups (list of keys)</p> + </td> + </tr> + <tr> + <td> + <p><strong>cancelEnabled</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td> + <p>cancel enrollment enabled or not</p> + </td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3192">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3205"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3211"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#attachEnrollmenetPost">POST</h4> + <p>This attaches an enrollment element onto a given course, the element will be + inserted underneath the supplied parentNodeId + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e3218">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3056">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3249">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3262"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3268"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3057">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}</h3> + <h3 id="d2e3271">/repo/courses/{courseId}/elements/enrollment/{nodeId}/groups</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10082,28 +10798,30 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The course resourceable's id</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>lectureBlockKey</strong></p> + <p><strong>nodeId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> @@ -10111,24 +10829,67 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#deleteLectureBlock">DELETE</h4> + <h4 id="http://www.example.com#getGroups">GET</h4> + <p>Retrieves the groups where the enrollment happens</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3280">application/xml, application/json (<abbr title="{http://www.example.com} groupVO">ns3:groupVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3061">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3293"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3299"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3302">/repo/courses/infos<span class="optional">?start</span><span class="optional">&limit</span></h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getLectureBlock">GET</h4> + <h4 id="http://www.example.com#getCourseInfoList">GET</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>start</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>limit</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3064">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3065">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3308">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3309">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3066">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers</h3> + <h3 id="d2e3310">/repo/courses/infos/{courseId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10138,25 +10899,7 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>repoEntryKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>lectureBlockKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -10167,17 +10910,23 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTeacher">GET</h4> + <h4 id="http://www.example.com#getCourseInfo">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3069">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3070">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3314">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3315">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3071">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</h3> + <h3 id="d2e3316">/repo/courses/{courseId}/elements/contact<span class="optional">?parentNodeId</span><span class="optional">&position</span><span class="optional">&shortTitle</span><span class="optional">&longTitle</span><span class="optional">&objectives</span><span class="optional">&visibilityExpertRules</span><span class="optional">&accessExpertRules</span><span class="optional">&coaches</span><span class="optional">&participants</span><span class="optional">&groups</span><span class="optional">&areas</span><span class="optional">&to</span><span class="optional">&defaultSubject</span><span class="optional">&defaultBody</span></h3> + <p>Description:<br> + This handles the contact building block. + + <P> + Initial Date: 10 mai 2010 <br> + </p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10187,25 +10936,7 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>repoEntryKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>lectureBlockKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -10216,87 +10947,222 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addRepositoryEntryParticipantGroup">PUT</h4> + <h4 id="http://www.example.com#attachContact">PUT</h4> + <p>This attaches a contact element onto a given course, the element will be + inserted underneath the supplied parentNodeId + </p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>parentNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The node's id which will be the parent of this structure</p> + </td> + </tr> + <tr> + <td> + <p><strong>position</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td> + <p>The node's position relative to its sibling nodes (optional)</p> + </td> + </tr> + <tr> + <td> + <p><strong>shortTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td> + <p>The node short title</p> + </td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td> + <p>The node long title</p> + </td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td> + <p>The node learning objectives</p> + </td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The rules to view the node (optional)</p> + </td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The rules to access the node (optional)</p> + </td> + </tr> + <tr> + <td> + <p><strong>coaches</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td> + <p>Send to coaches (true/false)</p> + </td> + </tr> + <tr> + <td> + <p><strong>participants</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td> + <p>Send to participants (true/false)</p> + </td> + </tr> + <tr> + <td> + <p><strong>groups</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>A list of learning groups (list of keys)</p> + </td> + </tr> + <tr> + <td> + <p><strong>areas</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>A list of learning areas (list of keys)</p> + </td> + </tr> + <tr> + <td> + <p><strong>to</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The list of e-mail address</p> + </td> + </tr> + <tr> + <td> + <p><strong>defaultSubject</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The default subject</p> + </td> + </tr> + <tr> + <td> + <p><strong>defaultBody</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The default body text</p> + </td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3370">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3074">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3383"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#deleteRepositoryEntryParticipantGroup">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3077">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3389"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3078">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>repoEntryKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>repoEntryKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>lectureBlockKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addTeacher">PUT</h4> + <h4 id="http://www.example.com#attachContactPost">POST</h4> + <p>This attaches a contact element onto a given course, the element will be + inserted underneath the supplied parentNodeId + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e3396">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3082">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3419">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#removeTeacher">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3085">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3432"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3438"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3086">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/sync/calendar</h3> + <h3 id="d2e3441">/repo/courses/{courseId}/elements/forum</h3> + <p>Description:<br> + REST API implementation for forum course node + + <P> + Initial Date: 20.12.2010 <br> + </p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10306,25 +11172,7 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>repoEntryKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>lectureBlockKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -10335,34 +11183,48 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#syncCalendar">POST</h4> + <h4 id="http://www.example.com#getForums">GET</h4> + <p>Retrieves metadata of the published course node</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3089">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3451">application/xml, application/json (<abbr title="{http://www.example.com} forumVOes">ns3:forumVOes</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3464"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3470"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3090">/repo/lifecycle</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getPublicLifeCycles">GET</h4> + <h4 id="http://www.example.com#attachForumPost">POST</h4> + <p>This attaches a Forum Element onto a given course. The element will be + inserted underneath the supplied parentNodeId. + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e3477">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3491">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3504"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3093">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3094">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3510"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3096">/repo/courses/infos<span class="optional">?start</span><span class="optional">&limit</span></h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getCourseInfoList">GET</h4> + <h4 id="http://www.example.com#attachForum">PUT</h4> + <p>This attaches a Forum Element onto a given course. The element will be + inserted underneath the supplied parentNodeId. + </p> <h6>request query parameters</h6> <table> <tr> @@ -10372,97 +11234,115 @@ </tr> <tr> <td> - <p><strong>start</strong></p> + <p><strong>parentNodeId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>limit</strong></p> + <p><strong>position</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>shortTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>longTitle</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>objectives</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>undefined</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>visibilityExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>accessExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>moderatorExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>posterExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>readerExpertRules</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> </table> <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3102">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3103">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3104">/repo/courses/infos/{courseId}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getCourseInfo">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3108">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3109">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3110">/api</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e3111">/api/version</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <ul> + <li><a href="#d2e3530">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3114">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3543"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3115">/api/doc</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getHtmlDoc">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3118">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3549"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3119">/api/doc/{filename}</h3> + <h3 id="d2e3552">/repo/courses/{courseId}/elements/forum/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10472,86 +11352,102 @@ </tr> <tr> <td> - <p><strong>filename</strong></p> + <p><strong>courseId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getImage1">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3123">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3124">/api/{filename}</h3> - <h6>resource-wide template parameters</h6> - <table> <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The course resourceable's id</p> + </td> </tr> <tr> <td> - <p><strong>filename</strong></p> + <p><strong>nodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> + <td> + <p>The node's id</p> + </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getImage2">GET</h4> + <h4 id="http://www.example.com#getForum">GET</h4> + <p>Retrieves metadata of the published course node</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3128">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3565">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3129">/api/copyright</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getCopyrightXhtml">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3132">application/xhtml+xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3133">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3578"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getCopyrightPlainText">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3136">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3584"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3137">/pwchange<span class="optional">?identityKey</span></h3> - <p>Webservice to create a temporary key to change the password - - Initial date: 15.10.2013<br> - </p> + <h3 id="d2e3587">/repo/courses/{courseId}/elements/forum/{nodeId}/thread<span class="optional">?title</span><span class="optional">&body</span><span class="optional">&identityName</span><span class="optional">&sticky</span></h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The id of the course.</p> + </td> + </tr> + <tr> + <td> + <p><strong>nodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The id of the course node.</p> + </td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#register">PUT</h4> + <h4 id="http://www.example.com#newThreadToForum">PUT</h4> + <p>Creates a new thread in the forum of the course node</p> <h6>request query parameters</h6> <table> <tr> @@ -10561,29 +11457,66 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>title</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The title for the first post in the thread</p> + </td> + </tr> + <tr> + <td> + <p><strong>body</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The body for the first post in the thread</p> + </td> + </tr> + <tr> + <td> + <p><strong>identityName</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The author identity name (optional)</p> + </td> + </tr> + <tr> + <td> + <p><strong>sticky</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td> + <p>Creates sticky thread.</p> </td> - <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3144">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3145">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3613">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3626"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3632"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3146">/auth</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e3147">/auth/{username}<span class="optional">?password</span><span class="optional">&x-olat-token</span></h3> + <h3 id="d2e3635">/repo/courses/{courseId}/elements/forum/{nodeId}/message<span class="optional">?parentMessageId</span><span class="optional">&title</span><span class="optional">&body</span><span class="optional">&identityName</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10593,18 +11526,41 @@ </tr> <tr> <td> - <p><strong>username</strong></p> + <p><strong>courseId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The id of the course.</p> + </td> + </tr> + <tr> + <td> + <p><strong>nodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The id of the course node.</p> + </td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#login">GET</h4> + <h4 id="http://www.example.com#newMessageToForum">PUT</h4> + <p>Creates a new forum message in the forum of the course node</p> <h6>request query parameters</h6> <table> <tr> @@ -10614,46 +11570,72 @@ </tr> <tr> <td> - <p><strong>password</strong></p> + <p><strong>parentMessageId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The id of the parent message.</p> + </td> + </tr> + <tr> + <td> + <p><strong>title</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> + <td> + <p>The title for the first post in the thread</p> + </td> </tr> <tr> <td> - <p><strong>x-olat-token</strong></p> + <p><strong>body</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> + <td> + <p>The body for the first post in the thread</p> + </td> + </tr> + <tr> + <td> + <p><strong>identityName</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The author identity name (optional)</p> + </td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3154">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3155">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3661">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3156">/auth/version</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3159">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3674"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3680"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3160">/users/{identityKey}/calendars</h3> + <h3 id="d2e3683">/repo/courses/{courseId}/elements/forum/{nodeId}/forum</h3> + <p>Description:<br> + Web service to manage a forum. + + <P> + Initial Date: 20 apr. 2010 <br> + </p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10663,28 +11645,54 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>nodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getCalendars">GET</h4> + <h4 id="http://www.example.com#getForum">GET</h4> + <p>Retrieves the forum.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3694">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3707"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3164">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3165">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3713"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3166">/users/{identityKey}/calendars/events<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&onlyFuture</span></h3> + <h3 id="d2e3716">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/threads<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10694,7 +11702,7 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -10703,18 +11711,28 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>nodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getEvents">GET</h4> + <h4 id="http://www.example.com#getThreads">GET</h4> + <p>Retrieves the threads in the forum</p> <h6>request query parameters</h6> <table> <tr> @@ -10744,66 +11762,123 @@ </tr> <tr> <td> - <p><strong>onlyFuture</strong></p> + <p><strong>orderBy</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>creationDate</tt></p> + </td> + <td> + <p>(value name,creationDate)</p> + </td> + </tr> + <tr> + <td> + <p><strong>asc</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> + <p>Default: <tt>true</tt></p> + </td> + <td> + <p>(value true/false)</p> + </td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3732">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3745"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3751"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#newThreadToForum">PUT</h4> + <p>Creates a new thread in the forum of the course node</p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>title</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The title for the first post in the thread</p> + </td> + </tr> + <tr> + <td> + <p><strong>body</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The body for the first post in the thread</p> + </td> + </tr> + <tr> + <td> + <p><strong>authorKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The author user key (optional)</p> </td> - <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3174">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3175">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3770">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3783"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3789"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#newThreadToForumPost">POST</h4> + <p>Creates a new thread in the forum of the course node</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e3796">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3803">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3816"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3822"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3176">/users/{identityKey}/calendars/{calendarId}</h3> - <p>Initial date: 23.12.2015<br></p> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>calendarId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e3181">/users/{identityKey}/calendars/{calendarId}/events/{eventId}</h3> + <h3 id="d2e3825">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{threadKey}<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10813,7 +11888,7 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -10822,16 +11897,7 @@ </tr> <tr> <td> - <p><strong>calendarId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -10840,67 +11906,30 @@ </tr> <tr> <td> - <p><strong>eventId</strong></p> + <p><strong>nodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#deleteEventByCalendar">DELETE</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3185">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3186">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3187">/users/{identityKey}/calendars/{calendarId}/events<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&onlyFuture</span></h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>threadKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>calendarId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p>The key of the thread</p> </td> - <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getEventsByCalendar">GET</h4> + <h4 id="http://www.example.com#getMessages">GET</h4> + <p>Retrieves the messages in the thread</p> <h6>request query parameters</h6> <table> <tr> @@ -10930,51 +11959,46 @@ </tr> <tr> <td> - <p><strong>onlyFuture</strong></p> + <p><strong>orderBy</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>creationDate</tt></p> + </td> + <td> + <p>(value name, creationDate)</p> + </td> + </tr> + <tr> + <td> + <p><strong>asc</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> + <p>Default: <tt>true</tt></p> + </td> + <td> + <p>(value true/false)</p> </td> - <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3194">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3195">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putEventsByCalendar">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e3198">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3199">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3844">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3201">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3202">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postEventsByCalendar">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e3205">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3206">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3857"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3208">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3209">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3863"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3210">/users/{identityKey}/calendars/{calendarId}/event</h3> + <h3 id="d2e3866">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10984,7 +12008,16 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -10993,7 +12026,7 @@ </tr> <tr> <td> - <p><strong>calendarId</strong></p> + <p><strong>nodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -11002,65 +12035,120 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>messageKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td></td> + <td> + <p>The id of the reply message</p> + </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#putEventByCalendar">PUT</h4> + <h4 id="http://www.example.com#replyToPostPost">POST</h4> + <p>Creates a new reply in the forum of the course node</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e3213">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e3214">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e3874">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3887">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3216">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3217">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3900"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3906"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postEventByCalendar">POST</h4> + <h4 id="http://www.example.com#replyToPost">PUT</h4> + <p>Creates a new reply in the forum of the course node</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e3220">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3221">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e3222">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e3913">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e3914">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3918">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3931"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3224">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3225">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3937"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3226">/repo/courses/{courseId}/resourcefolders</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e3227">/repo/courses/{courseId}/resourcefolders/version</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <h4 id="http://www.example.com#replyToPost">PUT</h4> + <p>Creates a new reply in the forum of the course node</p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>title</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The title for the first post in the thread</p> + </td> + </tr> + <tr> + <td> + <p><strong>body</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The body for the first post in the thread</p> + </td> + </tr> + <tr> + <td> + <p><strong>authorKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The author user key (optional)</p> + </td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3956">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3230">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3969"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3975"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3231">/repo/courses/{courseId}/resourcefolders/sharedfolder/{path:.*}</h3> + <h3 id="d2e3978">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11068,15 +12156,6 @@ <th>value</th> <th>description</th> </tr> - <tr> - <td> - <p><strong>path</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> <tr> <td> <p><strong>courseId</strong></p> @@ -11086,30 +12165,6 @@ </td> <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getSharedFiles">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3236">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3237">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3238">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3239">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3240">/repo/courses/{courseId}/resourcefolders/sharedfolder</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> <tr> <td> <p><strong>courseId</strong></p> @@ -11119,30 +12174,9 @@ </td> <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getSharedFiles">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3244">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3245">/repo/courses/{courseId}/resourcefolders/coursefolder/{path:.*}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> <tr> <td> - <p><strong>path</strong></p> + <p><strong>nodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -11151,94 +12185,88 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>messageKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td></td> + <td> + <p>The key of the message</p> + </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getCourseFiles">GET</h4> + <h4 id="http://www.example.com#getAttachments">GET</h4> + <p>Retrieves the attachments of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3250">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3251">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3252">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3253">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3988">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#attachFileToFolderPost">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3256">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3994"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#attachFileToFolder">PUT</h4> + <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4001">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3259">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4007">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3260">/repo/courses/{courseId}/resourcefolders/coursefolder</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getCourseFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3264">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4013"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#attachFileToFolderPost">POST</h4> + <h4 id="http://www.example.com#replyToPostAttachment">PUT</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4020">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4021">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4025">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3267">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4031"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#attachFileToFolder">PUT</h4> + <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3270">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4040">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4046"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3271">/openmeetings</h3> - <p>Initial date: 13.11.2012<br></p> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e3274">/openmeetings/{identityToken}/portrait</h3> + <h3 id="d2e4049">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments/{filename}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11248,171 +12276,79 @@ </tr> <tr> <td> - <p><strong>identityToken</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><strong>courseId</strong></p> </td> <td> - <p>The identity key of the user being searched</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getPortrait">GET</h4> - <p>Retrieves the portrait of an user</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3284">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3290"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3293">/repo/courses/{courseId}/db/{category}</h3> - <p>Description:<br> - Access the custom dbs of a course - - <P> - Initial Date: *7 apr. 2010 <br> - </p> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e3296">/repo/courses/{courseId}/db/{category}/values/{name}</h3> - <h6>resource-wide template parameters</h6> - <table> <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> </tr> <tr> <td> - <p><strong>name</strong></p> + <p><strong>nodeId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td> - <p>The name of the key value pair</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>category</strong></p> + <p><strong>messageKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td> - <p>The name of the database</p> + <p>The identity key of the user being searched</p> </td> </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>filename</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td> - <p>The course resourceable's id</p> + <p>The name of the attachment</p> </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getValue">GET</h4> - <p>Retrieve a value of an authenticated user.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3310">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3321"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putValue">PUT</h4> - <p>Put a new value for an authenticated user.</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>value</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The value of the key value pair</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3332"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getValuePlain">GET</h4> - <p>Retrieve a value of an authenticated user.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3339">text/plain, text/html (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3350"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#formValue">POST</h4> - <p>Update a value for an authenticated user.</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e3357">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3362"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#deleteValue">DELETE</h4> - <p>Delete a value for an authenticated user.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3369"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getAttachment">GET</h4> + <p>Retrieves the attachment of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3373"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4062">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3377"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4068"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3380">/repo/courses/{courseId}/db/{category}/values</h3> + <h3 id="d2e4071">/vitero</h3> + <p>Initial date: 06.07.2015<br></p> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e4074">/vitero/{resourceName}/{resourceId}/{subIdentifier}</h3> + <p>Initial date: 14.07.2015<br></p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11422,81 +12358,72 @@ </tr> <tr> <td> - <p><strong>category</strong></p> + <p><strong>resourceName</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td> - <p>The name of the database</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>resourceId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>subIdentifier</strong></p> + </td> <td> - <p>The course resourceable's id</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getValues">GET</h4> - <p>Retrieve all values of the authenticated user</p> + <h4 id="http://www.example.com#getRooms">GET</h4> + <p>returns the list of booking of the resource.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3391">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> + <li><a href="#d2e4086">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putValues">PUT</h4> - <p>Put a new value for an authenticated user.</p> + <h4 id="http://www.example.com#createRoom">PUT</h4> + <p>Return the created or updated booking</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e3405">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> - <li><a href="#d2e3406">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e4100">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e4101">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3408"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4105">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postValues">POST</h4> - <p>Update a value for an authenticated user.</p> + <h4 id="http://www.example.com#updateRoom">POST</h4> + <p>Return the created or updated booking</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e3415">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> - <li><a href="#d2e3416">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3418"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4119">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e4120">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3421">/repo/courses/{courseId}/db/{category}/version</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> - <p>Retrieves the version of the Course DB Web Service.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3426">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4124">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3436">/repo/courses/{courseId}/db/{category}/values/{name}/delete</h3> + <h3 id="d2e4134">/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}/members</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11506,78 +12433,72 @@ </tr> <tr> <td> - <p><strong>name</strong></p> + <p><strong>resourceName</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> + </tr> + <tr> <td> - <p>The name of the key value pair</p> + <p><strong>resourceId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>category</strong></p> + <p><strong>subIdentifier</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td> - <p>The name of the database</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>bookingId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> </td> <td> - <p>The course resourceable's id</p> + <p>The id of the booking</p> </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#deleteValuePost">POST</h4> - <p>Fallbakc method for the browsers</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3450"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3454"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getMembers">GET</h4> + <p>Returns the list of members of the booking.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3458"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4144">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3461">/repo/courses/{courseId}/elements</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e3462">/repo/courses/{courseId}/elements/version</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <h4 id="http://www.example.com#addMembers">POST</h4> + <p>Update the list of members of the booking, it add and mutates the + members and delete the missing members. + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4158">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4159">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3465">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4163">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3466">/repo/courses/{courseId}/elements/structure/{nodeId}</h3> + <h3 id="d2e4173">/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11587,7 +12508,16 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>resourceName</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>resourceId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -11596,57 +12526,76 @@ </tr> <tr> <td> - <p><strong>nodeId</strong></p> + <p><strong>subIdentifier</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>bookingId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#updateStructure">POST</h4> + <h4 id="http://www.example.com#deleteRoom">DELETE</h4> + <p>Delete the booking</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3471">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3472">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4181"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3473">/repo/courses/{courseId}/elements/structure</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> + <h3 id="d2e4184">/pwchange<span class="optional">?identityKey</span></h3> + <p>Webservice to create a temporary key to change the password + + Initial date: 15.10.2013<br> + </p> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachStructurePostMultiparts">POST</h4> + <h4 id="http://www.example.com#register">PUT</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3477">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3478">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4191">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4192">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4194">/repo/entries<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&managed</span><span class="optional">&externalId</span><span class="optional">&externalRef</span><span class="optional">&resourceType</span></h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachStructure">PUT</h4> + <h4 id="http://www.example.com#getEntries">GET</h4> <h6>request query parameters</h6> <table> <tr> @@ -11656,55 +12605,101 @@ </tr> <tr> <td> - <p><strong>parentNodeId</strong></p> + <p><strong>start</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>limit</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>position</strong></p> + <p><strong>managed</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>shortTitle</strong></p> + <p><strong>externalId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>longTitle</strong></p> + <p><strong>externalRef</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>objectives</strong></p> + <p><strong>resourceType</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> </td> <td></td> </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4204">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4205">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getEntriesText">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4208">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4209">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putResource">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4212">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4213">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4214">/repo/entries/search<span class="optional">?type</span><span class="optional">&author</span><span class="optional">&name</span><span class="optional">&myentries</span></h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#searchEntries">GET</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> <tr> <td> - <p><strong>visibilityExpertRules</strong></p> + <p><strong>type</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -11713,34 +12708,58 @@ </tr> <tr> <td> - <p><strong>accessExpertRules</strong></p> + <p><strong>author</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>*</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>displayType</strong></p> + <p><strong>name</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>toc</tt></p> + <p>Default: <tt>*</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>myentries</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> </td> <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3490">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3491">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4222">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4223">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4224">/repo/entries/version</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getVersion">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4227">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3492">/repo/courses/{courseId}/elements/singlepage/{nodeId}</h3> + <h3 id="d2e4228">/repo/entries/{repoEntryKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11750,16 +12769,7 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>nodeId</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -11770,17 +12780,46 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#updateSinglePage">POST</h4> + <h4 id="http://www.example.com#deleteCourse">DELETE</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4232">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4233">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getById">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4236">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4237">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#updateEntry">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4240">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> + <li><a href="#d2e4241">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4243">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4244">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replaceResource">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3497">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3498">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4247">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4248">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3499">/repo/courses/{courseId}/elements/singlepage</h3> + <h3 id="d2e4249">/repo/entries/{repoEntryKey}/owners</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11790,10 +12829,19 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> @@ -11801,137 +12849,84 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachSinglePagePost">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e3503">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getOwners">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3514">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3515">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4253">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4254">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#attachSinglePagePost">POST</h4> + <h4 id="http://www.example.com#addOwners">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4257">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4258">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3518">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3519">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4260">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - <div class="method"> - <h4 id="http://www.example.com#attachSinglePage">PUT</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>objectives</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>filename</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>path</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> + </div> + </div> + <div class="resource"> + <h3 id="d2e4261">/repo/entries/{repoEntryKey}/owners/{identityKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#addOwner">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3532">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3533">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4266">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#attachSinglePage">PUT</h4> + <h4 id="http://www.example.com#removeOwner">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3536">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3537">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4269">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3538">/repo/courses/{courseId}/elements/task/{nodeId}</h3> + <h3 id="d2e4270">/repo/entries/{repoEntryKey}/file</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11941,16 +12936,16 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>nodeId</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -11961,21 +12956,61 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#updateTask">POST</h4> + <h4 id="http://www.example.com#getRepoFileById">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4274">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4275">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4276">/repo/entries/{repoEntryKey}/status</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#deleteCoursePermanently">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e3543">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4280">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3552">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3553">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4283">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4284">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3554">/repo/courses/{courseId}/elements/task</h3> + <h3 id="d2e4285">/repo/entries/{repoEntryKey}/coaches/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11985,132 +13020,156 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachTaskPost">POST</h4> + <h4 id="http://www.example.com#addCoach">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4290">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#removeCoach">DELETE</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4293">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4294">/repo/entries/{repoEntryKey}/coaches</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#addCoach">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e3558">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4298">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4299">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3569">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3570">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4301">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#attachTask">PUT</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>objectives</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>text</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>points</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> - </td> - <td></td> - </tr> - </table> + <h4 id="http://www.example.com#getCoaches">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4304">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4305">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4307">/repo/entries/{repoEntryKey}/participants</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getParticipants">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4311">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4312">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#addParticipants">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4315">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4316">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3583">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3584">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4318">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3585">/repo/courses/{courseId}/elements/test/{nodeId}</h3> + <h3 id="d2e4319">/repo/entries/{repoEntryKey}/participants/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12120,7 +13179,16 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -12129,7 +13197,7 @@ </tr> <tr> <td> - <p><strong>nodeId</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -12140,21 +13208,23 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#updateTest">POST</h4> - <p><em>acceptable request representations:</em></p> + <h4 id="http://www.example.com#addParticipant">PUT</h4> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3590">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4324">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#removeParticipant">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3598">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3599">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4327">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3600">/repo/courses/{courseId}/elements/test</h3> + <h3 id="d2e4328">/repo/entries/{repoEntryKey}/lectureblocks</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12164,10 +13234,19 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> @@ -12175,112 +13254,44 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachTestPost">POST</h4> + <h4 id="http://www.example.com#getLectureBlocks">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4332">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4333">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putLectureBlocks">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e3604">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4336">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e4337">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3614">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3615">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4339">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4340">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#attachTest">PUT</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>objectives</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>testResourceableId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> + <h4 id="http://www.example.com#postLectureBlocks">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4343">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4344">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e4345">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3627">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3628">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4347">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4348">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3629">/repo/courses/{courseId}/elements/assessment/{nodeId}</h3> + <h3 id="d2e4349">/repo/entries/{repoEntryKey}/lectureblocks/sync/calendar</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12290,16 +13301,16 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>nodeId</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -12310,21 +13321,16 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#updateAssessment">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e3634">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#syncCalendar">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3641">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3642">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4352">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3643">/repo/courses/{courseId}/elements/assessment</h3> + <h3 id="d2e4353">/repo/entries/{repoEntryKey}/lectureblocks/adaptation</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12334,114 +13340,36 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#attachAssessmentPost">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e3647">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3656">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3657">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#attachAssessment">PUT</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>objectives</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#adapatation">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3668">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3669">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4356">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3671">/repo/courses/{courseId}/elements/wiki/{nodeId}</h3> + <h3 id="d2e4357">/repo/entries/{repoEntryKey}/lectureblocks/configuration</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12451,16 +13379,16 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>nodeId</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -12471,21 +13399,31 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#updateWiki">POST</h4> + <h4 id="http://www.example.com#getConfiguration">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4360">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4361">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#updateConfiguration">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e3676">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4364">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4365">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e4366">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3684">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3685">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4368">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4369">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3686">/repo/courses/{courseId}/elements/wiki<span class="optional">?parentNodeId</span><span class="optional">&position</span><span class="optional">&shortTitle</span><span class="optional">&longTitle</span><span class="optional">&objectives</span><span class="optional">&visibilityExpertRules</span><span class="optional">&accessExpertRules</span><span class="optional">&wikiResourceableId</span></h3> + <h3 id="d2e4370">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12495,7 +13433,25 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>lectureBlockKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -12506,191 +13462,72 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachWikiPost">POST</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>objectives</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>wikiResourceableId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> + <h4 id="http://www.example.com#getLectureBlock">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3699">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3700">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4374">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4375">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#attachWiki">PUT</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>objectives</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>wikiResourceableId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> + <h4 id="http://www.example.com#deleteLectureBlock">DELETE</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4378">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4379">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/sync/calendar</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>lectureBlockKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#syncCalendar">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3712">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3713">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4382">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3714">/repo/courses/{courseId}/elements/blog/{nodeId}</h3> + <h3 id="d2e4383">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12700,41 +13537,46 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>nodeId</strong></p> + <p><strong>repoEntryKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>lectureBlockKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#updateBlog">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e3719">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getTeacher">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3727">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3728">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4386">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4387">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3729">/repo/courses/{courseId}/elements/blog<span class="optional">?parentNodeId</span><span class="optional">&position</span><span class="optional">&shortTitle</span><span class="optional">&longTitle</span><span class="optional">&objectives</span><span class="optional">&visibilityExpertRules</span><span class="optional">&accessExpertRules</span><span class="optional">&repoEntry</span></h3> + <h3 id="d2e4388">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12744,7 +13586,25 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>lectureBlockKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -12755,191 +13615,92 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachBlogPost">POST</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>objectives</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>repoEntry</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> + <h4 id="http://www.example.com#addRepositoryEntryParticipantGroup">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3742">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3743">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4391">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#attachBlog">PUT</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>objectives</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>repoEntry</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> + <h4 id="http://www.example.com#deleteRepositoryEntryParticipantGroup">DELETE</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4394">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4395">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>repoEntryKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>lectureBlockKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#addTeacher">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4399">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#removeTeacher">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3755">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3756">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4402">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3757">/repo/courses/{courseId}/elements/survey<span class="optional">?parentNodeId</span><span class="optional">&position</span><span class="optional">&shortTitle</span><span class="optional">&longTitle</span><span class="optional">&objectives</span><span class="optional">&visibilityExpertRules</span><span class="optional">&accessExpertRules</span><span class="optional">&surveyResourceableId</span></h3> + <h3 id="d2e4403">/repo/courses/{courseId}/elements/folder</h3> + <p>Description:<br> + + <P> + Initial Date: 6 févr. 2012 <br> + </p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12954,13 +13715,34 @@ <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td></td> + <td> + <p>The course resourceable's id</p> + </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachSurveyPost">POST</h4> + <h4 id="http://www.example.com#getFolders">GET</h4> + <p>Retrieves metadata of the course node</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4415">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4428"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4434"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#attachFolder">PUT</h4> + <p>This attaches a Folder Element onto a given course. The element will be + inserted underneath the supplied parentNodeId. + </p> <h6>request query parameters</h6> <table> <tr> @@ -12975,176 +13757,213 @@ <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>The node's id which will be the parent of this folder</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> + <p><strong>position</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>longTitle</strong></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> + <p>The node's position relative to its sibling nodes (optional)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>objectives</strong></p> + <p><strong>shortTitle</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> <p>Default: <tt>undefined</tt></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>The node short title</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>accessExpertRules</strong></p> + <p><strong>longTitle</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>surveyResourceableId</strong></p> + <p>Default: <tt>undefined</tt></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p>The node long title</p> </td> - <td></td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3770">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3771">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#attachSurvey">PUT</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> </tr> <tr> <td> - <p><strong>parentNodeId</strong></p> + <p><strong>objectives</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> + <p>Default: <tt>undefined</tt></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>The node learning objectives</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>shortTitle</strong></p> + <p><strong>visibilityExpertRules</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> + <p>The rules to view the node (optional)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>objectives</strong></p> + <p><strong>downloadExpertRules</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>The rules to download files (optional)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>accessExpertRules</strong></p> + <p><strong>uploadExpertRules</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>surveyResourceableId</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p>The rules to upload files (optional)</p> </td> - <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3783">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3784">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4468">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4481"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4487"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#attachFolderPost">POST</h4> + <p>This attaches a Folder Element onto a given course. The element will be + inserted underneath the supplied parentNodeId. + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4494">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4522">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4535"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4541"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4544">/repo/courses/{courseId}/elements/folder/{nodeId}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The course resourceable's id</p> + </td> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The course resourceable's id</p> + </td> + </tr> + <tr> + <td> + <p><strong>nodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The node's id</p> + </td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#updateFolder">POST</h4> + <p>This updates a Folder Element onto a given course.</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4555">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4577">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4590"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4596"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getFolder">GET</h4> + <p>Retrieves metadata of the course node</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4605">application/xml, application/json (<abbr title="{http://www.example.com} folderVO">ns3:folderVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4618"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4624"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3785">/repo/courses/{courseId}/elements/survey/{nodeId}</h3> + <h3 id="d2e4627">/repo/courses/{courseId}/elements/folder/{nodeId}/files</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -13152,6 +13971,17 @@ <th>value</th> <th>description</th> </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The course resourceable's id</p> + </td> + </tr> <tr> <td> <p><strong>courseId</strong></p> @@ -13174,21 +14004,61 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachSurveyPost">POST</h4> + <h4 id="http://www.example.com#listFiles">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4632">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4633">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4634">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4635">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4636">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postFileToRoot">POST</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4639">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4640">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postFile64ToRoot">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4643">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4648">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4649">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFileToRoot">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4652">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4653">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e3790">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4656">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4657">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3798">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3799">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4659">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4660">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3800">/repo/courses/{courseId}/elements/externalpage/{nodeId}</h3> + <h3 id="d2e4661">/repo/courses/{courseId}/elements/folder/{nodeId}/files/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -13198,12 +14068,14 @@ </tr> <tr> <td> - <p><strong>parentNodeId</strong></p> + <p><strong>courseId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The course resourceable's id</p> </td> - <td></td> </tr> <tr> <td> @@ -13214,230 +14086,102 @@ </td> <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#updateExternalPage">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e3805">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3813">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3814">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3815">/repo/courses/{courseId}/elements/externalpage<span class="optional">?parentNodeId</span><span class="optional">&position</span><span class="optional">&shortTitle</span><span class="optional">&longTitle</span><span class="optional">&objectives</span><span class="optional">&visibilityExpertRules</span><span class="optional">&accessExpertRules</span><span class="optional">&url</span></h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>nodeId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#attachExternalPagePost">POST</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>objectives</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>url</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3828">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3829">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#attachExternalPage">PUT</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>objectives</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>url</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> + <tr> + <td> + <p><strong>path</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#listFiles">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4665">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4666">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4667">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4668">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4669">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postFileToFolder">POST</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4672">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4673">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4674">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4677">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4682">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4683">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4684">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFileToFolder">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4687">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4688">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4689">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4692">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4693">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4695">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4696">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFolders">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4699">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4700">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#deleteItem">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3841">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3842">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4703">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4704">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3843">/repo/courses/{courseId}/elements/task/{nodeId}/file</h3> + <h3 id="d2e4705">/repo/courses/{courseId}/elements/folder/{nodeId}/files/metadata/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -13445,6 +14189,17 @@ <th>value</th> <th>description</th> </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The course resourceable's id</p> + </td> + </tr> <tr> <td> <p><strong>courseId</strong></p> @@ -13463,29 +14218,30 @@ </td> <td></td> </tr> + <tr> + <td> + <p><strong>path</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachTaskFilePost">POST</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3848">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3849">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#attachTaskFile">PUT</h4> + <h4 id="http://www.example.com#getFileMetadata">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3852">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3853">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4709">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4710">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3854">/repo/courses/{courseId}/elements/task/{nodeId}/configuration<span class="optional">?enableAssignment</span><span class="optional">&taskAssignmentType</span><span class="optional">&taskAssignmentText</span><span class="optional">&enableTaskPreview</span><span class="optional">&enableTaskDeselect</span><span class="optional">&onlyOneUserPerTask</span><span class="optional">&enableDropbox</span><span class="optional">&enableDropboxConfirmationMail</span><span class="optional">&dropboxConfirmationText</span><span class="optional">&enableReturnbox</span><span class="optional">&enableScoring</span><span class="optional">&grantScoring</span><span class="optional">&scoreMin</span><span class="optional">&scoreMax</span><span class="optional">&grantPassing</span><span class="optional">&scorePassingThreshold</span><span class="optional">&enableCommentField</span><span class="optional">&commentForUser</span><span class="optional">&commentForCoaches</span><span class="optional">&enableSolution</span><span class="optional">&accessExpertRuleTask</span><span class="optional">&accessExpertRuleDropbox</span><span class="optional">&accessExpertRuleReturnbox</span><span class="optional">&accessExpertRuleScoring</span><span class="optional">&accessExpertRuleSolution</span></h3> + <h3 id="d2e4711">/repo/courses/{courseId}/elements/folder/{nodeId}/files/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -13493,6 +14249,17 @@ <th>value</th> <th>description</th> </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The course resourceable's id</p> + </td> + </tr> <tr> <td> <p><strong>courseId</strong></p> @@ -13515,248 +14282,180 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addTaskConfigurationPost">POST</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>enableAssignment</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>taskAssignmentType</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>taskAssignmentText</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>enableTaskPreview</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>enableTaskDeselect</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>onlyOneUserPerTask</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>enableDropbox</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>enableDropboxConfirmationMail</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>dropboxConfirmationText</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>enableReturnbox</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>enableScoring</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>grantScoring</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>scoreMin</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>scoreMax</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> - </td> - <td></td> - </tr> + <h4 id="http://www.example.com#getVersion">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4714">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4715">/repo/forums</h3> + <p>Description:<br> + Web service to manage forums. + + <P> + Initial Date: 26 aug. 2010 <br> + </p> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e4718">/repo/forums/version</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getVersion">GET</h4> + <p>The version of the Forum Web Service</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4723">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4733">/repo/forums/{forumKey}</h3> + <p>Description:<br> + Web service to manage a forum. + + <P> + Initial Date: 20 apr. 2010 <br> + </p> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>forumKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The key of the forum</p> + </td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getForum">GET</h4> + <p>Retrieves the forum.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4745">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4758"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4764"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4767">/repo/forums/{forumKey}/threads<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>forumKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The key of the forum</p> + </td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getThreads">GET</h4> + <p>Retrieves the threads in the forum</p> + <h6>request query parameters</h6> + <table> <tr> - <td> - <p><strong>grantPassing</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>scorePassingThreshold</strong></p> + <p><strong>start</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>enableCommentField</strong></p> + <p><strong>limit</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>commentForUser</strong></p> + <p><strong>orderBy</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>commentForCoaches</strong></p> + <p>Default: <tt>creationDate</tt></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>(value name,creationDate)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>enableSolution</strong></p> + <p><strong>asc</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRuleTask</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRuleDropbox</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRuleReturnbox</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRuleScoring</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>accessExpertRuleSolution</strong></p> + <p>Default: <tt>true</tt></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>(value true/false)</p> </td> - <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3887">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3888">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4783">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4796"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4802"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#addTaskConfiguration">PUT</h4> + <h4 id="http://www.example.com#newThreadToForum">PUT</h4> + <p>Creates a new thread in the forum of the course node</p> <h6>request query parameters</h6> <table> <tr> @@ -13766,674 +14465,920 @@ </tr> <tr> <td> - <p><strong>enableAssignment</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p><strong>title</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>taskAssignmentType</strong></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>The title for the first post in the thread</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>taskAssignmentText</strong></p> + <p><strong>body</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>enableTaskPreview</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>The body for the first post in the thread</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>enableTaskDeselect</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p><strong>authorKey</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>onlyOneUserPerTask</strong></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>The author user key (optional)</p> </td> - <td></td> </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4821">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4834"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4840"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#newThreadToForumPost">POST</h4> + <p>Creates a new thread in the forum of the course node</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4847">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4854">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4867"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4873"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4876">/repo/forums/{forumKey}/posts/{threadKey}<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>forumKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The key of the forum</p> + </td> + </tr> + <tr> + <td> + <p><strong>threadKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The key of the thread</p> + </td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getMessages">GET</h4> + <p>Retrieves the messages in the thread</p> + <h6>request query parameters</h6> + <table> <tr> - <td> - <p><strong>enableDropbox</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>enableDropboxConfirmationMail</strong></p> + <p><strong>start</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>dropboxConfirmationText</strong></p> + <p><strong>limit</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>enableReturnbox</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p><strong>orderBy</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>enableScoring</strong></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>creationDate</tt></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>(value name, creationDate)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>grantScoring</strong></p> + <p><strong>asc</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>scoreMin</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>scoreMax</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>grantPassing</strong></p> + <p>Default: <tt>true</tt></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>(value true/false)</p> </td> - <td></td> </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4895">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4908"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4914"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4917">/repo/forums/{forumKey}/posts/{messageKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>forumKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The key of the forum</p> + </td> + </tr> + <tr> + <td> + <p><strong>messageKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The id of the reply message</p> + </td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#replyToPostPost">POST</h4> + <p>Creates a new reply in the forum of the course node</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4925">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4938">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4951"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4957"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replyToPost">PUT</h4> + <p>Creates a new reply in the forum of the course node</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4964">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e4965">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4969">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4982"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4988"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replyToPost">PUT</h4> + <p>Creates a new reply in the forum of the course node</p> + <h6>request query parameters</h6> + <table> <tr> - <td> - <p><strong>scorePassingThreshold</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> - </td> - <td></td> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>enableCommentField</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p><strong>title</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>commentForUser</strong></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>The title for the first post in the thread</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>commentForCoaches</strong></p> + <p><strong>body</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>enableSolution</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>The body for the first post in the thread</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>accessExpertRuleTask</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><strong>authorKey</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>accessExpertRuleDropbox</strong></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>The author user key (optional)</p> </td> - <td></td> </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5007">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5020"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5026"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5029">/repo/forums/{forumKey}/posts/{messageKey}/attachments</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>forumKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The key of the forum</p> + </td> + </tr> + <tr> + <td> + <p><strong>messageKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The key of the message</p> + </td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getAttachments">GET</h4> + <p>Retrieves the attachments of the message</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5039">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5045"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e5052">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5058">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5064"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replyToPostAttachment">PUT</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e5071">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e5072">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5076">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5082"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5091">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5097"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5100">/repo/forums/{forumKey}/posts/{messageKey}/attachments/{filename}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>forumKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The key of the forum</p> + </td> + </tr> + <tr> + <td> + <p><strong>messageKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The identity key of the user being searched</p> + </td> + </tr> + <tr> + <td> + <p><strong>filename</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The name of the attachment</p> + </td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getAttachment">GET</h4> + <p>Retrieves the attachment of the message</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5113">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5119"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5122">/contacts<span class="optional">?start</span><span class="optional">&limit</span></h3> + <p>Description:<br> + + <P> + Initial Date: 21 oct. 2011 <br> + </p> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getMyContacts">GET</h4> + <p>Retrieve the contacts of the logged in identity.</p> + <h6>request query parameters</h6> + <table> <tr> - <td> - <p><strong>accessExpertRuleReturnbox</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>accessExpertRuleScoring</strong></p> + <p><strong>start</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>accessExpertRuleSolution</strong></p> + <p><strong>limit</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> </td> <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3919">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3920">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5134"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5137">/openmeetings</h3> + <p>Initial date: 13.11.2012<br></p> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e5140">/openmeetings/{identityToken}/portrait</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>identityToken</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The identity key of the user being searched</p> + </td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getPortrait">GET</h4> + <p>Retrieves the portrait of an user</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5150">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5156"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5159">/system</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e5160">/system/environment</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getEnvironnementXml">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5163">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5164">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5165">/system/release</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getReleaseInfos">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5168">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5169">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5170">/system/log</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getCurrentLogFile">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5173">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5174">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5175">/system/log/{date}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>date</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getLogFileByDate">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5179">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5180">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5181">/system/log/version</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getVersion">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5184">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5185">/system/monitoring</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e5186">/system/monitoring/configuration</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getImplementedProbes">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5189">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5190">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5191">/system/monitoring/status</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTaskConfiguration">GET</h4> + <h4 id="http://www.example.com#getSystemSummaryVO">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3923">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3924">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5194">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5195">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3925">/repo/courses/{courseId}/elements/survey/{nodeId}/configuration<span class="optional">?allowCancel</span><span class="optional">&allowNavigation</span><span class="optional">&allowSuspend</span><span class="optional">&sequencePresentation</span><span class="optional">&showNavigation</span><span class="optional">&showQuestionTitle</span><span class="optional">&showSectionsOnly</span></h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>nodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> + <h3 id="d2e5196">/system/monitoring/runtime</h3> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addSurveyConfigurationPost">POST</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>allowCancel</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>allowNavigation</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>allowSuspend</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>sequencePresentation</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>itemPage</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showNavigation</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showQuestionTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showSectionsOnly</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - </table> + <h4 id="http://www.example.com#getSystemSummaryVO">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3938">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3939">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5199">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5200">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5201">/system/monitoring/runtime/memory</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addSurveyConfiguration">PUT</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>allowCancel</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>allowNavigation</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>allowSuspend</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>sequencePresentation</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>itemPage</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showNavigation</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showQuestionTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showSectionsOnly</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - </table> + <h4 id="http://www.example.com#getMemoryStatistics">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5204">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5205">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5206">/system/monitoring/runtime/threads</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getThreadStatistics">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5209">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5210">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5211">/system/monitoring/runtime/classes</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getCompilationXml">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5214">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5215">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5216">/system/monitoring/database</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getDatabaseStatistics">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5219">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5220">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5221">/system/monitoring/openolat</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getStatistics">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5224">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5225">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5226">/system/monitoring/openolat/tasks</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getTasks">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3950">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3951">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5229">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5230">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5231">/system/monitoring/openolat/users</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getSurveyConfiguration">GET</h4> + <h4 id="http://www.example.com#getUserStatistics">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3954">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3955">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5234">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5235">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3957">/repo/courses/{courseId}/elements/test/{nodeId}/configuration<span class="optional">?allowCancel</span><span class="optional">&allowNavigation</span><span class="optional">&allowSuspend</span><span class="optional">&numAttempts</span><span class="optional">&sequencePresentation</span><span class="optional">&showNavigation</span><span class="optional">&showQuestionTitle</span><span class="optional">&showResultsAfterFinish</span><span class="optional">&showResultsDependendOnDate</span><span class="optional">&showResultsOnHomepage</span><span class="optional">&showScoreInfo</span><span class="optional">&showQuestionProgress</span><span class="optional">&showScoreProgress</span><span class="optional">&showSectionsOnly</span><span class="optional">&summaryPresentation</span><span class="optional">&startDate</span><span class="optional">&endDate</span></h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>nodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> + <h3 id="d2e5236">/system/monitoring/openolat/repository</h3> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addTestConfigurationPost">POST</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>allowCancel</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>allowNavigation</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>allowSuspend</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>numAttempts</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>sequencePresentation</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>itemPage</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showNavigation</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showQuestionTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showResultsAfterFinish</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showResultsDependendOnDate</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showResultsOnHomepage</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showScoreInfo</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showQuestionProgress</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showScoreProgress</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showSectionsOnly</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>summaryPresentation</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>summaryCompact</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>startDate</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>endDate</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> + <h4 id="http://www.example.com#getRepositoryStatistics">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5239">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5240">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5241">/system/monitoring/openolat/sessions</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getSessions">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5244">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5245">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5246">/system/monitoring/openolat/indexer</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getStatistics">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5249">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5250">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5251">/system/monitoring/openolat/indexer/status</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getStatus">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5254">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5255">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#setStatus">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e5258">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3981">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3982">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5261">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#addTestConfiguration">PUT</h4> + <h4 id="http://www.example.com#getPlainTextStatus">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5264">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5265">/system/monitoring/memory</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getMemory">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5268">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getMemoryXml">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5271">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5272">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5273">/system/monitoring/memory/pools</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getMemoryPools">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5276">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getMemoryPoolsXml">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5279">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5280">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5281">/system/monitoring/memory/samples<span class="optional">?from</span><span class="optional">&to</span><span class="optional">&lastSamples</span></h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getSamplesXml">GET</h4> <h6>request query parameters</h6> <table> <tr> @@ -14443,191 +15388,240 @@ </tr> <tr> <td> - <p><strong>allowCancel</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>allowNavigation</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>allowSuspend</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>numAttempts</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>sequencePresentation</strong></p> + <p><strong>from</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>itemPage</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showNavigation</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showQuestionTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showResultsAfterFinish</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showResultsDependendOnDate</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showResultsOnHomepage</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showScoreInfo</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showQuestionProgress</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>showScoreProgress</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>showSectionsOnly</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>summaryPresentation</strong></p> + <p><strong>to</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>summaryCompact</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>startDate</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>endDate</strong></p> + <p><strong>lastSamples</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> </td> <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4004">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4005">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5288">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5289">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5290">/system/monitoring/threads</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getThreads">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5293">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getThreadsXml">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5296">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5297">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5298">/system/monitoring/threads/cpu</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getThreadsCpu">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5301">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5302">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5303">/system/indexer</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getStatistics">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5306">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5307">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5308">/system/indexer/status</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getStatus">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5311">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5312">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#setStatus">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e5315">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5318">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getPlainTextStatus">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5321">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5322">/system/notifications</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e5323">/system/notifications/status</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTestConfiguration">GET</h4> + <h4 id="http://www.example.com#getStatus">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5326">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5327">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#setStatus">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e5330">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5333">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getPlainTextStatus">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5336">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5337">/repo/courses/{courseId}/assessments</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getCourseResults">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5341">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5342">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5343">/repo/courses/{courseId}/assessments/users/{identityKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getCourseResultsOf">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4008">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4009">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5348">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5349">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4010">/repo/courses/{courseId}/elements/{nodeId}</h3> + <h3 id="d2e5350">/repo/courses/{courseId}/assessments/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -14644,6 +15638,15 @@ </td> <td></td> </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> <tr> <td> <p><strong>nodeId</strong></p> @@ -14657,38 +15660,87 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getCourseNode">GET</h4> + <h4 id="http://www.example.com#getAssessableResults">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5355">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5356">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postAssessableResults">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e5359">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>)</a></li> + <li><a href="#d2e5360">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4015">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4016">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5362">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4017">/repo/wikis</h3> - <p>The Wikis Webservice.<br /> - OO-112 - </p> + <h3 id="d2e5363">/repo/courses/{courseId}/assessments/{nodeId}/users/{identityKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>nodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getWikis">GET</h4> - <p>get list of repo-entry wikis. Group-Wikis are not listed!</p> + <h4 id="http://www.example.com#getCourseNodeResultsForNode">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4024">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4025">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5369">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5370">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4026">/repo/wikis/{wikiKey}</h3> - <p>The Wiki Webservice<br /> - allows the export of "normal" wikis ( in contrast to group-wikis) OO-112 - </p> + <h3 id="d2e5371">/repo/courses/{courseId}/assessments/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -14698,42 +15750,106 @@ </tr> <tr> <td> - <p><strong>wikiKey</strong></p> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getVersion">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5374">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5375">/i18n</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e5376">/i18n/{package}/{key}<span class="optional">?locale</span></h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>package</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> + </tr> + <tr> <td> - <p>part of the REST path, the resourceable-id / repo-entry-key / - softkey of the wiki resource. - </p> + <p><strong>key</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#exportWiki">GET</h4> - <p>will export the specified wiki (which must be a repo-entry-wiki) to a CP - and serve as zip-file.<br /> - </p> + <h4 id="http://www.example.com#getTranslation">GET</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>locale</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5383">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5384">/i18n/version</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4036">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4037">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5387">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4038">/vitero</h3> - <p>Initial date: 06.07.2015<br></p> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e4041">/vitero/{resourceName}/{resourceId}/{subIdentifier}</h3> - <p>Initial date: 14.07.2015<br></p> + <h3 id="d2e5388">/users/{identityKey}/forums</h3> + <p>Description:<br> + + <P> + Initial Date: 6 déc. 2011 <br> + </p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -14743,72 +15859,43 @@ </tr> <tr> <td> - <p><strong>resourceName</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>resourceId</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>subIdentifier</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>The key of the user (IdentityImpl)</p> </td> - <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#createRoom">PUT</h4> - <p>Return the created or updated booking</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e4051">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e4052">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4056">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#updateRoom">POST</h4> - <p>Return the created or updated booking</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e4070">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e4071">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getForums">GET</h4> + <p>Retrieves a list of forums on a user base. All forums of groups + where the user is participant/tutor + all forums in course where + the user is a participant (owner, tutor or participant) + </p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4075">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e5400">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getRooms">GET</h4> - <p>returns the list of booking of the resource.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4091">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e5413"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4101">/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}/members</h3> + <h3 id="d2e5416">/users/{identityKey}/forums/group/{groupKey}</h3> + <p>Description:<br> + Web service to manage a forum. + + <P> + Initial Date: 20 apr. 2010 <br> + </p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -14818,72 +15905,47 @@ </tr> <tr> <td> - <p><strong>resourceName</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>resourceId</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>subIdentifier</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>The key of the user (IdentityImpl)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>bookingId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p><strong>groupKey</strong></p> </td> <td> - <p>The id of the booking</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getMembers">GET</h4> - <p>Returns the list of members of the booking.</p> + <h4 id="http://www.example.com#getForum">GET</h4> + <p>Retrieves the forum.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4111">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e5426">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#addMembers">POST</h4> - <p>Update the list of members of the booking, it add and mutates the - members and delete the missing members. - </p> - <p><em>acceptable request representations:</em></p> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4125">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4126">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5439"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4130">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e5445"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4140">/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}</h3> + <h3 id="d2e5448">/users/{identityKey}/forums/group/{groupKey}/threads<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -14893,37 +15955,21 @@ </tr> <tr> <td> - <p><strong>resourceName</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>resourceId</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>subIdentifier</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>The key of the user (IdentityImpl)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>bookingId</strong></p> + <p><strong>groupKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> @@ -14931,188 +15977,154 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#deleteRoom">DELETE</h4> - <p>Delete the booking</p> + <h4 id="http://www.example.com#getThreads">GET</h4> + <p>Retrieves the threads in the forum</p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>start</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>limit</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>orderBy</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>creationDate</tt></p> + </td> + <td> + <p>(value name,creationDate)</p> + </td> + </tr> + <tr> + <td> + <p><strong>asc</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td> + <p>(value true/false)</p> + </td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5464">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4148"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5477"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5483"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4152">/repo/courses/{courseId}/assessments</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getCourseResults">GET</h4> + <h4 id="http://www.example.com#newThreadToForum">PUT</h4> + <p>Creates a new thread in the forum of the course node</p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>title</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The title for the first post in the thread</p> + </td> + </tr> + <tr> + <td> + <p><strong>body</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The body for the first post in the thread</p> + </td> + </tr> + <tr> + <td> + <p><strong>authorKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The author user key (optional)</p> + </td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5502">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4156">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4157">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5515"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4158">/repo/courses/{courseId}/assessments/version</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4161">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5521"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4162">/repo/courses/{courseId}/assessments/users/{identityKey}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getCourseResultsOf">GET</h4> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#newThreadToForumPost">POST</h4> + <p>Creates a new thread in the forum of the course node</p> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4167">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4168">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5528">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4169">/repo/courses/{courseId}/assessments/{nodeId}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>nodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getAssessableResults">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4174">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4175">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5535">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postAssessableResults">POST</h4> - <p><em>acceptable request representations:</em></p> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4178">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>)</a></li> - <li><a href="#d2e4179">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>)</a></li> + <li><a href="#d2e5548"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4181">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5554"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4182">/repo/courses/{courseId}/assessments/{nodeId}/users/{identityKey}</h3> + <h3 id="d2e5557">/users/{identityKey}/forums/group/{groupKey}/posts/{threadKey}<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15120,15 +16132,6 @@ <th>value</th> <th>description</th> </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> <tr> <td> <p><strong>identityKey</strong></p> @@ -15136,73 +16139,36 @@ <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p>The key of the user (IdentityImpl)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>nodeId</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getCourseNodeResultsForNode">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4188">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4189">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4190">/repo/courses/{courseId}/elements/enrollment<span class="optional">?parentNodeId</span><span class="optional">&position</span><span class="optional">&shortTitle</span><span class="optional">&longTitle</span><span class="optional">&objectives</span><span class="optional">&visibilityExpertRules</span><span class="optional">&accessExpertRules</span><span class="optional">&groups</span><span class="optional">&cancelEnabled</span></h3> - <p>Description:<br> - This handles the enrollment building block. - - <P> - Initial Date: 10 mai 2010 <br> - </p> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>threadKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td> - <p>The course resourceable's id</p> + <p>The key of the thread</p> </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachEnrolmment">PUT</h4> - <p>This attaches an enrollment element onto a given course, the element will be - inserted underneath the supplied parentNodeId - </p> + <h4 id="http://www.example.com#getMessages">GET</h4> + <p>Retrieves the messages in the thread</p> <h6>request query parameters</h6> <table> <tr> @@ -15212,147 +16178,209 @@ </tr> <tr> <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The node's id which will be the parent of this structure</p> - </td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> + <p><strong>start</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> </td> - <td> - <p>The node's position relative to its sibling nodes (optional)</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> + <p><strong>limit</strong></p> </td> <td> - <p>The node short title</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>longTitle</strong></p> + <p><strong>orderBy</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> + <p>Default: <tt>creationDate</tt></p> </td> <td> - <p>The node long title</p> + <p>(value name, creationDate)</p> </td> </tr> <tr> <td> - <p><strong>objectives</strong></p> + <p><strong>asc</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> </td> <td> - <p>The node learning objectives</p> + <p>(value true/false)</p> </td> </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5576">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5589"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5595"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5598">/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The key of the user (IdentityImpl)</p> + </td> + </tr> + <tr> + <td> + <p><strong>groupKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>messageKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The id of the reply message</p> + </td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#replyToPostPost">POST</h4> + <p>Creates a new reply in the forum of the course node</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e5606">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5619">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5632"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5638"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replyToPost">PUT</h4> + <p>Creates a new reply in the forum of the course node</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e5645">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e5646">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5650">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5663"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5669"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replyToPost">PUT</h4> + <p>Creates a new reply in the forum of the course node</p> + <h6>request query parameters</h6> + <table> <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The rules to view the node (optional)</p> - </td> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>accessExpertRules</strong></p> + <p><strong>title</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td> - <p>The rules to access the node (optional)</p> + <p>The title for the first post in the thread</p> </td> </tr> <tr> <td> - <p><strong>groups</strong></p> + <p><strong>body</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td> - <p>A list of learning groups (list of keys)</p> + <p>The body for the first post in the thread</p> </td> </tr> <tr> <td> - <p><strong>cancelEnabled</strong></p> + <p><strong>authorKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td> - <p>cancel enrollment enabled or not</p> + <p>The author user key (optional)</p> </td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4230">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4243"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4249"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#attachEnrollmenetPost">POST</h4> - <p>This attaches an enrollment element onto a given course, the element will be - inserted underneath the supplied parentNodeId - </p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e4256">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4287">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e5688">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4300"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5701"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4306"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5707"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4309">/repo/courses/{courseId}/elements/enrollment/{nodeId}/groups</h3> + <h3 id="d2e5710">/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15362,18 +16390,18 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td> - <p>The course resourceable's id</p> + <p>The key of the user (IdentityImpl)</p> </td> </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -15382,41 +16410,88 @@ </tr> <tr> <td> - <p><strong>nodeId</strong></p> + <p><strong>messageKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The key of the message</p> </td> - <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getGroups">GET</h4> - <p>Retrieves the groups where the enrollment happens</p> + <h4 id="http://www.example.com#getAttachments">GET</h4> + <p>Retrieves the attachments of the message</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5720">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5726"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e5733">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5739">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5745"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replyToPostAttachment">PUT</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e5752">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e5753">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5757">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4318">application/xml, application/json (<abbr title="{http://www.example.com} groupVO">ns3:groupVO</abbr>)</a></li> + <li><a href="#d2e5763"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4331"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5772">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4337"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5778"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4340">/users/{identityKey}/forums</h3> - <p>Description:<br> - - <P> - Initial Date: 6 déc. 2011 <br> - </p> + <h3 id="d2e5781">/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments/{filename}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15435,28 +16510,56 @@ <p>The key of the user (IdentityImpl)</p> </td> </tr> + <tr> + <td> + <p><strong>groupKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>messageKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The identity key of the user being searched</p> + </td> + </tr> + <tr> + <td> + <p><strong>filename</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The name of the attachment</p> + </td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getForums">GET</h4> - <p>Retrieves a list of forums on a user base. All forums of groups - where the user is participant/tutor + all forums in course where - the user is a participant (owner, tutor or participant) - </p> + <h4 id="http://www.example.com#getAttachment">GET</h4> + <p>Retrieves the attachment of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4352">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e5794">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4365"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5800"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4368">/users/{identityKey}/forums/group/{groupKey}</h3> + <h3 id="d2e5803">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}</h3> <p>Description:<br> Web service to manage a forum. @@ -15483,13 +16586,22 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>courseKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>courseNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> @@ -15498,21 +16610,21 @@ <p>Retrieves the forum.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4378">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e5814">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4391"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5827"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4397"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5833"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4400">/users/{identityKey}/forums/group/{groupKey}/threads<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> + <h3 id="d2e5836">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/threads<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15533,13 +16645,22 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>courseKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>courseNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> @@ -15600,15 +16721,15 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4416">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e5852">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4429"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5865"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4435"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5871"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -15657,15 +16778,15 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4454">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5890">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4467"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5903"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4473"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5909"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -15673,25 +16794,25 @@ <p>Creates a new thread in the forum of the course node</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4480">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5916">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4487">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5923">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4500"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5936"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4506"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5942"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4509">/users/{identityKey}/forums/group/{groupKey}/posts/{threadKey}<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> + <h3 id="d2e5945">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{threadKey}<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15712,13 +16833,22 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>courseKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>courseNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> <tr> <td> <p><strong>threadKey</strong></p> @@ -15790,21 +16920,21 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4528">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e5964">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4541"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5977"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4547"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5983"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4550">/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}</h3> + <h3 id="d2e5986">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15825,13 +16955,22 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>courseKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>courseNodeId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> <tr> <td> <p><strong>messageKey</strong></p> @@ -15851,19 +16990,19 @@ <p>Creates a new reply in the forum of the course node</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4558">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5994">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4571">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6007">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4584"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6020"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4590"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6026"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -15871,20 +17010,20 @@ <p>Creates a new reply in the forum of the course node</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4597">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e4598">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e6033">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e6034">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4602">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6038">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4615"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6051"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4621"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6057"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -15933,21 +17072,21 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4640">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6076">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4653"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6089"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4659"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6095"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4662">/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments</h3> + <h3 id="d2e6098">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15960,18 +17099,27 @@ <p><strong>identityKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The key of the user (IdentityImpl)</p> + </td> + </tr> + <tr> + <td> + <p><strong>courseKey</strong></p> </td> <td> - <p>The key of the user (IdentityImpl)</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <p><strong>courseNodeId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> @@ -15994,11 +17142,11 @@ <p>Retrieves the attachments of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4672">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6108">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4678"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6114"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -16009,15 +17157,15 @@ </p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4685">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6121">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4691">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6127">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6133"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -16028,16 +17176,16 @@ </p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4704">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e4705">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e6140">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e6141">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4709">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6145">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4715"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6151"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -16048,91 +17196,17 @@ </p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4724">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4730"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4733">/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments/{filename}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the user (IdentityImpl)</p> - </td> - </tr> - <tr> - <td> - <p><strong>groupKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>messageKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The identity key of the user being searched</p> - </td> - </tr> - <tr> - <td> - <p><strong>filename</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The name of the attachment</p> - </td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getAttachment">GET</h4> - <p>Retrieves the attachment of the message</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4746">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6160">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4752"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6166"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4755">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}</h3> - <p>Description:<br> - Web service to manage a forum. - - <P> - Initial Date: 20 apr. 2010 <br> - </p> + <h3 id="d2e6169">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments/{filename}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16169,217 +17243,52 @@ </td> <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getForum">GET</h4> - <p>Retrieves the forum.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4766">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4779"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4785"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4788">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/threads<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>messageKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td> - <p>The key of the user (IdentityImpl)</p> - </td> - </tr> - <tr> - <td> - <p><strong>courseKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p>The identity key of the user being searched</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>courseNodeId</strong></p> + <p><strong>filename</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getThreads">GET</h4> - <p>Retrieves the threads in the forum</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>start</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>limit</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>orderBy</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>creationDate</tt></p> - </td> - <td> - <p>(value name,creationDate)</p> - </td> - </tr> - <tr> - <td> - <p><strong>asc</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td> - <p>(value true/false)</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4804">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4817"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4823"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#newThreadToForum">PUT</h4> - <p>Creates a new thread in the forum of the course node</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>title</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The title for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>body</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The body for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>authorKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The author user key (optional)</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4842">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4855"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4861"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#newThreadToForumPost">POST</h4> - <p>Creates a new thread in the forum of the course node</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e4868">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4875">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> + <td> + <p>The name of the attachment</p> + </td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getAttachment">GET</h4> + <p>Retrieves the attachment of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4888"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6182">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4894"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6188"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4897">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{threadKey}<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> + <h3 id="d2e6191">/auth</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e6192">/auth/{username}<span class="optional">?password</span><span class="optional">&x-olat-token</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16389,50 +17298,18 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the user (IdentityImpl)</p> - </td> - </tr> - <tr> - <td> - <p><strong>courseKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>courseNodeId</strong></p> + <p><strong>username</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> - <tr> - <td> - <p><strong>threadKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the thread</p> - </td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getMessages">GET</h4> - <p>Retrieves the messages in the thread</p> + <h4 id="http://www.example.com#login">GET</h4> <h6>request query parameters</h6> <table> <tr> @@ -16442,66 +17319,53 @@ </tr> <tr> <td> - <p><strong>start</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>limit</strong></p> + <p><strong>password</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>orderBy</strong></p> + <p><strong>x-olat-token</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>creationDate</tt></p> - </td> - <td> - <p>(value name, creationDate)</p> - </td> - </tr> - <tr> - <td> - <p><strong>asc</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td> - <p>(value true/false)</p> </td> + <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4916">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4929"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6199">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6200">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6201">/auth/version</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4935"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6204">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4938">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}</h3> + <h3 id="d2e6205">/taxonomy</h3> + <p>Initial date: 5 Oct 2017<br></p> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e6208">/taxonomy/{taxonomyKey}</h3> + <p>Initial date: 5 Oct 2017<br></p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16511,149 +17375,91 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the user (IdentityImpl)</p> - </td> - </tr> - <tr> - <td> - <p><strong>courseKey</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getTaxonomy">GET</h4> + <p>Return the taxonomy object specified by the key in path.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6218">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyVO">ns3:taxonomyVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6231"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6234">/taxonomy/{taxonomyKey}/levels</h3> + <h6>resource-wide template parameters</h6> + <table> <tr> - <td> - <p><strong>courseNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>messageKey</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td> - <p>The id of the reply message</p> - </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#replyToPostPost">POST</h4> - <p>Creates a new reply in the forum of the course node</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e4946">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4959">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getFlatTaxonomyLevels">GET</h4> + <p>Return the flatted levels of a taxonomy.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4972"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6241">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4978"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6254"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#replyToPost">PUT</h4> - <p>Creates a new reply in the forum of the course node</p> + <h4 id="http://www.example.com#putTaxonomyLevel">PUT</h4> + <p>Create or update a taxonomy level. The method changes to tree structure, a + null parent key will make the level a root one, a new parent key will move + the level. + </p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4985">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e4986">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4990">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5003"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5009"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6261">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e6262">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPost">PUT</h4> - <p>Creates a new reply in the forum of the course node</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>title</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The title for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>body</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The body for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>authorKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The author user key (optional)</p> - </td> - </tr> - </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5028">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6266">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5041"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6279"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5047"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6285"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5050">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments</h3> + <h3 id="d2e6288">/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16663,117 +17469,118 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td> - <p>The key of the user (IdentityImpl)</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>courseKey</strong></p> + <p><strong>taxonomyLevelKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#deleteTaxonomyLevel">DELETE</h4> + <p>Delete the taxonomy level definitively.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6296"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6302"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6308"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6314"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6317">/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> <tr> <td> - <p><strong>courseNodeId</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>messageKey</strong></p> + <p><strong>taxonomyLevelKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td> - <p>The key of the message</p> - </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getAttachments">GET</h4> - <p>Retrieves the attachments of the message</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5060">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5066"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e5073">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getTaxonomyLevelComptences">GET</h4> + <p>Return the competences of users on the taxonomy level specified in the key in path.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5079">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6325">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5085"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6338"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">PUT</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> + <h4 id="http://www.example.com#putTaxonomyLevelComptencesByIdentity">PUT</h4> + <p>Add a competence on a specific level of a taxonomy tree.</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e5092">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5093">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e6345">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e6346">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5097">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6350">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5103"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6363"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5112">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6369"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5118"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6375"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5121">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments/{filename}</h3> + <h3 id="d2e6378">/taxonomy/{taxonomyKey}/competences/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16783,79 +17590,96 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td> - <p>The key of the user (IdentityImpl)</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>courseKey</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getTaxonomyComptencesByIdentity">GET</h4> + <p>Return the competences of a specific user in the taxonomy tree.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6386">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6399"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6402">/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{identityKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> <tr> <td> - <p><strong>courseNodeId</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>messageKey</strong></p> + <p><strong>taxonomyLevelKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td> - <p>The identity key of the user being searched</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>filename</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><strong>identityKey</strong></p> </td> <td> - <p>The name of the attachment</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getAttachment">GET</h4> - <p>Retrieves the attachment of the message</p> + <h4 id="http://www.example.com#getTaxonomyLevelComptencesByIdentity">GET</h4> + <p>Return the competences of a specific user on the taxonomy level + specified in the key in path. + </p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5134">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6411">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5140"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6424"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5143">/repo/courses/{courseId}/elements/folder</h3> - <p>Description:<br> - - <P> - Initial Date: 6 févr. 2012 <br> - </p> + <h3 id="d2e6427">/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{competenceKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16865,177 +17689,114 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> + </tr> + <tr> <td> - <p>The course resourceable's id</p> + <p><strong>taxonomyLevelKey</strong></p> </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>competenceKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFolders">GET</h4> - <p>Retrieves metadata of the course node</p> + <h4 id="http://www.example.com#removeTaxonomyLevelCompetence">DELETE</h4> + <p>Remove a competence.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5155">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>)</a></li> + <li><a href="#d2e6436"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5168"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6442"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5174"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6448"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6451">/taxonomy/{taxonomyKey}/types</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>taxonomyKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachFolder">PUT</h4> - <p>This attaches a Folder Element onto a given course. The element will be - inserted underneath the supplied parentNodeId. - </p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The node's id which will be the parent of this folder</p> - </td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td> - <p>The node's position relative to its sibling nodes (optional)</p> - </td> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td> - <p>The node short title</p> - </td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td> - <p>The node long title</p> - </td> - </tr> - <tr> - <td> - <p><strong>objectives</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td> - <p>The node learning objectives</p> - </td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The rules to view the node (optional)</p> - </td> - </tr> - <tr> - <td> - <p><strong>downloadExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The rules to download files (optional)</p> - </td> - </tr> - <tr> - <td> - <p><strong>uploadExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The rules to upload files (optional)</p> - </td> - </tr> - </table> + <h4 id="http://www.example.com#getTaxonomyLevelTypes">GET</h4> + <p>Get the configurations for taxonomy levels for the whole taxonomy.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5208">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e6458">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5221"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6471"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5227"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6477"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#attachFolderPost">POST</h4> - <p>This attaches a Folder Element onto a given course. The element will be - inserted underneath the supplied parentNodeId. - </p> + <h4 id="http://www.example.com#putTaxonomyLevelType">PUT</h4> + <p>Create or Update a taxonomy level's type.</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e5234">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6484">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e6485">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5262">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e6489">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5275"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6502"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5281"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6508"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5284">/repo/courses/{courseId}/elements/folder/{nodeId}</h3> + <h3 id="d2e6511">/taxonomy/{taxonomyKey}/types/{typeKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -17045,80 +17806,93 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td> - <p>The course resourceable's id</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>typeKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td> - <p>The course resourceable's id</p> - </td> - </tr> - <tr> - <td> - <p><strong>nodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The node's id</p> - </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#updateFolder">POST</h4> - <p>This updates a Folder Element onto a given course.</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e5295">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getTaxonomyLevelType">GET</h4> + <p>Get a taxonomy level's type.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5317">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e6519">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5330"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6532"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5336"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6538"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6542">/taxonomy/{taxonomyKey}/types/{typeKey}/allowedSubTypes</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>taxonomyKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>typeKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFolder">GET</h4> - <p>Retrieves metadata of the course node</p> + <h4 id="http://www.example.com#getAllowedSubTaxonomyLevelTypes">GET</h4> + <p>Get the allowed sub-types of a specified taxonomy level's type.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5345">application/xml, application/json (<abbr title="{http://www.example.com} folderVO">ns3:folderVO</abbr>)</a></li> + <li><a href="#d2e6550">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5358"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6563"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5364"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6569"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5367">/repo/courses/{courseId}/elements/folder/{nodeId}/files</h3> + <h3 id="d2e6572">/taxonomy/{taxonomyKey}/types/{typeKey}/allowedSubTypes/{subTypeKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -17128,18 +17902,16 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>taxonomyKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td> - <p>The course resourceable's id</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>typeKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -17148,10 +17920,10 @@ </tr> <tr> <td> - <p><strong>nodeId</strong></p> + <p><strong>subTypeKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> @@ -17159,61 +17931,157 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#listFiles">GET</h4> + <h4 id="http://www.example.com#allowSubTaxonomyLevelType">PUT</h4> + <p>Add a sub-type to a specified taxonomy level's type.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6581">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6594"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5372">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5373">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5374">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5375">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5376">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6600"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> - <p><em>acceptable request representations:</em></p> + <h4 id="http://www.example.com#disalloweSubTaxonomyLevelType">DELETE</h4> + <p>Remove a sub-type to a specified taxonomy level's type.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6609"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5379">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5380">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e6615"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5382">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5383">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6621"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6625">/registration<span class="optional">?email</span></h3> + <p>Description:<br> + Web service to trigger the registration process + + <P> + Initial Date: 14 juil. 2011 <br> + </p> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#postFileToRoot">POST</h4> + <h4 id="http://www.example.com#register">PUT</h4> + <p>Register with the specified email</p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>email</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The email address</p> + </td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6636"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5386">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5387">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6640"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6644"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postFile64ToRoot">POST</h4> + <h4 id="http://www.example.com#registerPost">POST</h4> + <p>Register with the specified email</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e6651">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6656"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6660"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6663">/groups</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#createGroup">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e5390">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6666">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e6667">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5395">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5396">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6669">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6670">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putFileToRoot">PUT</h4> + <h4 id="http://www.example.com#getGroupList">GET</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>externalId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>managed</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5399">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5400">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6676">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6677">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5401">/repo/courses/{courseId}/elements/folder/{nodeId}/files/{path:.*}</h3> + <h3 id="d2e6678">/groups/{groupKey}/news</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -17223,120 +18091,96 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The course resourceable's id</p> - </td> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> - <tr> - <td> - <p><strong>nodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>path</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#listFiles">GET</h4> + <h4 id="http://www.example.com#getNews">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5405">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5406">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5407">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5408">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5409">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6682">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putFolders">PUT</h4> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#postNews">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e5412">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5413">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6685">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#deleteItem">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5416">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5417">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6688">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putFileToFolder">PUT</h4> + <h4 id="http://www.example.com#deleteNews">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5420">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5421">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5422">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6691">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - <div class="method"> - <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e5425">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5426">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> + </div> + </div> + <div class="resource"> + <h3 id="d2e6692">/groups/{groupKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>groupKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#findById">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5428">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5429">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6696">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6697">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postFileToFolder">POST</h4> + <h4 id="http://www.example.com#postGroup">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e6700">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e6701">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5432">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5433">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5434">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6703">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6704">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e5437">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#deleteGroup">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5442">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5443">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5444">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6707">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5445">/repo/courses/{courseId}/elements/folder/{nodeId}/files/version</h3> + <h3 id="d2e6708">/groups/{groupKey}/owners/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -17346,18 +18190,7 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The course resourceable's id</p> - </td> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -17366,10 +18199,10 @@ </tr> <tr> <td> - <p><strong>nodeId</strong></p> + <p><strong>groupKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> @@ -17377,16 +18210,23 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <h4 id="http://www.example.com#addTutor">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6713">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#removeTutor">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5448">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6716">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5449">/repo/courses/{courseId}/elements/folder/{nodeId}/files/metadata/{path:.*}</h3> + <h3 id="d2e6717">/groups/{groupKey}/configuration</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -17396,39 +18236,44 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The course resourceable's id</p> - </td> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#postGroupConfiguration">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e6721">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6723">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6724">/groups/{groupKey}/infos</h3> + <h6>resource-wide template parameters</h6> + <table> <tr> - <td> - <p><strong>nodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>path</strong></p> + <p><strong>groupKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> @@ -17436,48 +18281,48 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFileMetadata">GET</h4> + <h4 id="http://www.example.com#getInformations">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5453">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5454">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6728">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6729">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5455">/repo/forums</h3> - <p>Description:<br> - Web service to manage forums. - - <P> - Initial Date: 26 aug. 2010 <br> - </p> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e5458">/repo/forums/version</h3> + <h3 id="d2e6730">/groups/{groupKey}/owners</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>groupKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> - <p>The version of the Forum Web Service</p> + <h4 id="http://www.example.com#getTutors">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5463">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6735">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5473">/repo/forums/{forumKey}</h3> - <p>Description:<br> - Web service to manage a forum. - - <P> - Initial Date: 20 apr. 2010 <br> - </p> + <h3 id="d2e6736">/groups/{groupKey}/participants</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -17487,38 +18332,28 @@ </tr> <tr> <td> - <p><strong>forumKey</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td> - <p>The key of the forum</p> - </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getForum">GET</h4> - <p>Retrieves the forum.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5485">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5498"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getParticipants">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5504"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6740">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6741">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5507">/repo/forums/{forumKey}/threads<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> + <h3 id="d2e6742">/groups/{groupKey}/participants/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -17528,167 +18363,138 @@ </tr> <tr> <td> - <p><strong>forumKey</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> + </tr> + <tr> <td> - <p>The key of the forum</p> + <p><strong>groupKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getThreads">GET</h4> - <p>Retrieves the threads in the forum</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>start</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>limit</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>orderBy</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>creationDate</tt></p> - </td> - <td> - <p>(value name,creationDate)</p> - </td> - </tr> - <tr> - <td> - <p><strong>asc</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> - </td> - <td> - <p>(value true/false)</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5523">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5536"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5542"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#newThreadToForum">PUT</h4> - <p>Creates a new thread in the forum of the course node</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>title</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The title for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>body</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The body for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>authorKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The author user key (optional)</p> - </td> - </tr> - </table> + <h4 id="http://www.example.com#addParticipant">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5561">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6747">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#removeParticipant">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5574"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6750">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6751">/groups/version</h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5580"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6754">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6756">/groups/{groupKey}/wiki</h3> + <p>The Group Wiki Webservice<br /> + allows the export of group wikis + </p> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>groupKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#newThreadToForumPost">POST</h4> - <p>Creates a new thread in the forum of the course node</p> - <p><em>acceptable request representations:</em></p> + <h4 id="http://www.example.com#exportWiki">GET</h4> + <p>will export the wiki from the current group to a CP and serve as + zip-file.<br /> + </p> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5587">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6764">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6765">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6766">/groups/{groupKey}/forum</h3> + <p>Description:<br> + Web service to manage a forum. + + <P> + Initial Date: 20 apr. 2010 <br> + </p> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>groupKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getForum">GET</h4> + <p>Retrieves the forum.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5594">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6776">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5607"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6789"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5613"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6795"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5616">/repo/forums/{forumKey}/posts/{threadKey}<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> + <h3 id="d2e6798">/groups/{groupKey}/forum/threads<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -17698,32 +18504,19 @@ </tr> <tr> <td> - <p><strong>forumKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the forum</p> - </td> - </tr> - <tr> - <td> - <p><strong>threadKey</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td> - <p>The key of the thread</p> - </td> + <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getMessages">GET</h4> - <p>Retrieves the messages in the thread</p> + <h4 id="http://www.example.com#getThreads">GET</h4> + <p>Retrieves the threads in the forum</p> <h6>request query parameters</h6> <table> <tr> @@ -17760,7 +18553,7 @@ <p>Default: <tt>creationDate</tt></p> </td> <td> - <p>(value name, creationDate)</p> + <p>(value name,creationDate)</p> </td> </tr> <tr> @@ -17778,97 +18571,20 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5635">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5648"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5654"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e5657">/repo/forums/{forumKey}/posts/{messageKey}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>forumKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the forum</p> - </td> - </tr> - <tr> - <td> - <p><strong>messageKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The id of the reply message</p> - </td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#replyToPostPost">POST</h4> - <p>Creates a new reply in the forum of the course node</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e5665">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5678">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5691"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPost">PUT</h4> - <p>Creates a new reply in the forum of the course node</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e5704">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e5705">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5709">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6814">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5722"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6827"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5728"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6833"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#replyToPost">PUT</h4> - <p>Creates a new reply in the forum of the course node</p> + <h4 id="http://www.example.com#newThreadToForum">PUT</h4> + <p>Creates a new thread in the forum of the course node</p> <h6>request query parameters</h6> <table> <tr> @@ -17902,198 +18618,51 @@ <td> <p><strong>authorKey</strong></p> </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The author user key (optional)</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5747">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5760"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5766"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e5769">/repo/forums/{forumKey}/posts/{messageKey}/attachments</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>forumKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the forum</p> - </td> - </tr> - <tr> - <td> - <p><strong>messageKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the message</p> - </td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getAttachments">GET</h4> - <p>Retrieves the attachments of the message</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5779">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5785"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e5792">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5798">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5804"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">PUT</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> - <p><em>acceptable request representations:</em></p> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The author user key (optional)</p> + </td> + </tr> + </table> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5811">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5812">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e6852">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5816">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6865"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5822"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6871"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#newThreadToForumPost">POST</h4> + <p>Creates a new thread in the forum of the course node</p> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e5831">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6878">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5837"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6885">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e5840">/repo/forums/{forumKey}/posts/{messageKey}/attachments/{filename}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>forumKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the forum</p> - </td> - </tr> - <tr> - <td> - <p><strong>messageKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The identity key of the user being searched</p> - </td> - </tr> - <tr> - <td> - <p><strong>filename</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The name of the attachment</p> - </td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getAttachment">GET</h4> - <p>Retrieves the attachment of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5853">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6898"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5859"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6904"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5862">/repo/courses/{resourceKey}/certificates</h3> - <p>Initial date: 17.11.2014<br></p> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e5865">/repo/courses/{resourceKey}/certificates/{identityKey}</h3> + <h3 id="d2e6907">/groups/{groupKey}/forum/posts/{threadKey}<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -18103,62 +18672,30 @@ </tr> <tr> <td> - <p><strong>resourceKey</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> - <td> - <p>The primary key of the resource of the repository entry of the course.</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>threadKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td> - <p>The owner of the certificate</p> + <p>The key of the thread</p> </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getCertificate">GET</h4> - <p>Return the certificate as PDF file.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5878">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5884"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5890"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getCertificateInfo">HEAD</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5895">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#deleteCertificateInfo">DELETE</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5898">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putCertificate">PUT</h4> - <p>Generate a new certificate.</p> + <h4 id="http://www.example.com#getMessages">GET</h4> + <p>Retrieves the messages in the thread</p> <h6>request query parameters</h6> <table> <tr> @@ -18168,81 +18705,66 @@ </tr> <tr> <td> - <p><strong>score</strong></p> + <p><strong>start</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#float">float</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>limit</strong></p> </td> <td> - <p>The score which appears in the certificate</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>passed</strong></p> + <p><strong>orderBy</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>creationDate</tt></p> </td> <td> - <p>The passed/failed which appears in the certificate (true/false)</p> + <p>(value name, creationDate)</p> </td> </tr> <tr> <td> - <p><strong>creationDate</strong></p> + <p><strong>asc</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> </td> <td> - <p>The date of the certification</p> + <p>(value true/false)</p> </td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5915"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5921"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6926">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5927"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6939"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5933"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postCertificate">POST</h4> - <p>Upload a new certificate.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5942"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5948"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5954"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6945"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5957">/repo/courses/{courseId}/elements/forum</h3> - <p>Description:<br> - REST API implementation for forum course node - - <P> - Initial Date: 20.12.2010 <br> - </p> + <h3 id="d2e6948">/groups/{groupKey}/forum/posts/{messageKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -18252,177 +18774,129 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>messageKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The id of the reply message</p> + </td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getForums">GET</h4> - <p>Retrieves metadata of the published course node</p> + <h4 id="http://www.example.com#replyToPostPost">POST</h4> + <p>Creates a new reply in the forum of the course node</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e6956">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5967">application/xml, application/json (<abbr title="{http://www.example.com} forumVOes">ns3:forumVOes</abbr>)</a></li> + <li><a href="#d2e6969">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5980"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6982"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5986"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6988"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#attachForumPost">POST</h4> - <p>This attaches a Forum Element onto a given course. The element will be - inserted underneath the supplied parentNodeId. - </p> + <h4 id="http://www.example.com#replyToPost">PUT</h4> + <p>Creates a new reply in the forum of the course node</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e5993">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6995">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e6996">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6007">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e7000">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6020"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7013"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6026"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7019"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#attachForum">PUT</h4> - <p>This attaches a Forum Element onto a given course. The element will be - inserted underneath the supplied parentNodeId. - </p> + <h4 id="http://www.example.com#replyToPost">PUT</h4> + <p>Creates a new reply in the forum of the course node</p> <h6>request query parameters</h6> <table> <tr> <th>parameter</th> <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentNodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>position</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>shortTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>longTitle</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>objectives</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>undefined</tt></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>visibilityExpertRules</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> + <th>description</th> </tr> <tr> <td> - <p><strong>accessExpertRules</strong></p> + <p><strong>title</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>moderatorExpertRules</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>The title for the first post in the thread</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>posterExpertRules</strong></p> + <p><strong>body</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></td> + <td> + <p>The body for the first post in the thread</p> + </td> </tr> <tr> <td> - <p><strong>readerExpertRules</strong></p> + <p><strong>authorKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The author user key (optional)</p> </td> - <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6046">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e7038">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6059"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7051"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6065"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7057"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6068">/repo/courses/{courseId}/elements/forum/{nodeId}</h3> + <h3 id="d2e7060">/groups/{groupKey}/forum/posts/{messageKey}/attachments</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -18432,7 +18906,7 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -18441,49 +18915,88 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>messageKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td> - <p>The course resourceable's id</p> - </td> - </tr> - <tr> - <td> - <p><strong>nodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The node's id</p> + <p>The key of the message</p> </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getForum">GET</h4> - <p>Retrieves metadata of the published course node</p> + <h4 id="http://www.example.com#getAttachments">GET</h4> + <p>Retrieves the attachments of the message</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7070">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7076"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7083">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7089">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7095"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replyToPostAttachment">PUT</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7102">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7103">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7107">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6081">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e7113"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6094"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7122">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6100"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7128"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6103">/repo/courses/{courseId}/elements/forum/{nodeId}/thread<span class="optional">?title</span><span class="optional">&body</span><span class="optional">&identityName</span><span class="optional">&sticky</span></h3> + <h3 id="d2e7131">/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -18493,7 +19006,7 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -18502,101 +19015,45 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>messageKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td> - <p>The id of the course.</p> + <p>The identity key of the user being searched</p> </td> </tr> <tr> <td> - <p><strong>nodeId</strong></p> + <p><strong>filename</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td> - <p>The id of the course node.</p> + <p>The name of the attachment</p> </td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#newThreadToForum">PUT</h4> - <p>Creates a new thread in the forum of the course node</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>title</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The title for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>body</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The body for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>identityName</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The author identity name (optional)</p> - </td> - </tr> - <tr> - <td> - <p><strong>sticky</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - </td> - <td> - <p>Creates sticky thread.</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6129">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getAttachment">GET</h4> + <p>Retrieves the attachment of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6142"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7144">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6148"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7150"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6151">/repo/courses/{courseId}/elements/forum/{nodeId}/message<span class="optional">?parentMessageId</span><span class="optional">&title</span><span class="optional">&body</span><span class="optional">&identityName</span></h3> + <h3 id="d2e7153">/groups/{groupKey}/folder</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -18606,116 +19063,72 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The id of the course.</p> - </td> - </tr> - <tr> - <td> - <p><strong>nodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The id of the course node.</p> - </td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#newMessageToForum">PUT</h4> - <p>Creates a new forum message in the forum of the course node</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>parentMessageId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The id of the parent message.</p> - </td> - </tr> - <tr> - <td> - <p><strong>title</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The title for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>body</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The body for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>identityName</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The author identity name (optional)</p> - </td> - </tr> - </table> + <h4 id="http://www.example.com#listFiles">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7157">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7158">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7159">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7160">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7161">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postFileToRoot">POST</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7164">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7165">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postFile64ToRoot">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7168">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7173">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7174">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFileToRoot">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6177">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e7177">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7178">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - <p><em>available response representations:</em></p> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6190"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7181">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7182">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6196"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7184">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7185">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6199">/repo/courses/{courseId}/elements/forum/{nodeId}/forum</h3> - <p>Description:<br> - Web service to manage a forum. - - <P> - Initial Date: 20 apr. 2010 <br> - </p> + <h3 id="d2e7186">/groups/{groupKey}/folder/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -18725,16 +19138,7 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -18743,7 +19147,7 @@ </tr> <tr> <td> - <p><strong>nodeId</strong></p> + <p><strong>path</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -18754,25 +19158,80 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getForum">GET</h4> - <p>Retrieves the forum.</p> + <h4 id="http://www.example.com#listFiles">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7190">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7191">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7192">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7193">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7194">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postFileToFolder">POST</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7197">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7198">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7199">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7202">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7207">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7208">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7209">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFileToFolder">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7212">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7213">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7214">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7217">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7218">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6210">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e7220">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7221">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFolders">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6223"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7224">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7225">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#deleteItem">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6229"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7228">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7229">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6232">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/threads<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> + <h3 id="d2e7230">/groups/{groupKey}/folder/metadata/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -18782,7 +19241,7 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -18791,19 +19250,41 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>path</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getFileMetadata">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7234">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7235">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e7236">/groups/{groupKey}/folder/version</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> <tr> <td> - <p><strong>nodeId</strong></p> + <p><strong>groupKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> @@ -18811,8 +19292,20 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getThreads">GET</h4> - <p>Retrieves the threads in the forum</p> + <h4 id="http://www.example.com#getVersion">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7239">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e7240">/repo/courses<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&managed</span><span class="optional">&externalId</span><span class="optional">&externalRef</span><span class="optional">&repositoryEntryKey</span></h3> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#getCourseList">GET</h4> <h6>request query parameters</h6> <table> <tr> @@ -18842,45 +19335,49 @@ </tr> <tr> <td> - <p><strong>orderBy</strong></p> + <p><strong>managed</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>creationDate</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>externalId</strong></p> </td> <td> - <p>(value name,creationDate)</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>asc</strong></p> + <p><strong>externalRef</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>repositoryEntryKey</strong></p> </td> <td> - <p>(value true/false)</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6248">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6261"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6267"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7250">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7251">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#newThreadToForum">PUT</h4> - <p>Creates a new thread in the forum of the course node</p> + <h4 id="http://www.example.com#createEmptyCourse">PUT</h4> <h6>request query parameters</h6> <table> <tr> @@ -18890,463 +19387,220 @@ </tr> <tr> <td> - <p><strong>title</strong></p> + <p><strong>shortTitle</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td> - <p>The title for the first post in the thread</p> - </td> + <td></td> </tr> <tr> <td> - <p><strong>body</strong></p> + <p><strong>title</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td> - <p>The body for the first post in the thread</p> - </td> - </tr> - <tr> - <td> - <p><strong>authorKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The author user key (optional)</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6286">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6299"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6305"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#newThreadToForumPost">POST</h4> - <p>Creates a new thread in the forum of the course node</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6312">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6319">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6332"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6338"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6341">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{threadKey}<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>nodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>threadKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the thread</p> - </td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getMessages">GET</h4> - <p>Retrieves the messages in the thread</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> + <td></td> </tr> <tr> <td> - <p><strong>start</strong></p> + <p><strong>displayName</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>limit</strong></p> + <p><strong>description</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - <p>Default: <tt>25</tt></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>orderBy</strong></p> + <p><strong>softKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - <p>Default: <tt>creationDate</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>access</strong></p> </td> <td> - <p>(value name, creationDate)</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>asc</strong></p> + <p><strong>membersOnly</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> - <p>Default: <tt>true</tt></p> </td> + <td></td> + </tr> + <tr> <td> - <p>(value true/false)</p> + <p><strong>externalId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6360">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6373"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6379"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6382">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>nodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>messageKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The id of the reply message</p> - </td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#replyToPostPost">POST</h4> - <p>Creates a new reply in the forum of the course node</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6390">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6403">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6416"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6422"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPost">PUT</h4> - <p>Creates a new reply in the forum of the course node</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6429">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e6430">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6434">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6447"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6453"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#replyToPost">PUT</h4> - <p>Creates a new reply in the forum of the course node</p> - <h6>request query parameters</h6> - <table> <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> + <td> + <p><strong>externalRef</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> </tr> <tr> <td> - <p><strong>title</strong></p> + <p><strong>authors</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> + </tr> + <tr> <td> - <p>The title for the first post in the thread</p> + <p><strong>location</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>body</strong></p> + <p><strong>managedFlags</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>sharedFolderSoftKey</strong></p> + </td> <td> - <p>The body for the first post in the thread</p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> </tr> <tr> <td> - <p><strong>authorKey</strong></p> + <p><strong>copyFrom</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> + </tr> + <tr> <td> - <p>The author user key (optional)</p> + <p><strong>initialAuthor</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> + <td></td> </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6472">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6485"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6491"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6494">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>nodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>messageKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The key of the message</p> - </td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getAttachments">GET</h4> - <p>Retrieves the attachments of the message</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6504">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <tr> + <td> + <p><strong>setAuthor</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>organisationKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6510"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7273">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7274">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> + <h4 id="http://www.example.com#createEmptyCourse">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6517">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6523">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7277">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> + <li><a href="#d2e7278">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6529"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7280">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7281">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">PUT</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6536">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6537">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6541">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#importCourse">POST</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>ownerUsername</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6547"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7286">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7287">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e7288">/repo/courses/version</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> - <p>Upload the attachment of a message, as parameter:<br> - filename The name of the attachment<br> - file The attachment. - </p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6556">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6562"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7291">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6565">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments/{filename}</h3> + <h3 id="d2e7292">/repo/courses/{courseId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -19363,125 +19617,29 @@ </td> <td></td> </tr> - <tr> - <td> - <p><strong>courseId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>nodeId</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>messageKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td> - <p>The identity key of the user being searched</p> - </td> - </tr> - <tr> - <td> - <p><strong>filename</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The name of the attachment</p> - </td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getAttachment">GET</h4> - <p>Retrieves the attachment of the message</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6578">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6584"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6587">/system</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e6588">/system/environment</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getEnvironnementXml">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6591">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6592">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6593">/system/release</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getReleaseInfos">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6596">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6597">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6598">/system/log</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getCurrentLogFile">GET</h4> + <h4 id="http://www.example.com#deleteCourse">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6601">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6602">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7296">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7297">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6603">/system/log/version</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <h4 id="http://www.example.com#findById">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6606">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7300">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7301">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6607">/system/log/{date}</h3> + <h3 id="d2e7302">/repo/courses/{courseId}/resource</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -19491,10 +19649,10 @@ </tr> <tr> <td> - <p><strong>date</strong></p> + <p><strong>courseId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> @@ -19502,516 +19660,667 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getLogFileByDate">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6611">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6612">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6613">/system/monitoring</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e6614">/system/monitoring/configuration</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getImplementedProbes">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6617">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6618">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6619">/system/monitoring/status</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getSystemSummaryVO">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6622">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6623">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6624">/system/monitoring/runtime</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getSystemSummaryVO">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6627">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6628">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6629">/system/monitoring/runtime/memory</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getMemoryStatistics">GET</h4> + <h4 id="http://www.example.com#getOlatResource">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6632">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6633">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7305">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7306">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6634">/system/monitoring/runtime/threads</h3> + <h3 id="d2e7307">/repo/courses/{courseId}/publish<span class="optional">?locale</span><span class="optional">&access</span><span class="optional">&membersOnly</span></h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getThreadStatistics">GET</h4> + <h4 id="http://www.example.com#publishCourse">POST</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>locale</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>access</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>membersOnly</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6638">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7314">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7315">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6639">/system/monitoring/runtime/classes</h3> + <h3 id="d2e7316">/repo/courses/{courseId}/configuration</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getCompilationXml">GET</h4> + <h4 id="http://www.example.com#getConfiguration">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6642">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6643">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7320">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7321">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6644">/system/monitoring/database</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getDatabaseStatistics">GET</h4> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#updateConfiguration">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6647">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6648">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7324">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6649">/system/monitoring/openolat</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getStatistics">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6652">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6653">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7332">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7333">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6654">/system/monitoring/openolat/tasks</h3> + <h3 id="d2e7334">/repo/courses/{courseId}/authors</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTasks">GET</h4> + <h4 id="http://www.example.com#getAuthors">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6657">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6658">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7337">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7338">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6659">/system/monitoring/openolat/users</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getUserStatistics">GET</h4> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#addAuthors">PUT</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6662">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6663">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7341">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7342">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6664">/system/monitoring/openolat/repository</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getRepositoryStatistics">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6667">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6668">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7344">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6669">/system/monitoring/openolat/sessions</h3> + <h3 id="d2e7345">/repo/courses/{courseId}/file</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getSessions">GET</h4> + <h4 id="http://www.example.com#getRepoFileById">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6672">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6673">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7348">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7349">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6674">/system/monitoring/openolat/indexer</h3> + <h3 id="d2e7350">/repo/courses/{courseId}/status</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getStatistics">GET</h4> + <h4 id="http://www.example.com#deleteCoursePermanently">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7353">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6677">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6678">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7356">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7357">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6679">/system/monitoring/openolat/indexer/status</h3> + <h3 id="d2e7358">/repo/courses/{courseId}/runstructure</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getStatus">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6682">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6683">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#setStatus">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6686">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6689">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getPlainTextStatus">GET</h4> + <h4 id="http://www.example.com#findRunStructureById">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6692">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7361">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6693">/system/monitoring/memory</h3> + <h3 id="d2e7362">/repo/courses/{courseId}/editortreemodel</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getMemory">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6696">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getMemoryXml">GET</h4> + <h4 id="http://www.example.com#findEditorTreeModelById">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6699">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6700">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7365">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6701">/system/monitoring/memory/pools</h3> + <h3 id="d2e7367">/repo/courses/{courseId}/authors/{identityKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getMemoryPools">GET</h4> + <h4 id="http://www.example.com#getAuthor">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6704">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7371">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7372">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#getMemoryPoolsXml">GET</h4> + <h4 id="http://www.example.com#addAuthor">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6707">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6708">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7375">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6709">/system/monitoring/memory/samples<span class="optional">?from</span><span class="optional">&to</span><span class="optional">&lastSamples</span></h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getSamplesXml">GET</h4> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>from</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>to</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>lastSamples</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> - </td> - <td></td> - </tr> - </table> + </div> + <div class="method"> + <h4 id="http://www.example.com#removeAuthor">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6716">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6717">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7378">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6718">/system/monitoring/threads</h3> + <h3 id="d2e7379">/repo/courses/{courseId}/tutors/{identityKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getThreads">GET</h4> + <h4 id="http://www.example.com#addCoach">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6721">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7383">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#getThreadsXml">GET</h4> + <h4 id="http://www.example.com#removeCoach">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6724">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6725">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7386">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6726">/system/monitoring/threads/cpu</h3> + <h3 id="d2e7387">/repo/courses/{courseId}/tutors</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getThreadsCpu">GET</h4> + <h4 id="http://www.example.com#addCoaches">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7390">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7391">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6729">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6730">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7393">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6731">/system/indexer</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getStatistics">GET</h4> + <h4 id="http://www.example.com#getTutors">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6735">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7396">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7397">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6736">/system/indexer/status</h3> + <h3 id="d2e7398">/repo/courses/{courseId}/participants</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getStatus">GET</h4> + <h4 id="http://www.example.com#getParticipants">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6739">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6740">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7401">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7402">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#setStatus">POST</h4> + <h4 id="http://www.example.com#addParticipants">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6743">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6746">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7405">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7406">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getPlainTextStatus">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6749">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7408">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6750">/system/notifications</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e6751">/system/notifications/status</h3> + <h3 id="d2e7409">/repo/courses/{courseId}/participants/{identityKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>identityKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getStatus">GET</h4> + <h4 id="http://www.example.com#addParticipant">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6754">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6755">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7413">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#setStatus">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6758">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#removeParticipant">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6761">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7416">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e7417">/repo/courses/{courseId}/version</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getPlainTextStatus">GET</h4> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6764">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7420">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6765">/notifications<span class="optional">?date</span><span class="optional">&type</span></h3> - <p><h3>Description:</h3> - REST API for notifications - <p> - Initial Date: 25 aug 2010 <br> - </p> + <h3 id="d2e7421">/repo/courses/{courseId}/groups</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getNotifications">GET</h4> - <p>Retrieves the notification of the logged in user.</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>date</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The date (optional)</p> - </td> - </tr> - <tr> - <td> - <p><strong>type</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td> - <p>The type of notifications (User, Forum...) (optional)</p> - </td> - </tr> - </table> + <h4 id="http://www.example.com#putNewGroup">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7424">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e7425">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6781">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7427">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7428">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getGroupList">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6794"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7431">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7432">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6797">/notifications/subscribers</h3> + <h3 id="d2e7433">/repo/courses/{courseId}/groups/{groupKey}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>groupKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#subscribe">PUT</h4> + <h4 id="http://www.example.com#getGroup">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7437">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#updateGroup">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6800">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>)</a></li> - <li><a href="#d2e6801">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>)</a></li> + <li><a href="#d2e7440">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7442">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#deleteGroup">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6803">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7445">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6804">/notifications/subscribers/{subscriberKey}</h3> + <h3 id="d2e7446">/repo/courses/{courseId}/groups/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20021,7 +20330,7 @@ </tr> <tr> <td> - <p><strong>subscriberKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20032,16 +20341,22 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#unsubscribe">DELETE</h4> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6808">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7449">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6809">/notifications/subscribers/{ressourceName}/{ressourceId}/{subIdentifier}</h3> + <h3 id="d2e7450">/repo/courses/{courseId}/groups/{groupKey}/forum</h3> + <p>Description:<br> + Web service to manage a forum. + + <P> + Initial Date: 20 apr. 2010 <br> + </p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20051,7 +20366,7 @@ </tr> <tr> <td> - <p><strong>ressourceId</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20060,19 +20375,10 @@ </tr> <tr> <td> - <p><strong>subIdentifier</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>ressourceName</strong></p> + <p><strong>groupKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> @@ -20080,35 +20386,25 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getSubscriber">GET</h4> + <h4 id="http://www.example.com#getForum">GET</h4> + <p>Retrieves the forum.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6815">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6816">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7460">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7473"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6817">/repo/sharedfolder</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e6818">/repo/sharedfolder/version</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6821">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7479"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6822">/repo/sharedfolder/{repoEntryKey}/{path:.*}</h3> + <h3 id="d2e7482">/repo/courses/{courseId}/groups/{groupKey}/forum/threads<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20118,16 +20414,16 @@ </tr> <tr> <td> - <p><strong>path</strong></p> + <p><strong>courseId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20138,16 +20434,154 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getSharedFiles">GET</h4> + <h4 id="http://www.example.com#getThreads">GET</h4> + <p>Retrieves the threads in the forum</p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>start</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>limit</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>orderBy</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>creationDate</tt></p> + </td> + <td> + <p>(value name,creationDate)</p> + </td> + </tr> + <tr> + <td> + <p><strong>asc</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td> + <p>(value true/false)</p> + </td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7498">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7511"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7517"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#newThreadToForum">PUT</h4> + <p>Creates a new thread in the forum of the course node</p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>title</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The title for the first post in the thread</p> + </td> + </tr> + <tr> + <td> + <p><strong>body</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The body for the first post in the thread</p> + </td> + </tr> + <tr> + <td> + <p><strong>authorKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The author user key (optional)</p> + </td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7536">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6827">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7549"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7555"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#newThreadToForumPost">POST</h4> + <p>Creates a new thread in the forum of the course node</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7562">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7569">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7582"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7588"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6828">/repo/sharedfolder/{repoEntryKey}</h3> + <h3 id="d2e7591">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{threadKey}<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&orderBy</span><span class="optional">&asc</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20157,27 +20591,108 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>threadKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The key of the thread</p> + </td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getSharedFiles">GET</h4> + <h4 id="http://www.example.com#getMessages">GET</h4> + <p>Retrieves the messages in the thread</p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>start</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>limit</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>orderBy</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p>Default: <tt>creationDate</tt></p> + </td> + <td> + <p>(value name, creationDate)</p> + </td> + </tr> + <tr> + <td> + <p><strong>asc</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> + </td> + <td> + <p>(value true/false)</p> + </td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6832">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7610">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7623"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7629"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6833">/repo/sharedfolder/{repoEntryKey}/files</h3> + <h3 id="d2e7632">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20187,72 +20702,138 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>messageKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The id of the reply message</p> + </td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#listFiles">GET</h4> + <h4 id="http://www.example.com#replyToPostPost">POST</h4> + <p>Creates a new reply in the forum of the course node</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7640">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7653">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7666"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6837">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6838">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6839">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6840">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6841">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7672"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> + <h4 id="http://www.example.com#replyToPost">PUT</h4> + <p>Creates a new reply in the forum of the course node</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6844">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6845">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7679">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e7680">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6847">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6848">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7684">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postFileToRoot">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6851">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6852">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7703"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postFile64ToRoot">POST</h4> - <p><em>acceptable request representations:</em></p> + <h4 id="http://www.example.com#replyToPost">PUT</h4> + <p>Creates a new reply in the forum of the course node</p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>title</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The title for the first post in the thread</p> + </td> + </tr> + <tr> + <td> + <p><strong>body</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The body for the first post in the thread</p> + </td> + </tr> + <tr> + <td> + <p><strong>authorKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The author user key (optional)</p> + </td> + </tr> + </table> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6855">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7722">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6860">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6861">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7735"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFileToRoot">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6864">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6865">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7741"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6866">/repo/sharedfolder/{repoEntryKey}/files/{path:.*}</h3> + <h3 id="d2e7744">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20262,7 +20843,7 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20271,91 +20852,97 @@ </tr> <tr> <td> - <p><strong>path</strong></p> + <p><strong>groupKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>messageKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td> + <p>The key of the message</p> + </td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#listFiles">GET</h4> + <h4 id="http://www.example.com#getAttachments">GET</h4> + <p>Retrieves the attachments of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6870">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6871">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6872">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6873">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6874">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7754">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFolders">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6877">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6878">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7760"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#deleteItem">DELETE</h4> + <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7767">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6881">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6882">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7773">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putFileToFolder">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6885">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6886">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6887">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7779"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> + <h4 id="http://www.example.com#replyToPostAttachment">PUT</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6890">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6891">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7786">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7787">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6893">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6894">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7791">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postFileToFolder">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6897">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6898">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6899">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7797"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> - <p><em>acceptable request representations:</em></p> + <h4 id="http://www.example.com#replyToPostAttachment">POST</h4> + <p>Upload the attachment of a message, as parameter:<br> + filename The name of the attachment<br> + file The attachment. + </p> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6902">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7806">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6907">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6908">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6909">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7812"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6910">/repo/sharedfolder/{repoEntryKey}/files/version</h3> + <h3 id="d2e7815">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20365,37 +20952,16 @@ </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6913">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6914">/repo/sharedfolder/{repoEntryKey}/files/metadata/{path:.*}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20404,129 +20970,45 @@ </tr> <tr> <td> - <p><strong>path</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><strong>messageKey</strong></p> </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getFileMetadata">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6918">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6919">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6920">/taxonomy</h3> - <p>Initial date: 5 Oct 2017<br></p> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e6923">/taxonomy/{taxonomyKey}</h3> - <p>Initial date: 5 Oct 2017<br></p> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p>The identity key of the user being searched</p> </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getTaxonomy">GET</h4> - <p>Return the taxonomy object specified by the key in path.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6933">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyVO">ns3:taxonomyVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6946"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6949">/taxonomy/{taxonomyKey}/levels</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>filename</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td> + <p>The name of the attachment</p> </td> - <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getFlatTaxonomyLevels">GET</h4> - <p>Return the flatted levels of a taxonomy.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6956">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6969"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> + </table> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#putTaxonomyLevel">PUT</h4> - <p>Create or update a taxonomy level. The method changes to tree structure, a - null parent key will make the level a root one, a new parent key will move - the level. - </p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6976">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> - <li><a href="#d2e6977">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6981">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getAttachment">GET</h4> + <p>Retrieves the attachment of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6994"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7828">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7000"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7834"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7003">/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}</h3> + <h3 id="d2e7837">/repo/courses/{courseId}/groups/{groupKey}/folder</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20536,7 +21018,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20545,10 +21027,10 @@ </tr> <tr> <td> - <p><strong>taxonomyLevelKey</strong></p> + <p><strong>groupKey</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> @@ -20556,29 +21038,61 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#deleteTaxonomyLevel">DELETE</h4> - <p>Delete the taxonomy level definitively.</p> + <h4 id="http://www.example.com#listFiles">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7841">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7842">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7843">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7844">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7845">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postFileToRoot">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7011"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7848">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7849">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postFile64ToRoot">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7852">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7017"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7857">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7858">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFileToRoot">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7023"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7861">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7862">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7865">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7866">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7029"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7868">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7869">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7032">/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences</h3> + <h3 id="d2e7870">/repo/courses/{courseId}/groups/{groupKey}/folder/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20588,7 +21102,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20597,57 +21111,100 @@ </tr> <tr> <td> - <p><strong>taxonomyLevelKey</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>path</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTaxonomyLevelComptences">GET</h4> - <p>Return the competences of users on the taxonomy level specified in the key in path.</p> + <h4 id="http://www.example.com#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7040">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e7874">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7875">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7876">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7877">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7878">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postFileToFolder">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7053"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7881">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7882">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7883">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putTaxonomyLevelComptencesByIdentity">PUT</h4> - <p>Add a competence on a specific level of a taxonomy tree.</p> + <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e7060">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7061">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e7886">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7065">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e7891">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7892">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7893">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFileToFolder">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7896">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7897">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7898">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7901">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7902">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7078"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7904">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7905">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#putFolders">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7084"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7908">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7909">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#deleteItem">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7090"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7912">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7913">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7093">/taxonomy/{taxonomyKey}/competences/{identityKey}</h3> + <h3 id="d2e7914">/repo/courses/{courseId}/groups/{groupKey}/folder/metadata/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20657,7 +21214,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20666,32 +21223,37 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>path</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTaxonomyComptencesByIdentity">GET</h4> - <p>Return the competences of a specific user in the taxonomy tree.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7101">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getFileMetadata">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7114"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7918">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7919">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7117">/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{identityKey}</h3> + <h3 id="d2e7920">/repo/courses/{courseId}/groups/{groupKey}/folder/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20701,16 +21263,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>taxonomyLevelKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20719,7 +21272,7 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20730,23 +21283,17 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTaxonomyLevelComptencesByIdentity">GET</h4> - <p>Return the competences of a specific user on the taxonomy level - specified in the key in path. - </p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7126">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7139"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7923">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7142">/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{competenceKey}</h3> + <h3 id="d2e7924">/repo/courses/{courseId}/calendar</h3> + <p>Initial date: 23.12.2015<br></p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20756,16 +21303,29 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + </table> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e7927">/repo/courses/{courseId}/calendar/events/{eventId}</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> <tr> <td> - <p><strong>taxonomyLevelKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20774,10 +21334,10 @@ </tr> <tr> <td> - <p><strong>competenceKey</strong></p> + <p><strong>eventId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> @@ -20785,25 +21345,17 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#removeTaxonomyLevelCompetence">DELETE</h4> - <p>Remove a competence.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7151"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7157"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#deleteEventByCalendar">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7163"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7931">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7932">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7166">/taxonomy/{taxonomyKey}/types</h3> + <h3 id="d2e7933">/repo/courses/{courseId}/calendar/events<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&onlyFuture</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20813,7 +21365,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20824,46 +21376,81 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTaxonomyLevelTypes">GET</h4> - <p>Get the configurations for taxonomy levels for the whole taxonomy.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7173">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7186"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getEventsByCalendar">GET</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>start</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>0</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>limit</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>Default: <tt>25</tt></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>onlyFuture</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> + </td> + <td></td> + </tr> + </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7192"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7940">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7941">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putTaxonomyLevelType">PUT</h4> - <p>Create or Update a taxonomy level's type.</p> + <h4 id="http://www.example.com#putEventsByCalendar">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e7199">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7200">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e7944">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7945">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7204">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e7947">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7948">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - <p><em>available response representations:</em></p> + </div> + <div class="method"> + <h4 id="http://www.example.com#postEventsByCalendar">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e7217"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7951">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7952">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7223"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7954">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7955">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7226">/taxonomy/{taxonomyKey}/types/{typeKey}</h3> + <h3 id="d2e7956">/repo/courses/{courseId}/calendar/event</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20873,16 +21460,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>typeKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20893,25 +21471,37 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTaxonomyLevelType">GET</h4> - <p>Get a taxonomy level's type.</p> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#putEventByCalendar">PUT</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e7234">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e7959">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e7960">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7247"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7962">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7963">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#postEventByCalendar">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7966">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7967">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e7968">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7253"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7970">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7971">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7257">/taxonomy/{taxonomyKey}/types/{typeKey}/allowedSubTypes</h3> + <h3 id="d2e7972">/repo/courses/{courseId}/vitero/{subIdentifier}</h3> + <p>Initial date: 14.07.2015<br></p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20921,7 +21511,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20930,10 +21520,10 @@ </tr> <tr> <td> - <p><strong>typeKey</strong></p> + <p><strong>subIdentifier</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> @@ -20941,25 +21531,43 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getAllowedSubTaxonomyLevelTypes">GET</h4> - <p>Get the allowed sub-types of a specified taxonomy level's type.</p> + <h4 id="http://www.example.com#getRooms">GET</h4> + <p>returns the list of booking of the resource.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7265">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e7982">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#createRoom">PUT</h4> + <p>Return the created or updated booking</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e7996">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e7997">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7278"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8001">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#updateRoom">POST</h4> + <p>Return the created or updated booking</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e8015">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e8016">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7284"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8020">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7287">/taxonomy/{taxonomyKey}/types/{typeKey}/allowedSubTypes/{subTypeKey}</h3> + <h3 id="d2e8030">/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}/members</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -20969,7 +21577,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -20978,87 +21586,54 @@ </tr> <tr> <td> - <p><strong>typeKey</strong></p> + <p><strong>subIdentifier</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>subTypeKey</strong></p> + <p><strong>bookingId</strong></p> </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td> + <p>The id of the booking</p> </td> - <td></td> </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#allowSubTaxonomyLevelType">PUT</h4> - <p>Add a sub-type to a specified taxonomy level's type.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7296">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7309"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7315"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#disalloweSubTaxonomyLevelType">DELETE</h4> - <p>Remove a sub-type to a specified taxonomy level's type.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7324"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7330"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getMembers">GET</h4> + <p>Returns the list of members of the booking.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7336"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8040">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e7340">/ping</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#ping">GET</h4> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#addMembers">POST</h4> + <p>Update the list of members of the booking, it add and mutates the + members and delete the missing members. + </p> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e7343">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8054">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8055">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e7344">/ping/version</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7347">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8059">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7348">/ping/{name}</h3> + <h3 id="d2e8069">/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -21068,52 +21643,47 @@ </tr> <tr> <td> - <p><strong>name</strong></p> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>subIdentifier</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>bookingId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#ping">POST</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7352">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e7353">/docpool</h3> - <p>Initial date: 5 Oct 2017<br></p> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e7356">/docpool/module/configuration</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getModuleConfiguration">GET</h4> - <p>Return the configuration of the taxonomy module.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7363">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyModuleConfigurationVO">ns3:taxonomyModuleConfigurationVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#deleteRoom">DELETE</h4> + <p>Delete the booking</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7376"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8077"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7379">/docpool/{taxonomyKey}</h3> - <p>Initial date: 5 Oct 2017<br></p> + <h3 id="d2e8080">/repo/courses/{courseId}/gotomeeting/{subIdentifier}</h3> + <p>Initial date: 24.03.2016<br></p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -21123,32 +21693,28 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>subIdentifier</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getTaxonomy">GET</h4> - <p>Return the taxonomy object specified by the key in path.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7389">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyVO">ns3:taxonomyVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7402"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> + <div class="methods"></div> </div> <div class="resource"> - <h3 id="d2e7405">/docpool/{taxonomyKey}/levels</h3> + <h3 id="d2e8084">/repo/courses/{courseId}/gotomeeting/{subIdentifier}/trainings</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -21158,56 +21724,63 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>subIdentifier</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFlatTaxonomyLevels">GET</h4> - <p>Return the flatted levels of a taxonomy.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7412">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getTrainings">GET</h4> + <p>returns the list of booking of the resource.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7425"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8091">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putTaxonomyLevel">PUT</h4> - <p>Create or update a taxonomy level. The method changes to tree structure, a - null parent key will make the level a root one, a new parent key will move - the level. - </p> + <h4 id="http://www.example.com#createTraining">PUT</h4> + <p>Return the created or updated training</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e7432">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> - <li><a href="#d2e7433">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e8105">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> + <li><a href="#d2e8106">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7437">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e8110">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> </ul> - <p><em>available response representations:</em></p> + </div> + <div class="method"> + <h4 id="http://www.example.com#updateTraining">POST</h4> + <p>Return the created or updated training</p> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e7450"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8124">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> + <li><a href="#d2e8125">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7456"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8129">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7459">/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}</h3> + <h3 id="d2e8139">/repo/courses/{courseId}/gotomeeting/{subIdentifier}//trainings/{trainingKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -21217,7 +21790,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21226,40 +21799,37 @@ </tr> <tr> <td> - <p><strong>taxonomyLevelKey</strong></p> + <p><strong>subIdentifier</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> + <tr> + <td> + <p><strong>trainingKey</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#deleteTaxonomyLevel">DELETE</h4> - <p>Delete the taxonomy level definitively.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7467"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7473"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7479"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#deleteTraining">DELETE</h4> + <p>Delete the training</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7485"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8147"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7488">/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}/competences</h3> + <h3 id="d2e8150">/repo/courses/{courseId}/lectureblocks</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -21269,16 +21839,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>taxonomyLevelKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21289,46 +21850,44 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTaxonomyLevelComptences">GET</h4> - <p>Return the competences of users on the taxonomy level specified in the key in path.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7496">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getLectureBlocks">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7509"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8153">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8154">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putTaxonomyLevelComptencesByIdentity">PUT</h4> - <p>Add a competence on a specific level of a taxonomy tree.</p> + <h4 id="http://www.example.com#putLectureBlocks">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e7516">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> - <li><a href="#d2e7517">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7521">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e8157">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e8158">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7534"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8160">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8161">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - <p><em>available response representations:</em></p> + </div> + <div class="method"> + <h4 id="http://www.example.com#postLectureBlocks">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e7540"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8164">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8165">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e8166">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7546"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8168">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8169">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7549">/docpool/{taxonomyKey}/competences/{identityKey}</h3> + <h3 id="d2e8170">/repo/courses/{courseId}/lectureblocks/sync/calendar</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -21338,16 +21897,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>identityKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21358,21 +21908,16 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTaxonomyComptencesByIdentity">GET</h4> - <p>Return the competences of a specific user in the taxonomy tree.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7557">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#syncCalendar">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7570"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8173">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7573">/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{identityKey}</h3> + <h3 id="d2e8174">/repo/courses/{courseId}/lectureblocks/adaptation</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -21382,25 +21927,37 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> </td> <td></td> </tr> - <tr> - <td> - <p><strong>taxonomyLevelKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#adapatation">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e8177">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e8178">/repo/courses/{courseId}/lectureblocks/configuration</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21411,23 +21968,31 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTaxonomyLevelComptencesByIdentity">GET</h4> - <p>Return the competences of a specific user on the taxonomy level - specified in the key in path. - </p> + <h4 id="http://www.example.com#getConfiguration">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7582">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e8181">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8182">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#updateConfiguration">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e8185">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8186">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e8187">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7595"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8189">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8190">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7598">/docpool/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{competenceKey}</h3> + <h3 id="d2e8191">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -21437,16 +22002,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> - </td> - <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> - </td> - <td></td> - </tr> - <tr> - <td> - <p><strong>taxonomyLevelKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21455,7 +22011,7 @@ </tr> <tr> <td> - <p><strong>competenceKey</strong></p> + <p><strong>lectureBlockKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21466,25 +22022,24 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#removeTaxonomyLevelCompetence">DELETE</h4> - <p>Remove a competence.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7607"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getLectureBlock">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7613"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8195">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8196">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#deleteLectureBlock">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7619"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8199">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7622">/docpool/{taxonomyKey}/types</h3> + <h3 id="d2e8200">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/sync/calendar</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -21494,7 +22049,16 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> + </td> + <td> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>lectureBlockKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21505,46 +22069,16 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTaxonomyLevelTypes">GET</h4> - <p>Get the configurations for taxonomy levels for the whole taxonomy.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7629">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7642"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7648"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#putTaxonomyLevelType">PUT</h4> - <p>Create or Update a taxonomy level's type.</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e7655">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> - <li><a href="#d2e7656">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7660">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7673"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#syncCalendar">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7679"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8203">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7682">/docpool/{taxonomyKey}/types/{typeKey}</h3> + <h3 id="d2e8204">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -21554,7 +22088,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21563,7 +22097,7 @@ </tr> <tr> <td> - <p><strong>typeKey</strong></p> + <p><strong>lectureBlockKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21574,25 +22108,17 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTaxonomyLevelType">GET</h4> - <p>Get a taxonomy level's type.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7690">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7703"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getTeacher">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7709"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8207">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8208">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7713">/docpool/{taxonomyKey}/types/{typeKey}/allowedSubTypes</h3> + <h3 id="d2e8209">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -21602,7 +22128,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21611,7 +22137,7 @@ </tr> <tr> <td> - <p><strong>typeKey</strong></p> + <p><strong>lectureBlockKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21622,25 +22148,23 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getAllowedSubTaxonomyLevelTypes">GET</h4> - <p>Get the allowed sub-types of a specified taxonomy level's type.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7721">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#addRepositoryEntryParticipantGroup">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7734"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8212">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#deleteRepositoryEntryParticipantGroup">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7740"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8215">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e7743">/docpool/{taxonomyKey}/types/{typeKey}/allowedSubTypes/{subTypeKey}</h3> + <h3 id="d2e8216">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -21650,7 +22174,7 @@ </tr> <tr> <td> - <p><strong>taxonomyKey</strong></p> + <p><strong>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21659,7 +22183,7 @@ </tr> <tr> <td> - <p><strong>typeKey</strong></p> + <p><strong>lectureBlockKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21668,7 +22192,7 @@ </tr> <tr> <td> - <p><strong>subTypeKey</strong></p> + <p><strong>identityKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -21679,1390 +22203,1870 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#allowSubTaxonomyLevelType">PUT</h4> - <p>Add a sub-type to a specified taxonomy level's type.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7752">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7765"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#addTeacher">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7771"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8220">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#disalloweSubTaxonomyLevelType">DELETE</h4> - <p>Remove a sub-type to a specified taxonomy level's type.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7780"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e7786"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#removeTeacher">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e7792"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e8223">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <h2 id="representations">Representations</h2> - <h3 id="d2e5">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>) + <h3 id="d2e11">application/xml, application/json (<abbr title="{http://www.example.com} organisationVO">ns3:organisationVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<organisationVO> + <key>4587</key> + <identifier>HEROL-2</identifier> + <displayName>Herol 2</displayName> + <description>An organisation description</description> + <cssClass>o_icon_beautiful</cssClass> + <externalId>IDEXT78</externalId> + <managedFlagsString>all</managedFlagsString> + <rootOrganisationKey>1</rootOrganisationKey> + <parentOrganisationKey>3</parentOrganisationKey> + <organisationTypeKey>38</organisationTypeKey> +</organisationVO> +</code></pre></p> + <p>The list of all organization in the OpenOLAT system</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>) + <h3 id="d2e24"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e31">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e8">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e9">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e30">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e31">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e41">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e42">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e47">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e48">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e52">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e57">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e58">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e61">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e62">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e67">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e68">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e71">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e79">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e80">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e84">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e89">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e92">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e96">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e97">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e100">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e101">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e103">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e107">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e108">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e111">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e112">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e114">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e119">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e122">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e126">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e127">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e131">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e134">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e135">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e140">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e144">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e149">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e150">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e153">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e156">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e160">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e161">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e163">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e166">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e167">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e171">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e172">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e180">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e181">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e185">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e186">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e189">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) + <h3 id="d2e32">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e190">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) + <h3 id="d2e36">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<organisationVO> + <key>4587</key> + <identifier>HEROL-2</identifier> + <displayName>Herol 2</displayName> + <description>An organisation description</description> + <cssClass>o_icon_beautiful</cssClass> + <externalId>IDEXT78</externalId> + <managedFlagsString>all</managedFlagsString> + <rootOrganisationKey>1</rootOrganisationKey> + <parentOrganisationKey>3</parentOrganisationKey> + <organisationTypeKey>38</organisationTypeKey> +</organisationVO> +</code></pre></p> + <p>The persisted organization</p> + <h3 id="d2e49"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e55">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e60">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e192">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e193">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e198">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e201">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e204">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) + <h3 id="d2e61">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e206">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e210">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e215">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e216">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e217">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e218">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e219">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e222">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e65">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<organisationVO> + <key>4587</key> + <identifier>HEROL-2</identifier> + <displayName>Herol 2</displayName> + <description>An organisation description</description> + <cssClass>o_icon_beautiful</cssClass> + <externalId>IDEXT78</externalId> + <managedFlagsString>all</managedFlagsString> + <rootOrganisationKey>1</rootOrganisationKey> + <parentOrganisationKey>3</parentOrganisationKey> + <organisationTypeKey>38</organisationTypeKey> +</organisationVO> +</code></pre></p> + <p>The merged organization</p> + <h3 id="d2e78"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e84">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e93">application/xml, application/json (<abbr title="{http://www.example.com} organisationVO">ns3:organisationVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<organisationVO> + <key>4587</key> + <identifier>HEROL-2</identifier> + <displayName>Herol 2</displayName> + <description>An organisation description</description> + <cssClass>o_icon_beautiful</cssClass> + <externalId>IDEXT78</externalId> + <managedFlagsString>all</managedFlagsString> + <rootOrganisationKey>1</rootOrganisationKey> + <parentOrganisationKey>3</parentOrganisationKey> + <organisationTypeKey>38</organisationTypeKey> +</organisationVO> +</code></pre></p> + <p>The list of all organization in the OpenOLAT system</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e223">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e106"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e113">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e225">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e226">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e229">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e230">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e233">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e238">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e239">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e242">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e243">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e248">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e249">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e250">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e251">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e252">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e255">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e256">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e259">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e260">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e263">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e264">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e265">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e268">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e114">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e269">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e118">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<organisationVO> + <key>4587</key> + <identifier>HEROL-2</identifier> + <displayName>Herol 2</displayName> + <description>An organisation description</description> + <cssClass>o_icon_beautiful</cssClass> + <externalId>IDEXT78</externalId> + <managedFlagsString>all</managedFlagsString> + <rootOrganisationKey>1</rootOrganisationKey> + <parentOrganisationKey>3</parentOrganisationKey> + <organisationTypeKey>38</organisationTypeKey> +</organisationVO> +</code></pre></p> + <p>The merged organization</p> + <h3 id="d2e131"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e137">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e145">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code>1.0</code></pre></p> + <p>The version of this specific Web Service</p> + <h3 id="d2e162">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e271">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e272">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e275">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e276">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e277">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e280">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e285">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e286">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e287">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e291">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e296">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e297">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e308">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h3 id="d2e163">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>) </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e167">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<forum name="My forum" detailsName="It is a forum" forumKey="3865487" courseKey="286" courseNodeId="2784628" subscribed="false"/> +<organisationTypeVO> + <key>38</key> + <identifier>OWL-1</identifier> + <displayName>Organization type</displayName> + <description>An organization type</description> + <cssClass>o_icon_owl</cssClass> + <externalId>OWL-1-ext</externalId> + <managedFlagsString>externalId</managedFlagsString> +</organisationTypeVO> </code></pre></p> - <p>The root message of the thread</p> + <p>The persisted organization type</p> + <h3 id="d2e180"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e186">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e191">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e192">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>) + </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e321"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e196">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<organisationTypeVO> + <key>38</key> + <identifier>OWL-1</identifier> + <displayName>Organization type</displayName> + <description>An organization type</description> + <cssClass>o_icon_owl</cssClass> + <externalId>OWL-1-ext</externalId> + <managedFlagsString>externalId</managedFlagsString> +</organisationTypeVO> +</code></pre></p> + <p>The merged organization type</p> + <h3 id="d2e209"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e327"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The forum not found</p> - <h3 id="d2e346">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e215">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e222">application/xml, application/json (<abbr title="{http://www.example.com} organisationTypeVO">ns3:organisationTypeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messages totalCount="1"> - <messages> - <message> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> - </message> - </messages> -</messages> +<organisationTypeVO> + <key>38</key> + <identifier>OWL-1</identifier> + <displayName>Organization type</displayName> + <description>An organization type</description> + <cssClass>o_icon_owl</cssClass> + <externalId>OWL-1-ext</externalId> + <managedFlagsString>externalId</managedFlagsString> +</organisationTypeVO> </code></pre></p> - <p>The root message of the thread</p> + <p>The list of all organization types in the OpenOLAT system</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e359"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e235"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e365"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e384">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e248">application/xml, application/json (<abbr title="{http://www.example.com} organisationTypeVO">ns3:organisationTypeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<organisationTypeVO> + <key>38</key> + <identifier>OWL-1</identifier> + <displayName>Organization type</displayName> + <description>An organization type</description> + <cssClass>o_icon_owl</cssClass> + <externalId>OWL-1-ext</externalId> + <managedFlagsString>externalId</managedFlagsString> +</organisationTypeVO> </code></pre></p> - <p>The root message of the thread</p> + <p>An array of organization types</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e397"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e261"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e403"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e410">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e417">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e267"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The organization type was not found</p> + <h3 id="d2e280">application/xml, application/json (<abbr title="{http://www.example.com} organisationTypeVO">ns3:organisationTypeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<organisationTypeVO> + <key>38</key> + <identifier>OWL-1</identifier> + <displayName>Organization type</displayName> + <description>An organization type</description> + <cssClass>o_icon_owl</cssClass> + <externalId>OWL-1-ext</externalId> + <managedFlagsString>externalId</managedFlagsString> +</organisationTypeVO> </code></pre></p> - <p>The root message of the thread</p> + <p>The list of all organization types in the OpenOLAT system</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e293"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e300">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e301">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">organisationTypeVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e305">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<organisationTypeVO> + <key>38</key> + <identifier>OWL-1</identifier> + <displayName>Organization type</displayName> + <description>An organization type</description> + <cssClass>o_icon_owl</cssClass> + <externalId>OWL-1-ext</externalId> + <managedFlagsString>externalId</managedFlagsString> +</organisationTypeVO> +</code></pre></p> + <p>The merged type organization</p> + <h3 id="d2e318"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e324">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e338">application/xml, application/json (<abbr title="{http://www.example.com} organisationTypeVO">ns3:organisationTypeVO</abbr>) + </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<organisationTypeVO> + <key>38</key> + <identifier>OWL-1</identifier> + <displayName>Organization type</displayName> + <description>An organization type</description> + <cssClass>o_icon_owl</cssClass> + <externalId>OWL-1-ext</externalId> + <managedFlagsString>externalId</managedFlagsString> +</organisationTypeVO> +</code></pre></p> + <p>The sub type was added to the allowed sub types</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e351"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e357"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The organization type was not found</p> + <h3 id="d2e366"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The sub type was removed successfully</p> + <h3 id="d2e372"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e378"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The organization type was not found</p> + <h3 id="d2e388">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code>1.0</code></pre></p> + <p>The version of this specific Web Service</p> + <h3 id="d2e404">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e405">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e410">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e411">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e423">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e424">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e430">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e431">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e436">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e447">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e448">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e451">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e452">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e455">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e456">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e469">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e470">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e476">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e485">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e486">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e491">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e502">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e503">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e516">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e517">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e523">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e531">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e532">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e537">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e547">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e548">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e560">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e561">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e567">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e574">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e575">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e580">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e589">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e590">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e601">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e602">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e608">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e616">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e617">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e632">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e633">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e645">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e646">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e652">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e660">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e661">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e675">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e676">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e688">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e689">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e695">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e703">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e704">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e718">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e719">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e731">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e732">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e738">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e746">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e747">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e761">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e762">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e774">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e775">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e781">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e782">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e785">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e786">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e820">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e821">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e852">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e853">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e856">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e857">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e871">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e872">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e883">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e884">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e887">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e888">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e913">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e914">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e936">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e937">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e940">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e941">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e948">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e949">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e953">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e958">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e959">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e968">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e969">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e979">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e980">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e988">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e989">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e992">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e993">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e995">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e996">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e999">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1000">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1002">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1003">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1007">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e1008">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e1010">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1011">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1014">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1015">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e1016">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e430"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e436"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e458">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e1018">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1019">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1023">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1024">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1030">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1033">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1036">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1044">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1045">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1050">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1051">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1054">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messages totalCount="1"> - <messages> - <message> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> - </message> - </messages> -</messages> -</code></pre></p> - <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e471"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e477"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e488">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1055">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e1057">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1058">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1066">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1067">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1070">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e501">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e1075">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1076">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1080">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> -</code></pre></p> - <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e514"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e520"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author or message not found</p> - <h3 id="d2e527">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e1081">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e528">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e1083">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1084">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1091">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1092">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1095">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1096">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1101">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1102">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1106">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1110">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1115">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1119">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1127">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e532">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e1128">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> -</code></pre></p> - <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e545"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1132">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<userVO> + <key>345</key> + <login>john</login> + <password></password> + <firstName>John</firstName> + <lastName>Smith</lastName> + <email>john.smith@frentix.com</email> + <properties> + <property> + <name>telPrivate</name> + <value>238456782</value> + </property> + <property> + <name>telMobile</name> + <value>238456782</value> + </property> + </properties> +</userVO> +</code></pre></p> + <p>The persisted user</p> + <h3 id="d2e1145"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e551"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author or message not found</p> - <h3 id="d2e570">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e1151">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<errorVOes> + <errorVO> + <code>org.olat.restapi:error</code> + <translation>Hello world, there is an error</translation> + </errorVO> +</errorVOes> +</code></pre></p> + <p>The list of errors</p> + <h3 id="d2e1172">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<users totalCount="0"> + <users> + <user> + <key>345</key> + <login>john</login> + <password></password> + <firstName>John</firstName> + <lastName>Smith</lastName> + <email>john.smith@frentix.com</email> + <properties> + <property> + <name>telPrivate</name> + <value>238456782</value> + </property> + <property> + <name>telMobile</name> + <value>238456782</value> + </property> + </properties> + </user> + </users> +</users> </code></pre></p> - <p>The root message of the thread</p> + <p>The list of all users in the OLAT system</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e583"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1185"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e589"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author or message not found</p> - <h3 id="d2e602">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The links to the attachments</p> - <h3 id="d2e608"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The message not found</p> - <h3 id="d2e615">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e621">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Ok</p> - <h3 id="d2e627"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e634">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e1196">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e635">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e1197">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e639">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Ok</p> - <h3 id="d2e645"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e654">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Ok</p> - <h3 id="d2e660"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e676">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e682"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e692">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e693">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e701">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e702">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e705">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e706">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e708">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e709">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e712">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e713">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e715">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e716">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e720">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + <h3 id="d2e1201">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<userVO> + <key>345</key> + <login>john</login> + <password></password> + <firstName>John</firstName> + <lastName>Smith</lastName> + <email>john.smith@frentix.com</email> + <properties> + <property> + <name>telPrivate</name> + <value>238456782</value> + </property> + <property> + <name>telMobile</name> + <value>238456782</value> + </property> + </properties> +</userVO> +</code></pre></p> + <p>The user</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e721">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + <h3 id="d2e1214"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1220"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1226">application/xml, application/json (<abbr title="{http://www.example.com} errorVO">ns3:errorVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<errorVOes> + <errorVO> + <code>org.olat.restapi:error</code> + <translation>Hello world, there is an error</translation> + </errorVO> +</errorVOes> +</code></pre></p> + <p>The list of validation errors</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e723">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e724">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e727">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e728">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + <h3 id="d2e1242"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The user is removed from the group</p> + <h3 id="d2e1248"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1254"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1267">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<userVO> + <key>345</key> + <login>john</login> + <password></password> + <firstName>John</firstName> + <lastName>Smith</lastName> + <email>john.smith@frentix.com</email> + <properties> + <property> + <name>telPrivate</name> + <value>238456782</value> + </property> + <property> + <name>telMobile</name> + <value>238456782</value> + </property> + </properties> +</userVO> +</code></pre></p> + <p>The user</p> + <h3 id="d2e1280"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1286"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1299">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e1305"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e1314">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e1320"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e1329">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e1335"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Not authorized</p> + <h3 id="d2e1341"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e1350"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait deleted</p> + <h3 id="d2e1356"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Not authorized</p> + <h3 id="d2e1369">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<statusVO> + <status>2</status> +</statusVO> +</code></pre></p> + <p>The user</p> + <h3 id="d2e1382"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1388"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1395">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e729">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + <h3 id="d2e1396">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e731">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e732">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e741">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <h3 id="d2e1400">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<rolesVO> + <systemAdmin>false</systemAdmin> + <olatAdmin>false</olatAdmin> + <userManager>false</userManager> + <groupManager>false</groupManager> + <author>true</author> + <guestOnly>false</guestOnly> + <institutionalResourceManager>false</institutionalResourceManager> + <poolAdmin>false</poolAdmin> + <curriculumManager>false</curriculumManager> + <invitee>false</invitee> +</rolesVO> +</code></pre></p> + <p>The user</p> + <h3 id="d2e1413"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1419"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1432">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<rolesVO> + <systemAdmin>false</systemAdmin> + <olatAdmin>false</olatAdmin> + <userManager>false</userManager> + <groupManager>false</groupManager> + <author>true</author> + <guestOnly>false</guestOnly> + <institutionalResourceManager>false</institutionalResourceManager> + <poolAdmin>false</poolAdmin> + <curriculumManager>false</curriculumManager> + <invitee>false</invitee> +</rolesVO> +</code></pre></p> + <p>The user</p> + <h3 id="d2e1445"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1451"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1458">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e742">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <h3 id="d2e1459">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e746">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) - </h3> + <h3 id="d2e1463">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<viteroBookingVO> - <bookingId>23</bookingId> - <groupId>24</groupId> - <groupName>NEW-EVENT_OLAT_938745983</groupName> - <eventName>New event</eventName> - <externalId>AC-234</externalId> - <start>2018-01-17T14:24:44.221+01:00</start> - <startBuffer>15</startBuffer> - <end>2018-01-17T14:24:44.221+01:00</end> - <endBuffer>15</endBuffer> - <roomSize>22</roomSize> - <autoSignIn>true</autoSignIn> - <timeZoneId></timeZoneId> -</viteroBookingVO> +<rolesVO> + <systemAdmin>false</systemAdmin> + <olatAdmin>false</olatAdmin> + <userManager>false</userManager> + <groupManager>false</groupManager> + <author>true</author> + <guestOnly>false</guestOnly> + <institutionalResourceManager>false</institutionalResourceManager> + <poolAdmin>false</poolAdmin> + <curriculumManager>false</curriculumManager> + <invitee>false</invitee> +</rolesVO> </code></pre></p> - <p>The created booking</p> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e760">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <p>The user</p> + <h3 id="d2e1476"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1482"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1488">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1489">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1500">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<preferencesVO> + <language>de</language> +</preferencesVO> +</code></pre></p> + <p>The preferences</p> + <h3 id="d2e1513"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1519"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1526">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e761">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <h3 id="d2e1527">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e765">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) - </h3> + <h3 id="d2e1531">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<viteroBookingVO> - <bookingId>23</bookingId> - <groupId>24</groupId> - <groupName>NEW-EVENT_OLAT_938745983</groupName> - <eventName>New event</eventName> - <externalId>AC-234</externalId> - <start>2018-01-17T14:24:44.221+01:00</start> - <startBuffer>15</startBuffer> - <end>2018-01-17T14:24:44.221+01:00</end> - <endBuffer>15</endBuffer> - <roomSize>22</roomSize> - <autoSignIn>true</autoSignIn> - <timeZoneId></timeZoneId> -</viteroBookingVO> +<preferencesVO> + <language>de</language> +</preferencesVO> </code></pre></p> - <p>The created booking</p> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e781">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) - </h3> + <p>The user</p> + <h3 id="d2e1544"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1550"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1562">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e1568"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e1578">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<viteroBookingVO> - <bookingId>23</bookingId> - <groupId>24</groupId> - <groupName>NEW-EVENT_OLAT_938745983</groupName> - <eventName>New event</eventName> - <externalId>AC-234</externalId> - <start>2018-01-17T14:24:44.221+01:00</start> - <startBuffer>15</startBuffer> - <end>2018-01-17T14:24:44.221+01:00</end> - <endBuffer>15</endBuffer> - <roomSize>22</roomSize> - <autoSignIn>true</autoSignIn> - <timeZoneId></timeZoneId> -</viteroBookingVO> -</code></pre></p> - <p>This is the list of all bookings of a resource</p> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e801">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>) + <h6>Example</h6><pre><code>1.0</code></pre></p> + <p>The version of this specific Web Service</p> + <h3 id="d2e1599">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<viteroGroupMemberVO> - <identityKey>23497</identityKey> - <groupRole>participant</groupRole> -</viteroGroupMemberVO> +<folders totalCount="1"> + <folders> + <folder name="Course folder" courseKey="375397" courseNodeId="438950850389" subscribed="true" write="false" read="false" list="false" delete="false"/> + </folders> +</folders> </code></pre></p> - <p>This is the list of all bookings of a resource</p> + <p>The folders</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e815">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e816">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e820">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>) + <h3 id="d2e1612"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1620">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1621">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1622">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1623">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1624">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1627">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1628">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1631">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e1636">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1640">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1641">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1644">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<viteroGroupMemberVO> - <identityKey>23497</identityKey> - <groupRole>participant</groupRole> -</viteroGroupMemberVO> -</code></pre></p> - <p>This is the list of all bookings of a resource</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e838"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The booking is deleted</p> - <h3 id="d2e852">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>) + <h3 id="d2e1645">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<trainingVO> - <key>4534759</key> - <name>Training</name> - <externalId>AC-234</externalId> - <start>2018-01-17T14:24:44.192+01:00</start> - <end>2018-01-17T14:24:44.192+01:00</end> -</trainingVO> -</code></pre></p> - <p>This is the list of all training of a resource</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e866">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>) + <h3 id="d2e1647">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1648">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1653">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1654">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1655">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1656">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1657">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1660">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1661">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1662">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1665">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e1670">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1671">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1672">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1675">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1676">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1677">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1680">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e867">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>) + <h3 id="d2e1681">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e871">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>) + <h3 id="d2e1683">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1684">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1687">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1688">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1691">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1692">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1697">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1698">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1702">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1706">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1707">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1708">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1709">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1710">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1713">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1714">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1717">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e1722">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1723">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1726">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1727">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1730">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<trainingVO> - <key>4534759</key> - <name>Training</name> - <externalId>AC-234</externalId> - <start>2018-01-17T14:24:44.192+01:00</start> - <end>2018-01-17T14:24:44.192+01:00</end> -</trainingVO> -</code></pre></p> - <p>Created a training</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e885">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>) + <h3 id="d2e1731">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e886">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>) + <h3 id="d2e1733">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1739">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1740">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1741">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1742">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1743">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1746">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1747">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1748">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1751">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e1756">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1757">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1758">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1761">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1762">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1763">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1766">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e890">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>) + <h3 id="d2e1767">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<trainingVO> - <key>4534759</key> - <name>Training</name> - <externalId>AC-234</externalId> - <start>2018-01-17T14:24:44.192+01:00</start> - <end>2018-01-17T14:24:44.192+01:00</end> -</trainingVO> -</code></pre></p> - <p>The created booking</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e908"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The training is deleted</p> - <h3 id="d2e914">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e915">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e918">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + <h3 id="d2e1769">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1770">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1773">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1774">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1777">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1778">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1783">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1784">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1788">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1793">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1794">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1795">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1796">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1797">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1800">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1801">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1804">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e1809">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1810">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1813">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1814">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1817">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e919">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + <h3 id="d2e1818">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e921">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e922">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e925">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e926">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + <h3 id="d2e1820">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1821">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1826">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1827">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1828">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1829">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1830">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1833">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1834">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1835">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1838">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e1843">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1844">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1845">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1848">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1849">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1850">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1853">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e927">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + <h3 id="d2e1854">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e929">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e930">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e934">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e935">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e938">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e939">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>) + <h3 id="d2e1856">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1857">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1860">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1861">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1864">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1865">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1870">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1871">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1875">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1892">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<courses totalCount="0"> + <courses> + <course> + <key>777</key> + <softKey>internal_fx_cp</softKey> + <displayName>Demo course</displayName> + <repoEntryKey>27684</repoEntryKey> + <externalId>External identifier</externalId> + <externalRef>External reference</externalRef> + <managedFlags>title,description</managedFlags> + <title>Demo course</title> + </course> + </courses> +</courses> +</code></pre></p> + <p>The courses</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e940">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>) + <h3 id="d2e1905"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1922">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<courses totalCount="0"> + <courses> + <course> + <key>777</key> + <softKey>internal_fx_cp</softKey> + <displayName>Demo course</displayName> + <repoEntryKey>27684</repoEntryKey> + <externalId>External identifier</externalId> + <externalRef>External reference</externalRef> + <managedFlags>title,description</managedFlags> + <title>Demo course</title> + </course> + </courses> +</courses> +</code></pre></p> + <p>The courses</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e942">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e943">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e947">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e951">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e956">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e959">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e960">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e964">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e965">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e969">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e972">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e977">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e980">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e984">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e988">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e989">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e997">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e998">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1004">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1007">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1010">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1014">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1019">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1020">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1028">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1029">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1032">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>) + <h3 id="d2e1935"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1952">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<courses totalCount="0"> + <courses> + <course> + <key>777</key> + <softKey>internal_fx_cp</softKey> + <displayName>Demo course</displayName> + <repoEntryKey>27684</repoEntryKey> + <externalId>External identifier</externalId> + <externalRef>External reference</externalRef> + <managedFlags>title,description</managedFlags> + <title>Demo course</title> + </course> + </courses> +</courses> +</code></pre></p> + <p>The courses</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1033">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>) + <h3 id="d2e1965"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1977">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1978">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1987">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1988">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1997">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1998">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2007">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2008">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2019">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyModuleConfigurationVO">ns3:taxonomyModuleConfigurationVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<taxonomyModuleConfigurationVO> + <enabled>true</enabled> + <taxonomyTreeKey>1</taxonomyTreeKey> +</taxonomyModuleConfigurationVO> +</code></pre></p> + <p>The configuration of the taxonomy module</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1035">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1036">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1039">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e1044">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1045">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1049">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>) + <h3 id="d2e2032"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e2045">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyVO">ns3:taxonomyVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<taxonomyVO> + <key>1</key> + <identifier>ID-Taxonomy</identifier> + <displayName>Taxonomy</displayName> + <description>A taxonomy</description> + <externalId>EXT-ID-Taxonomy</externalId> +</taxonomyVO> +</code></pre></p> + <p>A taxonomy</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1050">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>) + <h3 id="d2e2058"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e2068">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<taxonomyLevelVO> + <key>2</key> + <identifier>ID-Level-Taxonomy</identifier> + <displayName>A taxonomy level</displayName> + <description>A taxonomy level with a parent</description> + <externalId>EXT-ID-Level-Taxonomy</externalId> + <parentKey>300</parentKey> + <typeKey>301</typeKey> +</taxonomyLevelVO> +</code></pre></p> + <p>A taxonomy</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1052">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1053">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1060">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1061">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1064">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1065">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1070">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1071">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1082">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>) + <h3 id="d2e2081"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e2088">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1083">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>) + <h3 id="d2e2089">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1087">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>) + <h3 id="d2e2093">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<authenticationVO> - <key>38759</key> - <identityKey>345</identityKey> - <provider>OLAT</provider> - <authUsername>john</authUsername> -</authenticationVO> +<taxonomyLevelVO> + <key>2</key> + <identifier>ID-Level-Taxonomy</identifier> + <displayName>A taxonomy level</displayName> + <description>A taxonomy level with a parent</description> + <externalId>EXT-ID-Level-Taxonomy</externalId> + <parentKey>300</parentKey> + <typeKey>301</typeKey> +</taxonomyLevelVO> </code></pre></p> - <p>The saved authentication</p> + <p>A taxonomy level</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1100"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2106"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1106"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e1112"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Cannot create the authentication for an unkown reason</p> - <h3 id="d2e1118"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Cannot create the authentication because the authentication username is already used by someone else within the same provider</p> - <h3 id="d2e1125">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>) + <h3 id="d2e2112"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>An existant level was not found</p> + <h3 id="d2e2123"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The level was successfully deleted</p> + <h3 id="d2e2129"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e2135"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The level cannot be deleted and was not modified</p> + <h3 id="d2e2141"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The level taxonomy doesn't match the taxonomy of the web service</p> + <h3 id="d2e2152">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) </h3> <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<authenticationVOes> - <authenticationVO> - <key>38759</key> - <identityKey>345</identityKey> - <provider>OLAT</provider> - <authUsername>john</authUsername> - </authenticationVO> -</authenticationVOes> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<taxonomyCompetenceVO> + <key>4</key> + <identityKey>400</identityKey> + <taxonomyLevelKey>2</taxonomyLevelKey> + <taxonomyCompetenceType>teach</taxonomyCompetenceType> +</taxonomyCompetenceVO> </code></pre></p> - <p>The list of all users in the OLAT system</p> + <p>An array of competences</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1136"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1140"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e1156"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The authentication successfully deleted</p> - <h3 id="d2e1162"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1168"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the authentication not found</p> - <h3 id="d2e1178">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p> - <h6>Example</h6><pre><code>1.0</code></pre></p> - <p>The version of this specific Web Service</p> - <h3 id="d2e1196">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e1203"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The password successfully changed</p> - <h3 id="d2e1209"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2165"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1215"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The password was not changed</p> - <h3 id="d2e1221"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the authentication not found</p> - <h3 id="d2e1228">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1236">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1244">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>) + <h3 id="d2e2172">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1245">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>) + <h3 id="d2e2173">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1249">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2177">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) + </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<userVO> - <key>345</key> - <login>john</login> - <password></password> - <firstName>John</firstName> - <lastName>Smith</lastName> - <email>john.smith@frentix.com</email> - <properties> - <property> - <name>telPrivate</name> - <value>238456782</value> - </property> - <property> - <name>telMobile</name> - <value>238456782</value> - </property> - </properties> -</userVO> +<taxonomyCompetenceVO> + <key>4</key> + <identityKey>400</identityKey> + <taxonomyLevelKey>2</taxonomyLevelKey> + <taxonomyCompetenceType>teach</taxonomyCompetenceType> +</taxonomyCompetenceVO> </code></pre></p> - <p>The persisted user</p> - <h3 id="d2e1262"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>A competence</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e2190"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1268">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2196"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type to update was not found</p> + <h3 id="d2e2202"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level key of the competence doesn't match the one in URL</p> + <h3 id="d2e2213">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) + </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<errorVOes> - <errorVO> - <code>org.olat.restapi:error</code> - <translation>Hello world, there is an error</translation> - </errorVO> -</errorVOes> +<taxonomyCompetenceVO> + <key>4</key> + <identityKey>400</identityKey> + <taxonomyLevelKey>2</taxonomyLevelKey> + <taxonomyCompetenceType>teach</taxonomyCompetenceType> +</taxonomyCompetenceVO> </code></pre></p> - <p>The list of errors</p> - <h3 id="d2e1289">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>) + <p>An array of competences</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e2226"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e2238">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<users totalCount="0"> - <users> - <user> - <key>345</key> - <login>john</login> - <password></password> - <firstName>John</firstName> - <lastName>Smith</lastName> - <email>john.smith@frentix.com</email> - <properties> - <property> - <name>telPrivate</name> - <value>238456782</value> - </property> - <property> - <name>telMobile</name> - <value>238456782</value> - </property> - </properties> - </user> - </users> -</users> +<taxonomyCompetenceVO> + <key>4</key> + <identityKey>400</identityKey> + <taxonomyLevelKey>2</taxonomyLevelKey> + <taxonomyCompetenceType>teach</taxonomyCompetenceType> +</taxonomyCompetenceVO> </code></pre></p> - <p>The list of all users in the OLAT system</p> + <p>An array of competences</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1302"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2251"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e2263"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The competence was removed sucessfully</p> + <h3 id="d2e2269"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1313">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>) + <h3 id="d2e2275"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The competence was not found</p> + <h3 id="d2e2285">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<taxonomyLevelTypeVO> + <key>3</key> + <identifier>ID-Taxonomy-Level-Type</identifier> + <displayName>Taxonomy level type</displayName> + <description>Settings for a taxonomy level</description> + <externalId>EXT-ID-Taxonomy-Level-Type</externalId> +</taxonomyLevelTypeVO> +</code></pre></p> + <p>A taxonomy level</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1314">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>) + <h3 id="d2e2298"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e2304"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy was not found</p> + <h3 id="d2e2311">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1318">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>) + <h3 id="d2e2312">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<userVO> - <key>345</key> - <login>john</login> - <password></password> - <firstName>John</firstName> - <lastName>Smith</lastName> - <email>john.smith@frentix.com</email> - <properties> - <property> - <name>telPrivate</name> - <value>238456782</value> - </property> - <property> - <name>telMobile</name> - <value>238456782</value> - </property> - </properties> -</userVO> -</code></pre></p> - <p>The user</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1331"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1337"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e1343">application/xml, application/json (<abbr title="{http://www.example.com} errorVO">ns3:errorVO</abbr>) + <h3 id="d2e2316">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<errorVOes> - <errorVO> - <code>org.olat.restapi:error</code> - <translation>Hello world, there is an error</translation> - </errorVO> -</errorVOes> +<taxonomyLevelTypeVO> + <key>3</key> + <identifier>ID-Taxonomy-Level-Type</identifier> + <displayName>Taxonomy level type</displayName> + <description>Settings for a taxonomy level</description> + <externalId>EXT-ID-Taxonomy-Level-Type</externalId> +</taxonomyLevelTypeVO> </code></pre></p> - <p>The list of validation errors</p> + <p>A taxonomy level type</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1359"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The user is removed from the group</p> - <h3 id="d2e1365"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2329"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1371"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e1384">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2335"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type to update was not found</p> + <h3 id="d2e2346">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) + </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<userVO> - <key>345</key> - <login>john</login> - <password></password> - <firstName>John</firstName> - <lastName>Smith</lastName> - <email>john.smith@frentix.com</email> - <properties> - <property> - <name>telPrivate</name> - <value>238456782</value> - </property> - <property> - <name>telMobile</name> - <value>238456782</value> - </property> - </properties> -</userVO> +<taxonomyLevelTypeVO> + <key>3</key> + <identifier>ID-Taxonomy-Level-Type</identifier> + <displayName>Taxonomy level type</displayName> + <description>Settings for a taxonomy level</description> + <externalId>EXT-ID-Taxonomy-Level-Type</externalId> +</taxonomyLevelTypeVO> </code></pre></p> - <p>The user</p> - <h3 id="d2e1397"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>A taxonomy level type</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e2359"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1403"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e1416">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2365"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type was not found</p> + <h3 id="d2e2377">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) + </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<statusVO> - <status>2</status> -</statusVO> +<taxonomyLevelTypeVO> + <key>3</key> + <identifier>ID-Taxonomy-Level-Type</identifier> + <displayName>Taxonomy level type</displayName> + <description>Settings for a taxonomy level</description> + <externalId>EXT-ID-Taxonomy-Level-Type</externalId> +</taxonomyLevelTypeVO> </code></pre></p> - <p>The user</p> - <h3 id="d2e1429"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1435"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e1442">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>) - </h3> + <p>An array of taxonomy level types</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1443">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>) + <h3 id="d2e2390"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e2396"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type was not found</p> + <h3 id="d2e2408">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1447">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<rolesVO> - <olatAdmin>false</olatAdmin> - <userManager>false</userManager> - <groupManager>false</groupManager> - <author>true</author> - <guestOnly>false</guestOnly> - <institutionalResourceManager>false</institutionalResourceManager> - <poolAdmin>false</poolAdmin> - <invitee>false</invitee> -</rolesVO> +<taxonomyLevelTypeVO> + <key>3</key> + <identifier>ID-Taxonomy-Level-Type</identifier> + <displayName>Taxonomy level type</displayName> + <description>Settings for a taxonomy level</description> + <externalId>EXT-ID-Taxonomy-Level-Type</externalId> +</taxonomyLevelTypeVO> </code></pre></p> - <p>The user</p> - <h3 id="d2e1460"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The sub type was added to the allowed sub types</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e2421"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1466"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e1479">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2427"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type was not found</p> + <h3 id="d2e2436"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The sub type was removed sucessfully</p> + <h3 id="d2e2442"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e2448"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type was not found</p> + <h3 id="d2e2456">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2462">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2463">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2464">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2465">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2471">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2472">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2473">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2474">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2477">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2480">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2485">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2488">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2491">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2495">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2500">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2505">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2510">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2514">application/xhtml+xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2515">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2518">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2522">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2539">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<rolesVO> - <olatAdmin>false</olatAdmin> - <userManager>false</userManager> - <groupManager>false</groupManager> - <author>true</author> - <guestOnly>false</guestOnly> - <institutionalResourceManager>false</institutionalResourceManager> - <poolAdmin>false</poolAdmin> - <invitee>false</invitee> -</rolesVO> +<subscriptionInfoVOes> + <subscriptionInfoVO> + <title>Infos</title> + <items/> + </subscriptionInfoVO> +</subscriptionInfoVOes> </code></pre></p> - <p>The user</p> - <h3 id="d2e1492"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1498"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The notifications</p> + <h3 id="d2e2552"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity not found</p> - <h3 id="d2e1505">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>) + <h3 id="d2e2558">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1506">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>) + <h3 id="d2e2559">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1510">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<rolesVO> - <olatAdmin>false</olatAdmin> - <userManager>false</userManager> - <groupManager>false</groupManager> - <author>true</author> - <guestOnly>false</guestOnly> - <institutionalResourceManager>false</institutionalResourceManager> - <poolAdmin>false</poolAdmin> - <invitee>false</invitee> -</rolesVO> -</code></pre></p> - <p>The user</p> - <h3 id="d2e1523"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1529"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e1539">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p> - <h6>Example</h6><pre><code>1.0</code></pre></p> - <p>The version of this specific Web Service</p> - <h3 id="d2e1552">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1553">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1564">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2561">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2566">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2577">application/xml, application/json (<abbr title="{http://www.example.com} publisherVo">ns3:publisherVo</abbr>) + </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<preferencesVO> - <language>de</language> -</preferencesVO> +<subscribersVO> + <type>Forum</type> + <data>3456</data> + <businessPath>[BusinessGroup:357886347][toolforum:0]</businessPath> + <resName>BusinessGroup</resName> + <resId>357886347</resId> + <subidentifier>toolforum</subidentifier> + <users/> +</subscribersVO> </code></pre></p> - <p>The preferences</p> - <h3 id="d2e1577"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The publisher</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e2590"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1583"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e1590">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>) + <h3 id="d2e2596"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The publisher doesn't exist</p> + <h3 id="d2e2605">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2606">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2613">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2618">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2622">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2627">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2628">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2629">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2630">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2631">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2634">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2635">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2638">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e2643">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2644">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2647">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2648">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2651">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1591">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>) + <h3 id="d2e2652">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1595">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<preferencesVO> - <language>de</language> -</preferencesVO> -</code></pre></p> - <p>The user</p> - <h3 id="d2e1608"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2654">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2655">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2660">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2661">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2662">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2663">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2664">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2667">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2668">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2669">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2672">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e2677">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2678">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2679">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2682">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2683">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2684">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2687">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e2688">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e2690">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2691">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2694">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2695">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2698">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2699">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2704">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2705">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2709">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2714">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2715">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2732">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The certificate as file</p> + <h3 id="d2e2738"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1614"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e1627">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e1633"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e1642">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e1648"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Not authorized</p> - <h3 id="d2e1654"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e1663"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait deleted</p> - <h3 id="d2e1669"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Not authorized</p> - <h3 id="d2e1678">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e1684"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e1696">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e1702"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e1716">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>) + <h3 id="d2e2744"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The owner or the certificate cannot be found</p> + <h3 id="d2e2749">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2752">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2769"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>If the certificate was created</p> + <h3 id="d2e2775"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e2781"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>An unexpected error happened during the creation of the certificate</p> + <h3 id="d2e2787"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the resource cannot be found</p> + <h3 id="d2e2796"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>if the certificate was uploaded</p> + <h3 id="d2e2802"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e2808"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the resource cannot be found</p> + <h3 id="d2e2828">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<folders totalCount="1"> - <folders> - <folder name="Course folder" courseKey="375397" courseNodeId="438950850389" subscribed="true" write="false" read="false" list="false" delete="false"/> - </folders> -</folders> +<keyValuePair> + <key>Prefered color</key> + <value>Green</value> +</keyValuePair> </code></pre></p> - <p>The folders</p> + <p>The value in the course</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e2839"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The entry cannot be found</p> + <h3 id="d2e2850"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The value is saved in the course</p> + <h3 id="d2e2857">text/plain, text/html (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>) + </h3> + <p> + <h6>Example</h6><pre><code>Green</code></pre></p> + <p>A value of the course</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1729"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2868"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The entry cannot be found</p> + <h3 id="d2e2875">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e2880"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The value is saved in the course</p> + <h3 id="d2e2887"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>the key value pair is remove from the db</p> + <h3 id="d2e2891"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1736">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1737">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1738">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1739">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1740">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1743">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e2895"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The entry cannot be found</p> + <h3 id="d2e2909">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<keyValuePairVOes> + <keyValuePairVO> + <key>Prefered color</key> + <value>Green</value> + </keyValuePairVO> +</keyValuePairVOes> +</code></pre></p> + <p>All the values in the course</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1744">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e2923">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1746">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1747">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1750">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1751">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1754">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e1759">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1760">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1763">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1764">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1769">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1770">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1771">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1772">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1773">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1776">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1777">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1780">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1781">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1784">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1785">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1786">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1789">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e2924">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1790">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e2926"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>the key value pair is saved on the db</p> + <h3 id="d2e2933">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1792">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1793">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1796">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1797">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1798">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1801">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e1806">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1807">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1808">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1812">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1817">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1818">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1822">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1823">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1824">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1825">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1826">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1829">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e2934">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1830">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e2936"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>the key value pair is saved on the db</p> + <h3 id="d2e2953"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>the key value pair is remove from the db</p> + <h3 id="d2e2957"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e2961"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The entry cannot be found</p> + <h3 id="d2e2969">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code>1.0</code></pre></p> + <p>The version of this specific Web Service</p> + <h3 id="d2e2986">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2987">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2998">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2999">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3010">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1832">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1833">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1836">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1837">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1840">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e1845">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1846">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1849">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1850">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1855">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1856">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1857">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1858">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1859">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1862">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1863">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1866">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1867">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1870">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1871">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1872">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1875">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e3011">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1876">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e3015">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<authenticationVO> + <key>38759</key> + <identityKey>345</identityKey> + <provider>OLAT</provider> + <authUsername>john</authUsername> +</authenticationVO> +</code></pre></p> + <p>The saved authentication</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1878">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1879">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1882">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1883">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1884">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1887">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e1892">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1893">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1894">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1898">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1903">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1904">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1910">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1911">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1912">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1913">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1914">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1917">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e3028"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3034"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e3040"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Cannot create the authentication for an unkown reason</p> + <h3 id="d2e3046"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Cannot create the authentication because the authentication username is already used by someone else within the same provider</p> + <h3 id="d2e3053">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<authenticationVOes> + <authenticationVO> + <key>38759</key> + <identityKey>345</identityKey> + <provider>OLAT</provider> + <authUsername>john</authUsername> + </authenticationVO> +</authenticationVOes> +</code></pre></p> + <p>The list of all users in the OLAT system</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1918">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e3064"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3068"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e3084"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The authentication successfully deleted</p> + <h3 id="d2e3090"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3096"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the authentication not found</p> + <h3 id="d2e3107">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e3114"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The password successfully changed</p> + <h3 id="d2e3120"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3126"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The password was not changed</p> + <h3 id="d2e3132"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the authentication not found</p> + <h3 id="d2e3142">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code>1.0</code></pre></p> + <p>The version of this specific Web Service</p> + <h3 id="d2e3192">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<courseNodeVO> + <id>id</id> +</courseNodeVO> +</code></pre></p> + <p>The course node metadatas</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1920">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1921">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1924">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1925">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1928">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3205"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3211"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e3218">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e1933">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1934">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1937">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1938">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1943">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1944">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1945">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1946">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1947">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1950">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1951">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1954">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1955">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1958">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1959">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1960">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1963">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e3249">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<courseNodeVO> + <id>id</id> +</courseNodeVO> +</code></pre></p> + <p>The course node metadatas</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1964">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e3262"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3268"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e3280">application/xml, application/json (<abbr title="{http://www.example.com} groupVO">ns3:groupVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<groupVO> + <key>123467</key> + <description>My group description</description> + <externalId>External Identifier</externalId> + <managedFlags>title,description</managedFlags> + <name>My group</name> + <minParticipants>0</minParticipants> + <maxParticipants>0</maxParticipants> +</groupVO> +</code></pre></p> + <p>The groups</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1966">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1967">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1970">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1971">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1972">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1975">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e1980">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1981">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1982">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1986">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1991">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1992">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2009">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>) + <h3 id="d2e3293"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3299"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or course node not found</p> + <h3 id="d2e3308">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3309">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3314">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3315">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3370">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<courses totalCount="0"> - <courses> - <course> - <key>777</key> - <softKey>internal_fx_cp</softKey> - <displayName>Demo course</displayName> - <repoEntryKey>27684</repoEntryKey> - <externalId>External identifier</externalId> - <externalRef>External reference</externalRef> - <managedFlags>title,description</managedFlags> - <title>Demo course</title> - </course> - </courses> -</courses> +<courseNodeVO> + <id>id</id> +</courseNodeVO> </code></pre></p> - <p>The courses</p> + <p>The course node metadatas</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2022"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3383"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2039">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>) + <h3 id="d2e3389"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e3396">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e3419">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<courses totalCount="0"> - <courses> - <course> - <key>777</key> - <softKey>internal_fx_cp</softKey> - <displayName>Demo course</displayName> - <repoEntryKey>27684</repoEntryKey> - <externalId>External identifier</externalId> - <externalRef>External reference</externalRef> - <managedFlags>title,description</managedFlags> - <title>Demo course</title> - </course> - </courses> -</courses> +<courseNodeVO> + <id>id</id> +</courseNodeVO> </code></pre></p> - <p>The courses</p> + <p>The course node metadatas</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2052"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3432"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2069">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>) + <h3 id="d2e3438"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e3451">application/xml, application/json (<abbr title="{http://www.example.com} forumVOes">ns3:forumVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<courses totalCount="0"> - <courses> - <course> - <key>777</key> - <softKey>internal_fx_cp</softKey> - <displayName>Demo course</displayName> - <repoEntryKey>27684</repoEntryKey> - <externalId>External identifier</externalId> - <externalRef>External reference</externalRef> - <managedFlags>title,description</managedFlags> - <title>Demo course</title> - </course> - </courses> -</courses> +<forums totalCount="1"> + <forums> + <forums name="My forum" detailsName="It is a forum" forumKey="3865487" courseKey="286" courseNodeId="2784628" subscribed="false"/> + </forums> +</forums> </code></pre></p> - <p>The courses</p> + <p>The course node metadatas</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2082"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3464"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2094">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2095">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2104">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2105">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2114">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2115">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2124">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2125">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2180">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e3470"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e3477">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e3491">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23074,13 +24078,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2193"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3504"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2199"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3510"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The course or parentNode not found</p> - <h3 id="d2e2206">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e2229">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e3530">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23092,136 +24094,63 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2242"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3543"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2248"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3549"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The course or parentNode not found</p> - <h3 id="d2e2262"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Registration successful</p> - <h3 id="d2e2266"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Email address not allowed</p> - <h3 id="d2e2270"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Already registered, HTTP-Header location set to redirect</p> - <h3 id="d2e2277">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e2282"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Registration successful</p> - <h3 id="d2e2286"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Already registered, HTTP-Header location set to redirect</p> - <h3 id="d2e2292">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2293">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2295">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2296">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2302">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2303">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2309">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2312">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2316">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2321">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2322">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2325">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2326">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2328">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2329">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2332">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2337">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e2340">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2343">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2346">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2351">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2353">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2358">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2359">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2364">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2365">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2370">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2371">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2377">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2380">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2390">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2391">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2396">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2397">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2398">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2399">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2400">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2403">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2404">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e3565">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<forum name="My forum" detailsName="It is a forum" forumKey="3865487" courseKey="286" courseNodeId="2784628" subscribed="false"/> +</code></pre></p> + <p>The course node metadatas</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2406">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2407">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2410">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2411">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2414">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e2419">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2420">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2423">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2424">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2429">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2430">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2431">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2432">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2433">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2436">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2437">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2440">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2441">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2444">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2445">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2446">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2449">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e3578"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3584"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e3613">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<messageVO> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> +</messageVO> +</code></pre></p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2450">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e3626"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3632"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e3661">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<messageVO> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> +</messageVO> +</code></pre></p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2452">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2453">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2456">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2457">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2458">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2461">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e2466">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2467">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2468">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2472">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2477">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2478">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2489">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h3 id="d2e3674"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3680"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e3694">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23231,11 +24160,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2502"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3707"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2508"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3713"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The forum not found</p> - <h3 id="d2e2527">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e3732">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23254,11 +24183,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2540"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3745"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2546"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3751"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e2565">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e3770">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23273,13 +24202,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2578"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3783"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2584"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3789"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e2591">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3796">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e2598">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e3803">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23294,11 +24223,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2611"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3816"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2617"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3822"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e2639">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e3844">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23317,13 +24246,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2652"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3857"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2658"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3863"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e2669">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3874">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e2682">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e3887">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23338,21 +24267,21 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2695"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3900"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2701"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3906"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e2708">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e3913">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2709">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e3914">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2713">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e3918">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23367,11 +24296,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2726"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3931"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2732"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3937"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e2751">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e3956">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23386,436 +24315,43 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2764"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3969"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2770"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3975"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e2783">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3988">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The links to the attachments</p> - <h3 id="d2e2789"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3994"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The message not found</p> - <h3 id="d2e2796">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4001">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e2802">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4007">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e2808"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4013"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e2815">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e4020">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2816">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e4021">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2820">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4025">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e2826"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4031"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e2835">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4040">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e2841"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e2857">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e2863"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4046"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e2878"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The list of contacts</p> - <h3 id="d2e2891">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2892">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2895">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2896">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2899">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2900">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2909">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2910">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2914">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2919">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2920">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2923">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2924">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2927">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2928">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2930">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2931">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2934">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2935">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2941">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2944">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2950">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2953">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2958">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2959">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2961">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2964">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2965">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2970">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2971">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2974">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2975">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2977">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2983">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2986">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2991">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2992">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2994">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2997">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2998">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3004">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3005">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3010">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3013">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3014">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3019">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3020">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3023">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3024">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3026">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3027">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3030">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3031">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3032">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3034">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3035">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3039">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3040">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3043">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3044">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3045">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3047">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3048">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3052">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3056">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3061">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3064">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3065">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3069">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3070">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3074">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3077">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3082">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3085">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3089">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3093">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3094">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3102">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3103">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3108">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3109">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3114">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3118">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3123">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3128">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3132">application/xhtml+xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3133">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3136">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3144">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3145">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3154">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3155">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3159">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3164">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3165">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3174">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3175">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3185">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3186">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3194">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3195">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3198">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3199">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3201">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3202">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3205">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3206">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3208">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3209">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3213">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3214">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3216">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3217">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3220">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3221">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3222">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3224">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3225">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3230">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3236">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3237">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3238">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3239">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3244">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3250">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3251">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3252">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3253">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3256">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3259">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3264">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3267">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3270">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3284">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4062">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The portrait as image</p> - <h3 id="d2e3290"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4068"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e3310">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>) - </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<keyValuePair> - <key>Prefered color</key> - <value>Green</value> -</keyValuePair> -</code></pre></p> - <p>The value in the course</p> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3321"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The entry cannot be found</p> - <h3 id="d2e3332"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The value is saved in the course</p> - <h3 id="d2e3339">text/plain, text/html (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>) - </h3> - <p> - <h6>Example</h6><pre><code>Green</code></pre></p> - <p>A value of the course</p> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3350"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The entry cannot be found</p> - <h3 id="d2e3357">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3362"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The value is saved in the course</p> - <h3 id="d2e3369"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>the key value pair is remove from the db</p> - <h3 id="d2e3373"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3377"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The entry cannot be found</p> - <h3 id="d2e3391">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>) - </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<keyValuePairVOes> - <keyValuePairVO> - <key>Prefered color</key> - <value>Green</value> - </keyValuePairVO> -</keyValuePairVOes> -</code></pre></p> - <p>All the values in the course</p> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3405">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3406">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3408"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>the key value pair is saved on the db</p> - <h3 id="d2e3415">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3416">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3418"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>the key value pair is saved on the db</p> - <h3 id="d2e3426">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p> - <h6>Example</h6><pre><code>1.0</code></pre></p> - <p>The version of this specific Web Service</p> - <h3 id="d2e3450"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>the key value pair is remove from the db</p> - <h3 id="d2e3454"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3458"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The entry cannot be found</p> - <h3 id="d2e3465">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3471">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3472">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3477">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3478">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3490">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3491">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3497">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3498">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3503">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3514">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3515">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3518">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3519">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3532">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3533">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3536">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3537">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3543">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3552">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3553">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3558">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3569">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3570">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3583">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3584">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3590">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3598">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3599">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3604">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3614">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3615">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3627">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3628">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3634">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3641">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3642">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3647">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3656">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3657">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3668">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3669">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3676">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3684">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3685">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3699">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3700">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3712">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3713">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3719">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3727">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3728">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3742">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3743">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3755">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3756">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3770">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3771">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3783">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3784">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3790">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3798">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3799">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3805">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3813">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3814">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3828">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3829">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3841">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3842">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3848">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3849">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3852">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3853">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3887">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3888">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3919">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3920">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3923">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3924">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3938">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3939">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3950">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3951">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3954">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3955">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3981">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3982">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4004">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4005">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4008">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4009">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4015">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4016">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4024">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4025">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4036">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4037">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4051">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4052">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4056">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) + <h3 id="d2e4086">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23825,30 +24361,30 @@ <groupName>NEW-EVENT_OLAT_938745983</groupName> <eventName>New event</eventName> <externalId>AC-234</externalId> - <start>2018-01-17T14:24:44.221+01:00</start> + <start>2018-05-15T10:00:36.912+02:00</start> <startBuffer>15</startBuffer> - <end>2018-01-17T14:24:44.221+01:00</end> + <end>2018-05-15T10:00:36.912+02:00</end> <endBuffer>15</endBuffer> <roomSize>22</roomSize> <autoSignIn>true</autoSignIn> <timeZoneId></timeZoneId> </viteroBookingVO> </code></pre></p> - <p>The created booking</p> + <p>This is the list of all bookings of a resource</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4070">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <h3 id="d2e4100">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4071">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <h3 id="d2e4101">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4075">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) + <h3 id="d2e4105">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23858,9 +24394,9 @@ <groupName>NEW-EVENT_OLAT_938745983</groupName> <eventName>New event</eventName> <externalId>AC-234</externalId> - <start>2018-01-17T14:24:44.221+01:00</start> + <start>2018-05-15T10:00:36.912+02:00</start> <startBuffer>15</startBuffer> - <end>2018-01-17T14:24:44.221+01:00</end> + <end>2018-05-15T10:00:36.912+02:00</end> <endBuffer>15</endBuffer> <roomSize>22</roomSize> <autoSignIn>true</autoSignIn> @@ -23871,7 +24407,17 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4091">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) + <h3 id="d2e4119">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e4120">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e4124">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23881,20 +24427,20 @@ <groupName>NEW-EVENT_OLAT_938745983</groupName> <eventName>New event</eventName> <externalId>AC-234</externalId> - <start>2018-01-17T14:24:44.221+01:00</start> + <start>2018-05-15T10:00:36.912+02:00</start> <startBuffer>15</startBuffer> - <end>2018-01-17T14:24:44.221+01:00</end> + <end>2018-05-15T10:00:36.912+02:00</end> <endBuffer>15</endBuffer> <roomSize>22</roomSize> <autoSignIn>true</autoSignIn> <timeZoneId></timeZoneId> </viteroBookingVO> </code></pre></p> - <p>This is the list of all bookings of a resource</p> + <p>The created booking</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4111">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>) + <h3 id="d2e4144">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23907,9 +24453,9 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4125">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4126">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4130">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>) + <h3 id="d2e4158">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4159">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4163">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23922,29 +24468,155 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4148"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4181"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The booking is deleted</p> - <h3 id="d2e4156">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4157">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4161">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4167">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4168">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4174">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4175">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4178">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>) + <h3 id="d2e4191">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4192">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4204">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4205">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4208">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4209">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4212">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4213">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4222">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4223">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4227">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4232">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4233">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4236">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4237">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4240">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e4241">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e4243">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4244">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4247">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4248">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4253">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4254">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4257">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4258">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4260">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4266">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4269">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4274">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4275">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4280">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e4283">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4284">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4290">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4293">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4298">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4299">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4301">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4304">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4305">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4311">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4312">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4315">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4316">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4318">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4324">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4327">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4332">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4333">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4336">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e4337">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e4339">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4340">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4343">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4344">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e4345">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4179">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>) + <h3 id="d2e4347">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4348">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4352">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4356">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4360">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4361">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4364">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4365">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4181">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4188">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4189">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4230">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e4366">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e4368">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4369">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4374">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4375">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4378">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4382">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4386">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4387">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4391">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4394">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4399">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4402">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4415">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>) + </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<folders totalCount="1"> + <folders> + <folder name="Course folder" courseKey="375397" courseNodeId="438950850389" subscribed="true" write="false" read="false" list="false" delete="false"/> + </folders> +</folders> +</code></pre></p> + <p>The course node metadatas</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e4428"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e4434"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e4468">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<courseNodeVO> + <id>id</id> +</courseNodeVO> +</code></pre></p> + <p>The folder node metadatas</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e4481"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e4487"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e4494">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e4522">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23952,17 +24624,17 @@ <id>id</id> </courseNodeVO> </code></pre></p> - <p>The course node metadatas</p> + <p>The folder node metadatas</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4243"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4535"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4249"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4541"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The course or parentNode not found</p> - <h3 id="d2e4256">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4555">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e4287">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e4577">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -23970,49 +24642,93 @@ <id>id</id> </courseNodeVO> </code></pre></p> - <p>The course node metadatas</p> + <p>The folder node metadatas</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4300"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4590"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4306"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4596"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The course or parentNode not found</p> - <h3 id="d2e4318">application/xml, application/json (<abbr title="{http://www.example.com} groupVO">ns3:groupVO</abbr>) + <h3 id="d2e4605">application/xml, application/json (<abbr title="{http://www.example.com} folderVO">ns3:folderVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<groupVO> - <key>123467</key> - <description>My group description</description> - <externalId>External Identifier</externalId> - <managedFlags>title,description</managedFlags> - <name>My group</name> - <minParticipants>0</minParticipants> - <maxParticipants>0</maxParticipants> -</groupVO> +<folder name="Course folder" courseKey="375397" courseNodeId="438950850389" subscribed="true" write="false" read="false" list="false" delete="false"/> </code></pre></p> - <p>The groups</p> + <p>The course node metadatas</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4331"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4618"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4337"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or course node not found</p> - <h3 id="d2e4352">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h3 id="d2e4624"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e4632">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4633">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4634">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4635">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4636">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4639">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4640">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4643">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e4648">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4649">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4652">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4653">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4656">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<forum name="My forum" detailsName="It is a forum" forumKey="3865487" courseKey="286" courseNodeId="2784628" subscribed="false"/> -</code></pre></p> - <p>The forums</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4365"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4378">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h3 id="d2e4657">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e4659">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4660">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4665">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4666">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4667">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4668">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4669">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4672">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4673">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4674">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4677">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e4682">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4683">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4684">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4687">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4688">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4689">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4692">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e4693">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e4695">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4696">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4699">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4700">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4703">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4704">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4709">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4710">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4714">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4723">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p> + <h6>Example</h6><pre><code>1.0</code></pre></p> + <p>The version of this specific Web Service</p> + <h3 id="d2e4745">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24022,11 +24738,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4391"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4758"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4397"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4764"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The forum not found</p> - <h3 id="d2e4416">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e4783">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24045,11 +24761,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4429"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4796"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4435"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4802"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e4454">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e4821">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24064,13 +24780,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4467"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4834"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4473"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4840"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e4480">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4847">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e4487">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e4854">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24085,11 +24801,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4500"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4867"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4506"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4873"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e4528">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e4895">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24108,13 +24824,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4541"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4908"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4547"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4914"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e4558">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4925">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e4571">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e4938">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24129,21 +24845,21 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4584"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4951"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4590"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4957"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e4597">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e4964">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4598">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e4965">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4602">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e4969">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24158,11 +24874,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4615"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4982"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4621"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4988"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e4640">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e5007">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24177,43 +24893,151 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4653"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5020"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4659"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5026"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e4672">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5039">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The links to the attachments</p> - <h3 id="d2e4678"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5045"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The message not found</p> - <h3 id="d2e4685">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5052">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e4691">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5058">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e4697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5064"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e4704">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e5071">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4705">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e5072">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4709">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5076">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e4715"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5082"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e4724">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5091">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e4730"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5097"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e5113">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e5119"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e4746">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5134"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The list of contacts</p> + <h3 id="d2e5150">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The portrait as image</p> - <h3 id="d2e4752"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5156"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e4766">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h3 id="d2e5163">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5164">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5168">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5169">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5173">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5174">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5179">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5180">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5184">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5189">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5190">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5194">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5195">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5199">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5200">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5204">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5205">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5209">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5210">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5214">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5215">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5219">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5220">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5224">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5225">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5229">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5230">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5234">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5235">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5239">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5240">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5244">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5245">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5249">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5250">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5254">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5255">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5258">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e5261">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5264">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5268">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5271">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5272">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5276">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5279">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5280">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5288">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5289">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5293">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5296">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5297">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5301">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5302">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5306">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5307">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5311">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5312">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5315">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e5318">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5321">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5326">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5327">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5330">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e5333">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5336">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5341">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5342">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5348">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5349">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5355">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5356">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5359">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e5360">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e5362">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5369">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5370">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5374">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5383">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5387">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5400">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<forum name="My forum" detailsName="It is a forum" forumKey="3865487" courseKey="286" courseNodeId="2784628" subscribed="false"/> +</code></pre></p> + <p>The forums</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e5413"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e5426">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24223,11 +25047,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4779"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5439"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4785"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5445"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The forum not found</p> - <h3 id="d2e4804">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e5464">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24246,11 +25070,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4817"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5477"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4823"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5483"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e4842">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e5502">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24265,13 +25089,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4855"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5515"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4861"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5521"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e4868">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5528">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e4875">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e5535">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24286,11 +25110,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4888"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5548"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4894"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5554"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e4916">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e5576">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24309,13 +25133,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4929"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5589"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4935"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5595"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e4946">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5606">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e4959">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e5619">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24330,21 +25154,21 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4972"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5632"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4978"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5638"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e4985">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e5645">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4986">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e5646">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4990">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e5650">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24359,11 +25183,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5003"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5663"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5009"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5669"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e5028">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e5688">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24378,518 +25202,594 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5041"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5701"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5047"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5707"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e5060">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5720">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The links to the attachments</p> - <h3 id="d2e5066"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5726"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The message not found</p> - <h3 id="d2e5073">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5733">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e5079">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5739">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e5085"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5745"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e5092">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e5752">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5093">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e5753">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5097">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5757">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e5103"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5763"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e5112">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5772">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e5118"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5778"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e5134">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5794">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The portrait as image</p> - <h3 id="d2e5140"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5800"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e5155">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>) + <h3 id="d2e5814">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<folders totalCount="1"> - <folders> - <folder name="Course folder" courseKey="375397" courseNodeId="438950850389" subscribed="true" write="false" read="false" list="false" delete="false"/> - </folders> -</folders> +<forum name="My forum" detailsName="It is a forum" forumKey="3865487" courseKey="286" courseNodeId="2784628" subscribed="false"/> </code></pre></p> - <p>The course node metadatas</p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5168"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5827"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5174"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e5208">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e5833"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The forum not found</p> + <h3 id="d2e5852">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<courseNodeVO> - <id>id</id> -</courseNodeVO> +<messages totalCount="1"> + <messages> + <message> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> + </message> + </messages> +</messages> </code></pre></p> - <p>The folder node metadatas</p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5221"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5865"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5227"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e5234">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e5262">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e5871"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e5890">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<courseNodeVO> - <id>id</id> -</courseNodeVO> +<messageVO> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> +</messageVO> </code></pre></p> - <p>The folder node metadatas</p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5275"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5903"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5281"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e5295">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5909"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e5916">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e5317">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e5923">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<courseNodeVO> - <id>id</id> -</courseNodeVO> +<messageVO> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> +</messageVO> </code></pre></p> - <p>The folder node metadatas</p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5330"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5936"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5336"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e5345">application/xml, application/json (<abbr title="{http://www.example.com} folderVO">ns3:folderVO</abbr>) + <h3 id="d2e5942"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e5964">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<folder name="Course folder" courseKey="375397" courseNodeId="438950850389" subscribed="true" write="false" read="false" list="false" delete="false"/> +<messages totalCount="1"> + <messages> + <message> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> + </message> + </messages> +</messages> </code></pre></p> - <p>The course node metadatas</p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5358"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5977"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5364"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e5372">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5373">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5374">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5375">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5376">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5379">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e5983"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e5994">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6007">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<messageVO> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> +</messageVO> +</code></pre></p> + <p>The root message of the thread</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e6020"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6026"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author or message not found</p> + <h3 id="d2e6033">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5380">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e6034">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5382">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5383">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5386">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5387">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5390">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e5395">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5396">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5399">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5400">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5405">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5406">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5407">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5408">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5409">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5412">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5413">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5416">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5417">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5420">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5421">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5422">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5425">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e6038">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<messageVO> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> +</messageVO> +</code></pre></p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5426">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e6051"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6057"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author or message not found</p> + <h3 id="d2e6076">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<messageVO> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> +</messageVO> +</code></pre></p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5428">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5429">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5432">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5433">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5434">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5437">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6089"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6095"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author or message not found</p> + <h3 id="d2e6108">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The links to the attachments</p> + <h3 id="d2e6114"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The message not found</p> + <h3 id="d2e6121">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e5442">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5443">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5444">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5448">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5453">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5454">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5463">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6127">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Ok</p> + <h3 id="d2e6133"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e6140">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e6141">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e6145">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Ok</p> + <h3 id="d2e6151"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e6160">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Ok</p> + <h3 id="d2e6166"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e6182">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e6188"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e6199">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6200">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6204">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6218">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyVO">ns3:taxonomyVO</abbr>) + </h3> <p> - <h6>Example</h6><pre><code>1.0</code></pre></p> - <p>The version of this specific Web Service</p> - <h3 id="d2e5485">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<taxonomyVO> + <key>1</key> + <identifier>ID-Taxonomy</identifier> + <displayName>Taxonomy</displayName> + <description>A taxonomy</description> + <externalId>EXT-ID-Taxonomy</externalId> +</taxonomyVO> +</code></pre></p> + <p>A taxonomy</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e6231"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6241">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<forum name="My forum" detailsName="It is a forum" forumKey="3865487" courseKey="286" courseNodeId="2784628" subscribed="false"/> +<taxonomyLevelVO> + <key>2</key> + <identifier>ID-Level-Taxonomy</identifier> + <displayName>A taxonomy level</displayName> + <description>A taxonomy level with a parent</description> + <externalId>EXT-ID-Level-Taxonomy</externalId> + <parentKey>300</parentKey> + <typeKey>301</typeKey> +</taxonomyLevelVO> </code></pre></p> - <p>The root message of the thread</p> + <p>A taxonomy</p> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e6254"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6261">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e6262">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e6266">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>) + </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<taxonomyLevelVO> + <key>2</key> + <identifier>ID-Level-Taxonomy</identifier> + <displayName>A taxonomy level</displayName> + <description>A taxonomy level with a parent</description> + <externalId>EXT-ID-Level-Taxonomy</externalId> + <parentKey>300</parentKey> + <typeKey>301</typeKey> +</taxonomyLevelVO> +</code></pre></p> + <p>A taxonomy level</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5498"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6279"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5504"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The forum not found</p> - <h3 id="d2e5523">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e6285"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>An existant level was not found</p> + <h3 id="d2e6296"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The level was successfully deleted</p> + <h3 id="d2e6302"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6308"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The level cannot be deleted and was not modified</p> + <h3 id="d2e6314"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The level taxonomy doesn't match the taxonomy of the web service</p> + <h3 id="d2e6325">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messages totalCount="1"> - <messages> - <message> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> - </message> - </messages> -</messages> +<taxonomyCompetenceVO> + <key>4</key> + <identityKey>400</identityKey> + <taxonomyLevelKey>2</taxonomyLevelKey> + <taxonomyCompetenceType>teach</taxonomyCompetenceType> +</taxonomyCompetenceVO> </code></pre></p> - <p>The root message of the thread</p> + <p>An array of competences</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5536"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6338"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5542"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e5561">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e6345">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e6346">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e6350">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<taxonomyCompetenceVO> + <key>4</key> + <identityKey>400</identityKey> + <taxonomyLevelKey>2</taxonomyLevelKey> + <taxonomyCompetenceType>teach</taxonomyCompetenceType> +</taxonomyCompetenceVO> </code></pre></p> - <p>The root message of the thread</p> + <p>A competence</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5574"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6363"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5580"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e5587">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e5594">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e6369"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type to update was not found</p> + <h3 id="d2e6375"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level key of the competence doesn't match the one in URL</p> + <h3 id="d2e6386">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<taxonomyCompetenceVO> + <key>4</key> + <identityKey>400</identityKey> + <taxonomyLevelKey>2</taxonomyLevelKey> + <taxonomyCompetenceType>teach</taxonomyCompetenceType> +</taxonomyCompetenceVO> </code></pre></p> - <p>The root message of the thread</p> + <p>An array of competences</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5607"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6399"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5613"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e5635">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e6411">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messages totalCount="1"> - <messages> - <message> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> - </message> - </messages> -</messages> +<taxonomyCompetenceVO> + <key>4</key> + <identityKey>400</identityKey> + <taxonomyLevelKey>2</taxonomyLevelKey> + <taxonomyCompetenceType>teach</taxonomyCompetenceType> +</taxonomyCompetenceVO> </code></pre></p> - <p>The root message of the thread</p> + <p>An array of competences</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5648"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6424"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5654"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e5665">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e5678">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e6436"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The competence was removed sucessfully</p> + <h3 id="d2e6442"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6448"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The competence was not found</p> + <h3 id="d2e6458">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<taxonomyLevelTypeVO> + <key>3</key> + <identifier>ID-Taxonomy-Level-Type</identifier> + <displayName>Taxonomy level type</displayName> + <description>Settings for a taxonomy level</description> + <externalId>EXT-ID-Taxonomy-Level-Type</externalId> +</taxonomyLevelTypeVO> </code></pre></p> - <p>The root message of the thread</p> + <p>A taxonomy level</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5691"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6471"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author or message not found</p> - <h3 id="d2e5704">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e6477"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy was not found</p> + <h3 id="d2e6484">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5705">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e6485">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5709">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e6489">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<taxonomyLevelTypeVO> + <key>3</key> + <identifier>ID-Taxonomy-Level-Type</identifier> + <displayName>Taxonomy level type</displayName> + <description>Settings for a taxonomy level</description> + <externalId>EXT-ID-Taxonomy-Level-Type</externalId> +</taxonomyLevelTypeVO> </code></pre></p> - <p>The root message of the thread</p> + <p>A taxonomy level type</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5722"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6502"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5728"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author or message not found</p> - <h3 id="d2e5747">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e6508"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type to update was not found</p> + <h3 id="d2e6519">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<taxonomyLevelTypeVO> + <key>3</key> + <identifier>ID-Taxonomy-Level-Type</identifier> + <displayName>Taxonomy level type</displayName> + <description>Settings for a taxonomy level</description> + <externalId>EXT-ID-Taxonomy-Level-Type</externalId> +</taxonomyLevelTypeVO> </code></pre></p> - <p>The root message of the thread</p> + <p>A taxonomy level type</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5760"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6532"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5766"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author or message not found</p> - <h3 id="d2e5779">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The links to the attachments</p> - <h3 id="d2e5785"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The message not found</p> - <h3 id="d2e5792">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e5798">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Ok</p> - <h3 id="d2e5804"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e5811">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5812">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e6538"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type was not found</p> + <h3 id="d2e6550">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) </h3> + <p> + <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<taxonomyLevelTypeVO> + <key>3</key> + <identifier>ID-Taxonomy-Level-Type</identifier> + <displayName>Taxonomy level type</displayName> + <description>Settings for a taxonomy level</description> + <externalId>EXT-ID-Taxonomy-Level-Type</externalId> +</taxonomyLevelTypeVO> +</code></pre></p> + <p>An array of taxonomy level types</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5816">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Ok</p> - <h3 id="d2e5822"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e5831">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Ok</p> - <h3 id="d2e5837"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e5853">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e5859"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e5878">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The certificate as file</p> - <h3 id="d2e5884"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5890"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The owner or the certificate cannot be found</p> - <h3 id="d2e5895">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5898">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5915"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>If the certificate was created</p> - <h3 id="d2e5921"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5927"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>An unexpected error happened during the creation of the certificate</p> - <h3 id="d2e5933"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the resource cannot be found</p> - <h3 id="d2e5942"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>if the certificate was uploaded</p> - <h3 id="d2e5948"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6563"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5954"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the resource cannot be found</p> - <h3 id="d2e5967">application/xml, application/json (<abbr title="{http://www.example.com} forumVOes">ns3:forumVOes</abbr>) + <h3 id="d2e6569"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type was not found</p> + <h3 id="d2e6581">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<forums totalCount="1"> - <forums> - <forums name="My forum" detailsName="It is a forum" forumKey="3865487" courseKey="286" courseNodeId="2784628" subscribed="false"/> - </forums> -</forums> +<taxonomyLevelTypeVO> + <key>3</key> + <identifier>ID-Taxonomy-Level-Type</identifier> + <displayName>Taxonomy level type</displayName> + <description>Settings for a taxonomy level</description> + <externalId>EXT-ID-Taxonomy-Level-Type</externalId> +</taxonomyLevelTypeVO> </code></pre></p> - <p>The course node metadatas</p> + <p>The sub type was added to the allowed sub types</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5980"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6594"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5986"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e5993">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6600"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type was not found</p> + <h3 id="d2e6609"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The sub type was removed sucessfully</p> + <h3 id="d2e6615"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6621"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type was not found</p> + <h3 id="d2e6636"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Registration successful</p> + <h3 id="d2e6640"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Email address not allowed</p> + <h3 id="d2e6644"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Already registered, HTTP-Header location set to redirect</p> + <h3 id="d2e6651">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e6007">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e6656"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Registration successful</p> + <h3 id="d2e6660"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Already registered, HTTP-Header location set to redirect</p> + <h3 id="d2e6666">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<courseNodeVO> - <id>id</id> -</courseNodeVO> -</code></pre></p> - <p>The course node metadatas</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6020"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6026"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e6046">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e6667">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<courseNodeVO> - <id>id</id> -</courseNodeVO> -</code></pre></p> - <p>The course node metadatas</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6059"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6065"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e6081">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h3 id="d2e6669">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6670">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6676">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6677">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6682">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6685">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6688">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6691">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6696">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6697">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6700">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<forum name="My forum" detailsName="It is a forum" forumKey="3865487" courseKey="286" courseNodeId="2784628" subscribed="false"/> -</code></pre></p> - <p>The course node metadatas</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6094"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6100"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e6129">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e6701">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> -</code></pre></p> - <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6142"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6148"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e6177">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e6703">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6704">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6707">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6713">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6716">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6721">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> -</code></pre></p> - <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6190"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6196"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e6210">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e6723">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6728">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6729">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6735">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6740">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6741">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6747">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6750">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6754">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6764">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6765">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6776">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24899,11 +25799,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6223"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6789"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6229"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6795"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The forum not found</p> - <h3 id="d2e6248">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e6814">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24922,11 +25822,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6261"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6827"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6267"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6833"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e6286">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e6852">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24941,13 +25841,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6299"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6865"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6305"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6871"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e6312">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6878">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e6319">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e6885">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24962,11 +25862,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6332"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6898"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6338"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6904"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e6360">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e6926">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -24985,13 +25885,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6373"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6939"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6379"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6945"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e6390">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6956">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e6403">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e6969">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -25006,21 +25906,21 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6416"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6982"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6422"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6988"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e6429">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e6995">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6430">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e6996">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6434">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e7000">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -25035,11 +25935,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6447"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7013"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6453"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7019"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e6472">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e7038">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -25054,781 +25954,730 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6485"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7051"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6491"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7057"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e6504">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7070">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The links to the attachments</p> - <h3 id="d2e6510"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7076"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The message not found</p> - <h3 id="d2e6517">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7083">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e6523">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7089">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e6529"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7095"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e6536">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e7102">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6537">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e7103">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6541">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7107">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e6547"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7113"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e6556">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7122">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e6562"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7128"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e6578">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7144">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The portrait as image</p> - <h3 id="d2e6584"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7150"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e6591">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6592">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6596">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6597">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6601">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6602">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6606">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6611">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6612">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6617">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6618">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6622">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6623">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6627">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6628">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6632">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6633">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6638">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6642">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6643">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6647">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6648">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6652">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6653">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6657">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6658">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6662">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6663">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6667">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6668">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6672">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6673">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6677">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6678">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6682">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6683">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6686">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6689">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6692">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6696">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6699">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6700">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6704">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6707">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6708">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6716">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6717">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6721">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6724">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6725">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6729">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6730">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6735">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6739">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6740">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6743">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6746">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6749">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6754">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6755">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6758">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7157">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7158">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7159">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7160">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7161">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7164">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7165">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7168">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e6761">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6764">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6781">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<subscriptionInfoVOes> - <subscriptionInfoVO> - <title>Infos</title> - <items/> - </subscriptionInfoVO> -</subscriptionInfoVOes> -</code></pre></p> - <p>The notifications</p> - <h3 id="d2e6794"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e6800">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>) + <h3 id="d2e7173">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7174">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7177">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7178">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7181">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6801">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>) + <h3 id="d2e7182">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6803">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6808">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6815">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6816">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6821">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6827">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6832">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6837">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6838">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6839">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6840">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6841">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6844">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e7184">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7185">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7190">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7191">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7192">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7193">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7194">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7197">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7198">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7199">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7202">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e7207">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7208">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7209">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7212">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7213">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7214">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7217">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6845">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e7218">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6847">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6848">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6851">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6852">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6855">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6860">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6861">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6864">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6865">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6870">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6871">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6872">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6873">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6874">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6877">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6878">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6881">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6882">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6885">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6886">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6887">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6890">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e7220">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7221">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7224">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7225">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7228">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7229">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7234">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7235">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7239">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7250">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7251">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7273">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7274">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7277">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6891">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e7278">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6893">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6894">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6897">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6898">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6899">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6902">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7280">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7281">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7286">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7287">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7291">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7296">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7297">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7300">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7301">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7305">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7306">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7314">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7315">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7320">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7321">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7324">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e6907">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6908">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6909">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6913">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6918">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6919">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6933">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyVO">ns3:taxonomyVO</abbr>) - </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyVO> - <key>1</key> - <identifier>ID-Taxonomy</identifier> - <displayName>Taxonomy</displayName> - <description>A taxonomy</description> - <externalId>EXT-ID-Taxonomy</externalId> -</taxonomyVO> -</code></pre></p> - <p>A taxonomy</p> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6946"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6956">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>) + <h3 id="d2e7332">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7333">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7337">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7338">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7341">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7342">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7344">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7348">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7349">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7353">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e7356">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7357">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7361">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7365">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7371">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7372">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7375">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7378">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7383">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7386">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7390">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7391">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7393">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7396">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7397">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7401">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7402">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7405">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7406">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7408">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7413">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7416">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7420">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7424">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelVO> - <key>2</key> - <identifier>ID-Level-Taxonomy</identifier> - <displayName>A taxonomy level</displayName> - <description>A taxonomy level with a parent</description> - <externalId>EXT-ID-Level-Taxonomy</externalId> - <parentKey>300</parentKey> - <typeKey>301</typeKey> -</taxonomyLevelVO> -</code></pre></p> - <p>A taxonomy</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6969"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6976">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>) + <h3 id="d2e7425">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6977">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>) + <h3 id="d2e7427">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7428">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7431">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7432">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7437">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7440">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6981">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>) + <h3 id="d2e7442">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7445">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7449">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7460">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelVO> - <key>2</key> - <identifier>ID-Level-Taxonomy</identifier> - <displayName>A taxonomy level</displayName> - <description>A taxonomy level with a parent</description> - <externalId>EXT-ID-Level-Taxonomy</externalId> - <parentKey>300</parentKey> - <typeKey>301</typeKey> -</taxonomyLevelVO> +<forum name="My forum" detailsName="It is a forum" forumKey="3865487" courseKey="286" courseNodeId="2784628" subscribed="false"/> </code></pre></p> - <p>A taxonomy level</p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e6994"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7000"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>An existant level was not found</p> - <h3 id="d2e7011"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The level was successfully deleted</p> - <h3 id="d2e7017"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7473"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7023"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The level cannot be deleted and was not modified</p> - <h3 id="d2e7029"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The level taxonomy doesn't match the taxonomy of the web service</p> - <h3 id="d2e7040">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) + <h3 id="d2e7479"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The forum not found</p> + <h3 id="d2e7498">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyCompetenceVO> - <key>4</key> - <identityKey>400</identityKey> - <taxonomyLevelKey>2</taxonomyLevelKey> - <taxonomyCompetenceType>teach</taxonomyCompetenceType> -</taxonomyCompetenceVO> +<messages totalCount="1"> + <messages> + <message> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> + </message> + </messages> +</messages> </code></pre></p> - <p>An array of competences</p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7053"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7511"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7060">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7061">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7065">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) + <h3 id="d2e7517"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e7536">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyCompetenceVO> - <key>4</key> - <identityKey>400</identityKey> - <taxonomyLevelKey>2</taxonomyLevelKey> - <taxonomyCompetenceType>teach</taxonomyCompetenceType> -</taxonomyCompetenceVO> +<messageVO> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> +</messageVO> </code></pre></p> - <p>A competence</p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7078"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7549"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7084"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level type to update was not found</p> - <h3 id="d2e7090"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level key of the competence doesn't match the one in URL</p> - <h3 id="d2e7101">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) + <h3 id="d2e7555"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e7562">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e7569">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyCompetenceVO> - <key>4</key> - <identityKey>400</identityKey> - <taxonomyLevelKey>2</taxonomyLevelKey> - <taxonomyCompetenceType>teach</taxonomyCompetenceType> -</taxonomyCompetenceVO> +<messageVO> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> +</messageVO> </code></pre></p> - <p>An array of competences</p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7114"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7582"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7126">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) + <h3 id="d2e7588"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e7610">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyCompetenceVO> - <key>4</key> - <identityKey>400</identityKey> - <taxonomyLevelKey>2</taxonomyLevelKey> - <taxonomyCompetenceType>teach</taxonomyCompetenceType> -</taxonomyCompetenceVO> +<messages totalCount="1"> + <messages> + <message> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> + </message> + </messages> +</messages> </code></pre></p> - <p>An array of competences</p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7139"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7151"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The competence was removed sucessfully</p> - <h3 id="d2e7157"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7623"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7163"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The competence was not found</p> - <h3 id="d2e7173">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) + <h3 id="d2e7629"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e7640">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e7653">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelTypeVO> - <key>3</key> - <identifier>ID-Taxonomy-Level-Type</identifier> - <displayName>Taxonomy level type</displayName> - <description>Settings for a taxonomy level</description> - <externalId>EXT-ID-Taxonomy-Level-Type</externalId> -</taxonomyLevelTypeVO> +<messageVO> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> +</messageVO> </code></pre></p> - <p>A taxonomy level</p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7186"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7666"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7192"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy was not found</p> - <h3 id="d2e7199">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>) + <h3 id="d2e7672"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author or message not found</p> + <h3 id="d2e7679">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7200">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>) + <h3 id="d2e7680">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7204">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) + <h3 id="d2e7684">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelTypeVO> - <key>3</key> - <identifier>ID-Taxonomy-Level-Type</identifier> - <displayName>Taxonomy level type</displayName> - <description>Settings for a taxonomy level</description> - <externalId>EXT-ID-Taxonomy-Level-Type</externalId> -</taxonomyLevelTypeVO> +<messageVO> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> +</messageVO> </code></pre></p> - <p>A taxonomy level type</p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7217"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7223"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level type to update was not found</p> - <h3 id="d2e7234">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) + <h3 id="d2e7703"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author or message not found</p> + <h3 id="d2e7722">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelTypeVO> - <key>3</key> - <identifier>ID-Taxonomy-Level-Type</identifier> - <displayName>Taxonomy level type</displayName> - <description>Settings for a taxonomy level</description> - <externalId>EXT-ID-Taxonomy-Level-Type</externalId> -</taxonomyLevelTypeVO> +<messageVO> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> +</messageVO> </code></pre></p> - <p>A taxonomy level type</p> + <p>The root message of the thread</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7247"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7735"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7253"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level type was not found</p> - <h3 id="d2e7265">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) + <h3 id="d2e7741"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author or message not found</p> + <h3 id="d2e7754">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The links to the attachments</p> + <h3 id="d2e7760"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The message not found</p> + <h3 id="d2e7767">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e7773">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Ok</p> + <h3 id="d2e7779"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e7786">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelTypeVO> - <key>3</key> - <identifier>ID-Taxonomy-Level-Type</identifier> - <displayName>Taxonomy level type</displayName> - <description>Settings for a taxonomy level</description> - <externalId>EXT-ID-Taxonomy-Level-Type</externalId> -</taxonomyLevelTypeVO> -</code></pre></p> - <p>An array of taxonomy level types</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7278"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7284"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level type was not found</p> - <h3 id="d2e7296">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) + <h3 id="d2e7787">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e7791">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Ok</p> + <h3 id="d2e7797"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e7806">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Ok</p> + <h3 id="d2e7812"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e7828">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e7834"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e7841">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7842">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7843">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7844">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7845">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7848">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7849">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7852">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e7857">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7858">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7861">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7862">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7865">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e7866">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e7868">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7869">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7874">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7875">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7876">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7877">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7878">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7881">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7882">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7883">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7886">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e7891">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7892">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7893">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7896">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7897">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7898">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7901">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelTypeVO> - <key>3</key> - <identifier>ID-Taxonomy-Level-Type</identifier> - <displayName>Taxonomy level type</displayName> - <description>Settings for a taxonomy level</description> - <externalId>EXT-ID-Taxonomy-Level-Type</externalId> -</taxonomyLevelTypeVO> -</code></pre></p> - <p>The sub type was added to the allowed sub types</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7309"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7315"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level type was not found</p> - <h3 id="d2e7324"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The sub type was removed sucessfully</p> - <h3 id="d2e7330"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7336"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level type was not found</p> - <h3 id="d2e7343">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e7347">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e7352">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e7363">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyModuleConfigurationVO">ns3:taxonomyModuleConfigurationVO</abbr>) + <h3 id="d2e7902">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyModuleConfigurationVO> - <enabled>true</enabled> - <taxonomyTreeKey>1</taxonomyTreeKey> -</taxonomyModuleConfigurationVO> -</code></pre></p> - <p>The configuration of the taxonomy module</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7376"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7389">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyVO">ns3:taxonomyVO</abbr>) + <h3 id="d2e7904">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7905">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7908">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7909">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7912">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7913">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7918">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7919">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7923">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7931">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7932">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7940">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7941">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7944">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7945">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7947">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7948">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7951">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7952">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7954">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7955">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7959">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyVO> - <key>1</key> - <identifier>ID-Taxonomy</identifier> - <displayName>Taxonomy</displayName> - <description>A taxonomy</description> - <externalId>EXT-ID-Taxonomy</externalId> -</taxonomyVO> -</code></pre></p> - <p>A taxonomy</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7402"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7412">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>) + <h3 id="d2e7960">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelVO> - <key>2</key> - <identifier>ID-Level-Taxonomy</identifier> - <displayName>A taxonomy level</displayName> - <description>A taxonomy level with a parent</description> - <externalId>EXT-ID-Level-Taxonomy</externalId> - <parentKey>300</parentKey> - <typeKey>301</typeKey> -</taxonomyLevelVO> -</code></pre></p> - <p>A taxonomy</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7425"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7432">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>) + <h3 id="d2e7962">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7963">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7966">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7967">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7433">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>) + <h3 id="d2e7968">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7437">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>) + <h3 id="d2e7970">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7971">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7982">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelVO> - <key>2</key> - <identifier>ID-Level-Taxonomy</identifier> - <displayName>A taxonomy level</displayName> - <description>A taxonomy level with a parent</description> - <externalId>EXT-ID-Level-Taxonomy</externalId> - <parentKey>300</parentKey> - <typeKey>301</typeKey> -</taxonomyLevelVO> +<viteroBookingVO> + <bookingId>23</bookingId> + <groupId>24</groupId> + <groupName>NEW-EVENT_OLAT_938745983</groupName> + <eventName>New event</eventName> + <externalId>AC-234</externalId> + <start>2018-05-15T10:00:36.912+02:00</start> + <startBuffer>15</startBuffer> + <end>2018-05-15T10:00:36.912+02:00</end> + <endBuffer>15</endBuffer> + <roomSize>22</roomSize> + <autoSignIn>true</autoSignIn> + <timeZoneId></timeZoneId> +</viteroBookingVO> </code></pre></p> - <p>A taxonomy level</p> + <p>This is the list of all bookings of a resource</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7450"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7456"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>An existant level was not found</p> - <h3 id="d2e7467"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The level was successfully deleted</p> - <h3 id="d2e7473"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7479"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The level cannot be deleted and was not modified</p> - <h3 id="d2e7485"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The level taxonomy doesn't match the taxonomy of the web service</p> - <h3 id="d2e7496">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) + <h3 id="d2e7996">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e7997">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e8001">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyCompetenceVO> - <key>4</key> - <identityKey>400</identityKey> - <taxonomyLevelKey>2</taxonomyLevelKey> - <taxonomyCompetenceType>teach</taxonomyCompetenceType> -</taxonomyCompetenceVO> +<viteroBookingVO> + <bookingId>23</bookingId> + <groupId>24</groupId> + <groupName>NEW-EVENT_OLAT_938745983</groupName> + <eventName>New event</eventName> + <externalId>AC-234</externalId> + <start>2018-05-15T10:00:36.912+02:00</start> + <startBuffer>15</startBuffer> + <end>2018-05-15T10:00:36.912+02:00</end> + <endBuffer>15</endBuffer> + <roomSize>22</roomSize> + <autoSignIn>true</autoSignIn> + <timeZoneId></timeZoneId> +</viteroBookingVO> </code></pre></p> - <p>An array of competences</p> + <p>The created booking</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7509"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7516">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>) + <h3 id="d2e8015">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7517">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>) + <h3 id="d2e8016">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7521">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) + <h3 id="d2e8020">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyCompetenceVO> - <key>4</key> - <identityKey>400</identityKey> - <taxonomyLevelKey>2</taxonomyLevelKey> - <taxonomyCompetenceType>teach</taxonomyCompetenceType> -</taxonomyCompetenceVO> +<viteroBookingVO> + <bookingId>23</bookingId> + <groupId>24</groupId> + <groupName>NEW-EVENT_OLAT_938745983</groupName> + <eventName>New event</eventName> + <externalId>AC-234</externalId> + <start>2018-05-15T10:00:36.912+02:00</start> + <startBuffer>15</startBuffer> + <end>2018-05-15T10:00:36.912+02:00</end> + <endBuffer>15</endBuffer> + <roomSize>22</roomSize> + <autoSignIn>true</autoSignIn> + <timeZoneId></timeZoneId> +</viteroBookingVO> </code></pre></p> - <p>A competence</p> + <p>The created booking</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7534"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7540"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level type to update was not found</p> - <h3 id="d2e7546"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level key of the competence doesn't match the one in URL</p> - <h3 id="d2e7557">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) + <h3 id="d2e8040">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyCompetenceVO> - <key>4</key> - <identityKey>400</identityKey> - <taxonomyLevelKey>2</taxonomyLevelKey> - <taxonomyCompetenceType>teach</taxonomyCompetenceType> -</taxonomyCompetenceVO> +<viteroGroupMemberVO> + <identityKey>23497</identityKey> + <groupRole>participant</groupRole> +</viteroGroupMemberVO> </code></pre></p> - <p>An array of competences</p> + <p>This is the list of all bookings of a resource</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7570"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7582">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>) + <h3 id="d2e8054">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8055">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8059">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyCompetenceVO> - <key>4</key> - <identityKey>400</identityKey> - <taxonomyLevelKey>2</taxonomyLevelKey> - <taxonomyCompetenceType>teach</taxonomyCompetenceType> -</taxonomyCompetenceVO> +<viteroGroupMemberVO> + <identityKey>23497</identityKey> + <groupRole>participant</groupRole> +</viteroGroupMemberVO> </code></pre></p> - <p>An array of competences</p> + <p>This is the list of all bookings of a resource</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7595"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7607"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The competence was removed sucessfully</p> - <h3 id="d2e7613"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7619"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The competence was not found</p> - <h3 id="d2e7629">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) + <h3 id="d2e8077"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The booking is deleted</p> + <h3 id="d2e8091">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelTypeVO> - <key>3</key> - <identifier>ID-Taxonomy-Level-Type</identifier> - <displayName>Taxonomy level type</displayName> - <description>Settings for a taxonomy level</description> - <externalId>EXT-ID-Taxonomy-Level-Type</externalId> -</taxonomyLevelTypeVO> +<trainingVO> + <key>4534759</key> + <name>Training</name> + <externalId>AC-234</externalId> + <start>2018-05-15T10:00:36.883+02:00</start> + <end>2018-05-15T10:00:36.883+02:00</end> +</trainingVO> </code></pre></p> - <p>A taxonomy level</p> + <p>This is the list of all training of a resource</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7642"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7648"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy was not found</p> - <h3 id="d2e7655">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>) + <h3 id="d2e8105">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7656">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>) + <h3 id="d2e8106">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>) </h3> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7660">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) + <h3 id="d2e8110">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelTypeVO> - <key>3</key> - <identifier>ID-Taxonomy-Level-Type</identifier> - <displayName>Taxonomy level type</displayName> - <description>Settings for a taxonomy level</description> - <externalId>EXT-ID-Taxonomy-Level-Type</externalId> -</taxonomyLevelTypeVO> +<trainingVO> + <key>4534759</key> + <name>Training</name> + <externalId>AC-234</externalId> + <start>2018-05-15T10:00:36.883+02:00</start> + <end>2018-05-15T10:00:36.883+02:00</end> +</trainingVO> </code></pre></p> - <p>A taxonomy level type</p> + <p>Created a training</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7673"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7679"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level type to update was not found</p> - <h3 id="d2e7690">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) + <h3 id="d2e8124">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelTypeVO> - <key>3</key> - <identifier>ID-Taxonomy-Level-Type</identifier> - <displayName>Taxonomy level type</displayName> - <description>Settings for a taxonomy level</description> - <externalId>EXT-ID-Taxonomy-Level-Type</externalId> -</taxonomyLevelTypeVO> -</code></pre></p> - <p>A taxonomy level type</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7703"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7709"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level type was not found</p> - <h3 id="d2e7721">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) + <h3 id="d2e8125">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>) </h3> - <p> - <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelTypeVO> - <key>3</key> - <identifier>ID-Taxonomy-Level-Type</identifier> - <displayName>Taxonomy level type</displayName> - <description>Settings for a taxonomy level</description> - <externalId>EXT-ID-Taxonomy-Level-Type</externalId> -</taxonomyLevelTypeVO> -</code></pre></p> - <p>An array of taxonomy level types</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7734"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7740"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level type was not found</p> - <h3 id="d2e7752">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>) + <h3 id="d2e8129">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>) </h3> <p> <h6>Example</h6><pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<taxonomyLevelTypeVO> - <key>3</key> - <identifier>ID-Taxonomy-Level-Type</identifier> - <displayName>Taxonomy level type</displayName> - <description>Settings for a taxonomy level</description> - <externalId>EXT-ID-Taxonomy-Level-Type</externalId> -</taxonomyLevelTypeVO> +<trainingVO> + <key>4534759</key> + <name>Training</name> + <externalId>AC-234</externalId> + <start>2018-05-15T10:00:36.883+02:00</start> + <end>2018-05-15T10:00:36.883+02:00</end> +</trainingVO> </code></pre></p> - <p>The sub type was added to the allowed sub types</p> + <p>The created booking</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e7765"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7771"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level type was not found</p> - <h3 id="d2e7780"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The sub type was removed sucessfully</p> - <h3 id="d2e7786"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e7792"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The taxonomy level type was not found</p> + <h3 id="d2e8147"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The training is deleted</p> + <h3 id="d2e8153">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8154">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8157">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e8158">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e8160">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8161">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8164">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8165">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e8166">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e8168">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8169">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8173">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8177">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8181">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8182">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8185">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8186">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e8187">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e8189">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8190">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8195">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8196">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8199">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8203">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8207">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8208">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8212">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8215">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8220">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e8223">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> </body> </html> \ No newline at end of file diff --git a/src/main/java/org/olat/restapi/repository/RepositoryEntriesResource.java b/src/main/java/org/olat/restapi/repository/RepositoryEntriesResource.java index 37922c7ce8230133968fdd555df857f83247f381..4350f53942b84e8df881328a5573dd4d970d0e3f 100644 --- a/src/main/java/org/olat/restapi/repository/RepositoryEntriesResource.java +++ b/src/main/java/org/olat/restapi/repository/RepositoryEntriesResource.java @@ -263,7 +263,7 @@ public class RepositoryEntriesResource { List<String> types = new ArrayList<>(1); if(restrictedType) types.add(type); - SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(name, author, null, restrictedType ? types : null, identity, roles, null); + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(name, author, null, restrictedType ? types : null, identity, roles); List<RepositoryEntry> lstRepos = rm.genericANDQueryWithRolesRestriction(params, 0, -1, false); if(!lstRepos.isEmpty()) reposFound.addAll(lstRepos); } diff --git a/src/main/java/org/olat/restapi/repository/course/CoursesInfosWebService.java b/src/main/java/org/olat/restapi/repository/course/CoursesInfosWebService.java index 63dac84fddfa2ae08871270c1e488cc0aa7d3900..d4382e9a9288453e3c844725be5faaa2b5f2f848 100644 --- a/src/main/java/org/olat/restapi/repository/course/CoursesInfosWebService.java +++ b/src/main/java/org/olat/restapi/repository/course/CoursesInfosWebService.java @@ -112,10 +112,10 @@ public class CoursesInfosWebService { if(MediaTypeVariants.isPaged(httpRequest, request)) { int totalCount = rm.countGenericANDQueryWithRolesRestriction(params); List<RepositoryEntry> repoEntries = rm.genericANDQueryWithRolesRestriction(params, start, limit, true); - List<CourseInfoVO> infos = new ArrayList<CourseInfoVO>(); + List<CourseInfoVO> infos = new ArrayList<>(); - final Set<Long> forumNotified = new HashSet<Long>(); - final Map<Long,Set<String>> courseNotified = new HashMap<Long,Set<String>>(); + final Set<Long> forumNotified = new HashSet<>(); + final Map<Long,Set<String>> courseNotified = new HashMap<>(); collectSubscriptions(identity, forumNotified, courseNotified); for(RepositoryEntry entry:repoEntries) { diff --git a/src/main/java/org/olat/restapi/security/RestSecurityHelper.java b/src/main/java/org/olat/restapi/security/RestSecurityHelper.java index bee3e82543ddb8d5d57256016aa6c67d84c610f3..71e87409b08aaac9a26273d4c054dad5dc0327b7 100644 --- a/src/main/java/org/olat/restapi/security/RestSecurityHelper.java +++ b/src/main/java/org/olat/restapi/security/RestSecurityHelper.java @@ -81,6 +81,15 @@ public class RestSecurityHelper { } } + public static boolean isCurriculumManager(HttpServletRequest request) { + try { + Roles roles = getRoles(request); + return (roles.isCurriculumManager() || roles.isOLATAdmin()); + } catch (Exception e) { + return false; + } + } + public static boolean isGroupManager(HttpServletRequest request) { try { Roles roles = getRoles(request); @@ -123,7 +132,7 @@ public class RestSecurityHelper { UserRequest ureq = getUserRequest(request); Identity identity = ureq.getIdentity(); RepositoryManager rm = CoreSpringFactory.getImpl(RepositoryManager.class); - return rm.isOwnerOfRepositoryEntry(identity, entry) || rm.isInstitutionalRessourceManagerFor(identity, roles, entry); + return rm.isOwnerOfRepositoryEntry(identity, entry) || rm.isLearnResourceManagerFor(roles, entry); } return false; } catch (Exception e) { @@ -159,7 +168,7 @@ public class RestSecurityHelper { public static boolean isQuestionPoolManager(HttpServletRequest request) { try { Roles roles = getRoles(request); - return (roles.isPoolAdmin() || roles.isOLATAdmin()); + return (roles.isQPoolManager() || roles.isOLATAdmin()); } catch (Exception e) { return false; } diff --git a/src/main/java/org/olat/restapi/support/OlatRestApplication.java b/src/main/java/org/olat/restapi/support/OlatRestApplication.java index 18c9e520372a0ba39c52a74b213b128f00069aff..31bf6b5c081f5219b8d6dc4d61196ffbe26789d7 100644 --- a/src/main/java/org/olat/restapi/support/OlatRestApplication.java +++ b/src/main/java/org/olat/restapi/support/OlatRestApplication.java @@ -41,7 +41,7 @@ public class OlatRestApplication extends Application { @Override public Set<Class<?>> getClasses() { - Set<Class<?>> classes = new HashSet<Class<?>>(); + Set<Class<?>> classes = new HashSet<>(); classes.add(JacksonJaxbJsonProvider.class); classes.addAll(getRestRegistrationService().getClasses()); return classes; diff --git a/src/main/java/org/olat/search/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/search/ui/_i18n/LocalStrings_pt_BR.properties index 55eb1b0b635665c330c87f42804d0b87511e5aee..d486c8c7bb690a2ca05d250945b0c1bf2febf4c9 100644 --- a/src/main/java/org/olat/search/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/search/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Thu Jan 11 12:11:49 CET 2018 +#Sat May 12 00:00:08 CEST 2018 DocumentPool=Reservat\u00F3rio de documentos EPSite=Portf\u00F3lio HomeSite=Home @@ -26,6 +26,7 @@ form.search.label.created.date=Data de cria\u00E7\u00E3o form.search.label.description=Descri\u00E7\u00E3o form.search.label.documenttype=Tipo de documento form.search.label.filetype=Tipo de arquivo +form.search.label.license=Licen\u00E7a form.search.label.metadatatype=Meta dados form.search.label.modified.date=\u00DAltima modifica\u00E7\u00E3o form.search.label.title=T\u00EDtulo @@ -124,21 +125,28 @@ type.identity=Usu\u00E1rio type.identity.AbstractArtefact=Meus artefatos type.identity.publicfolder=Pasta p\u00FAblica type.question.item=Pergunta +type.repository.entry.BinderTemplate=Recursos did\u00E1ticos, modelo de portf\u00F3lio 2.0 type.repository.entry.CourseModule=Curso reposit\u00F3rio type.repository.entry.EPStructuredMapTemplate=Recurso Did\u00E1tico, portf\u00F3lio +type.repository.entry.FileResource.ANIM=Recursos did\u00E1ticos, anima\u00E7\u00E3o type.repository.entry.FileResource.BLOG=Recursos did\u00E1ticos, blog type.repository.entry.FileResource.DOC=Recursos did\u00E1ticos, arquivo Word type.repository.entry.FileResource.FILE=Recursos did\u00E1ticos, arquivo +type.repository.entry.FileResource.FORM=Recursos did\u00E1ticos, Survey (Portfolio) type.repository.entry.FileResource.GLOSSARY=Gloss\u00E1rio type.repository.entry.FileResource.IMAGE=Imagem type.repository.entry.FileResource.IMSCP=IMS-CP Reposit\u00F3rio +type.repository.entry.FileResource.IMSQTI21=Recursos did\u00E1ticos, Test (QTI 2.1) +type.repository.entry.FileResource.MOVIE=Recursos did\u00E1ticos, Filmes type.repository.entry.FileResource.PDF=Recursos did\u00E1ticos, arquivo PDF type.repository.entry.FileResource.PODCAST=Recursos did\u00E1ticos, Podcast type.repository.entry.FileResource.PPT=Recursos did\u00E1ticos, arquivo PowerPoint type.repository.entry.FileResource.SCORMCP=Recursos did\u00E1ticos, conte\u00FAdo SCORM type.repository.entry.FileResource.SHAREDFOLDER=Pasta de recurso reposit\u00F3rio +type.repository.entry.FileResource.SOUND=Recursos did\u00E1ticos, Som type.repository.entry.FileResource.SURVEY=Pesquisa Reposit\u00F3ria type.repository.entry.FileResource.TEST=Teste Reposit\u00F3rio +type.repository.entry.FileResource.VIDEO=Recursos did\u00E1ticos, V\u00EDdeos type.repository.entry.FileResource.WIKI=Wiki Reposit\u00F3rio type.repository.entry.FileResource.XLS=Recursos did\u00E1ticos, arquivo Excel type.repository.entry.ep=Recursos Did\u00E1ticos, portf\u00F3lio diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade_13_0_0.java b/src/main/java/org/olat/upgrade/OLATUpgrade_13_0_0.java index 8834e6d353e587734d7a9766434cc45a94240d3f..b750513c47ded6b801601584ac4f6edd31479687 100644 --- a/src/main/java/org/olat/upgrade/OLATUpgrade_13_0_0.java +++ b/src/main/java/org/olat/upgrade/OLATUpgrade_13_0_0.java @@ -30,6 +30,10 @@ import org.olat.basesecurity.manager.OrganisationDAO; import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; import org.olat.core.id.Organisation; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryService; +import org.olat.repository.manager.RepositoryEntryRelationDAO; +import org.olat.repository.manager.RepositoryEntryToOrganisationDAO; import org.olat.modules.forms.EvaluationFormManager; import org.olat.modules.forms.EvaluationFormParticipation; import org.olat.modules.forms.EvaluationFormParticipationStatus; @@ -51,6 +55,7 @@ public class OLATUpgrade_13_0_0 extends OLATUpgrade { private static final String VERSION = "OLAT_13.0.0"; private static final String MIGRATE_ROLE = "MIGRATE ROLE"; + private static final String MIGRATE_REPO_ENTRY_DEFAULT_ORG = "MIGRATE REPO ENTRY TO DEF ORG"; private static final String MIGRATE_PORTFOLIO_EVAL_FORM = "PORTFOLIO EVALUATION FORM"; @Autowired @@ -60,6 +65,12 @@ public class OLATUpgrade_13_0_0 extends OLATUpgrade { @Autowired private OrganisationService organisationService; @Autowired + private RepositoryService repositoryService; + @Autowired + private RepositoryEntryRelationDAO repositoryEntryRelationDao; + @Autowired + private RepositoryEntryToOrganisationDAO repositoryEntryToOrganisationDao; + @Autowired private PortfolioService portfolioService; @Autowired private EvaluationFormManager evaManger; @@ -90,6 +101,7 @@ public class OLATUpgrade_13_0_0 extends OLATUpgrade { boolean allOk = true; allOk &= migrateRole(upgradeManager, uhd); + allOk &= migrateRepositoryEntriesTodefaultOrganisation(upgradeManager, uhd); allOk &= migratePortfolioEvaluationForm(upgradeManager, uhd); uhd.setInstallationComplete(allOk); @@ -102,6 +114,41 @@ public class OLATUpgrade_13_0_0 extends OLATUpgrade { return allOk; } + private boolean migrateRepositoryEntriesTodefaultOrganisation(UpgradeManager upgradeManager, UpgradeHistoryData uhd) { + boolean allOk = true; + if (!uhd.getBooleanDataValue(MIGRATE_REPO_ENTRY_DEFAULT_ORG)) { + try { + List<Long> repositoryEntryKeys = getRepositoryEntryKeys(); + for(int i=0; i<repositoryEntryKeys.size(); i++) { + migrateRepositoryEntryToDefaultOrganisation(repositoryEntryKeys.get(0)); + if(i % 50 == 0) { + log.info("Migration repository entries to default organisation: " + i + " / " + repositoryEntryKeys.size()); + } + } + log.info("Migration repository entries to default organisation done: " + repositoryEntryKeys.size()); + dbInstance.commitAndCloseSession(); + } catch (Exception e) { + log.error("", e); + allOk &= false; + } + + uhd.setBooleanDataValue(MIGRATE_REPO_ENTRY_DEFAULT_ORG, allOk); + upgradeManager.setUpgradesHistory(uhd, VERSION); + } + return allOk; + } + + private void migrateRepositoryEntryToDefaultOrganisation(Long repositoryEntryKey) { + RepositoryEntry entry = repositoryService.loadByKey(repositoryEntryKey); + List<Organisation> currentOrganisations = repositoryEntryRelationDao.getOrganisations(entry); + if(currentOrganisations.isEmpty()) { + Organisation defOrganisation = organisationService.getDefaultOrganisation(); + repositoryEntryToOrganisationDao.createRelation(defOrganisation, entry, false); + repositoryEntryRelationDao.createRelation(defOrganisation.getGroup(), entry); + dbInstance.commitAndCloseSession(); + } + } + private boolean migrateRole(UpgradeManager upgradeManager, UpgradeHistoryData uhd) { boolean allOk = true; if (!uhd.getBooleanDataValue(MIGRATE_ROLE)) { @@ -164,6 +211,13 @@ public class OLATUpgrade_13_0_0 extends OLATUpgrade { .getResultList(); } + private List<Long> getRepositoryEntryKeys() { + String q = "select v.key from repositoryentry as v"; + return dbInstance.getCurrentEntityManager() + .createQuery(q, Long.class) + .getResultList(); + } + private boolean migratePortfolioEvaluationForm(UpgradeManager upgradeManager, UpgradeHistoryData uhd) { boolean allOk = true; if (!uhd.getBooleanDataValue(MIGRATE_PORTFOLIO_EVAL_FORM)) { diff --git a/src/main/java/org/olat/user/ProfileFormController.java b/src/main/java/org/olat/user/ProfileFormController.java index 142f0994ba10760a9e2f30c0f9db43ec45651c54..6f7fdd2404a0a9dd5e434df0f170705b74f7e90f 100644 --- a/src/main/java/org/olat/user/ProfileFormController.java +++ b/src/main/java/org/olat/user/ProfileFormController.java @@ -339,7 +339,7 @@ public class ProfileFormController extends FormBasicController { @Override protected boolean validateFormLogic(UserRequest ureq) { - boolean allOk = true; + boolean allOk = super.validateFormLogic(ureq); formContext.put("username", identityToModify.getName()); User user = identityToModify.getUser(); @@ -363,7 +363,7 @@ public class ProfileFormController extends FormBasicController { textAboutMe.setErrorKey("input.toolong", new String[] {"10000"}); allOk = false; } - return allOk & super.validateFormLogic(ureq); + return allOk; } @Override @@ -620,7 +620,7 @@ public class ProfileFormController extends FormBasicController { boolean isUserManagerAndBypassVerification = false; if(!isOLATAdmin && usess.getRoles().isUserManager() && BaseSecurityModule.USERMANAGER_CAN_BYPASS_EMAILVERIFICATION.booleanValue()) { //check if the user manager is allowed to manage this user - List<Organisation> organisations = organisationService.getManageableOrganisations(getIdentity(), usess.getRoles(), OrganisationRoles.usermanager); + List<Organisation> organisations = organisationService.getOrganisations(getIdentity(), usess.getRoles(), OrganisationRoles.usermanager); organisations.retainAll(identityOrganisations); isUserManagerAndBypassVerification = !organisations.isEmpty(); } diff --git a/src/main/java/org/olat/user/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/user/_i18n/LocalStrings_pt_BR.properties index 2646382d6e331d08c39229196fca4d8bbde99540..f609602aaf06d123ce1e3669976ebf30e6b3997d 100644 --- a/src/main/java/org/olat/user/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/user/_i18n/LocalStrings_pt_BR.properties @@ -1,4 +1,4 @@ -#Mon Dec 18 22:01:48 CET 2017 +#Fri May 11 23:55:12 CEST 2018 Failed=Falha na carga do arquivo. NoImage=Este formato de arquivo n\u00E3o pode ser carregado como imagem. ULLimitExceeded=A imagem n\u00E3o pode exceder {0} kByte. @@ -30,6 +30,7 @@ extlink=Link externo para cart\u00E3o de visita form.address=Endere\u00E7o form.charset=Cadeia de caracteres utilizada no download form.checkPassword=A senha deve conter pelo menos 4 caracteres e incluir d\u00EDgitos e letras +form.checkPassword.history=Voc\u00EA n\u00E3o pode usar uma senha que j\u00E1 usou no passado. form.checkUsername=O nome de usu\u00E1rio tem que ter pelo menos 4 caracteres e somente letras de a a z (min\u00FAsculas) bem como d\u00EDgitos de 0 a 9. Adicionalmente voc\u00EA pode usar . _ e -. form.description=Indique os seus dados pessoais no formul\u00E1rio abaixo. Atrav\u00E9s das lacunas voc\u00EA pode determinar as entradas que devem aparecer no seu cart\u00E3o de visita. form.email=Endere\u00E7o de E-mail diff --git a/src/main/java/org/olat/user/restapi/Examples.java b/src/main/java/org/olat/user/restapi/Examples.java index 25e3962581bc6623809be070edef75a843629d57..0ac048600f396ca47d9d226aaa647b61de6b0d96 100644 --- a/src/main/java/org/olat/user/restapi/Examples.java +++ b/src/main/java/org/olat/user/restapi/Examples.java @@ -33,29 +33,49 @@ public class Examples { public static final UserVO SAMPLE_USERVO = new UserVO(); public static final UserVOes SAMPLE_USERVOes = new UserVOes(); - public static final RolesVO SAMPLE_ROLESVO = new RolesVO(); - public static final StatusVO SAMPLE_STATUSVO = new StatusVO(); - public static final PreferencesVO SAMPLE_PREFERENCESVO = new PreferencesVO(); + public static final OrganisationVO SAMPLE_ORGANISATIONVO = new OrganisationVO(); + + public static final OrganisationTypeVO SAMPLE_ORGANISATIONTYPEVO = new OrganisationTypeVO(); + - static { - SAMPLE_USERVO.setKey(345l); - SAMPLE_USERVO.setFirstName("John"); - SAMPLE_USERVO.setLastName("Smith"); - SAMPLE_USERVO.setLogin("john"); - SAMPLE_USERVO.setEmail("john.smith@frentix.com"); - SAMPLE_USERVO.setPassword(""); - SAMPLE_USERVO.putProperty("telPrivate", "238456782"); - SAMPLE_USERVO.putProperty("telMobile", "238456782"); - SAMPLE_USERVOes.setUsers(new UserVO[]{SAMPLE_USERVO}); + static { + SAMPLE_USERVO.setKey(345l); + SAMPLE_USERVO.setFirstName("John"); + SAMPLE_USERVO.setLastName("Smith"); + SAMPLE_USERVO.setLogin("john"); + SAMPLE_USERVO.setEmail("john.smith@frentix.com"); + SAMPLE_USERVO.setPassword(""); + SAMPLE_USERVO.putProperty("telPrivate", "238456782"); + SAMPLE_USERVO.putProperty("telMobile", "238456782"); + SAMPLE_USERVOes.setUsers(new UserVO[]{SAMPLE_USERVO}); - SAMPLE_ROLESVO.setAuthor(true); + SAMPLE_ROLESVO.setAuthor(true); - SAMPLE_STATUSVO.setStatus(new Integer(2)); + SAMPLE_STATUSVO.setStatus(Integer.valueOf(2)); - SAMPLE_PREFERENCESVO.setLanguage("de"); - } + SAMPLE_PREFERENCESVO.setLanguage("de"); + + SAMPLE_ORGANISATIONVO.setKey(4587L); + SAMPLE_ORGANISATIONVO.setIdentifier("HEROL-2"); + SAMPLE_ORGANISATIONVO.setDisplayName("Herol 2"); + SAMPLE_ORGANISATIONVO.setCssClass("o_icon_beautiful"); + SAMPLE_ORGANISATIONVO.setDescription("An organisation description"); + SAMPLE_ORGANISATIONVO.setExternalId("IDEXT78"); + SAMPLE_ORGANISATIONVO.setManagedFlagsString("all"); + SAMPLE_ORGANISATIONVO.setOrganisationTypeKey(38l); + SAMPLE_ORGANISATIONVO.setParentOrganisationKey(3l); + SAMPLE_ORGANISATIONVO.setRootOrganisationKey(1l); + + SAMPLE_ORGANISATIONTYPEVO.setKey(38l); + SAMPLE_ORGANISATIONTYPEVO.setIdentifier("OWL-1"); + SAMPLE_ORGANISATIONTYPEVO.setCssClass("o_icon_owl"); + SAMPLE_ORGANISATIONTYPEVO.setDescription("An organization type"); + SAMPLE_ORGANISATIONTYPEVO.setDisplayName("Organization type"); + SAMPLE_ORGANISATIONTYPEVO.setExternalId("OWL-1-ext"); + SAMPLE_ORGANISATIONTYPEVO.setManagedFlagsString("externalId"); + } } diff --git a/src/main/java/org/olat/user/restapi/OrganisationTypeVO.java b/src/main/java/org/olat/user/restapi/OrganisationTypeVO.java new file mode 100644 index 0000000000000000000000000000000000000000..4974bd855ab2188fbefe1a1bb9f7bf307e942559 --- /dev/null +++ b/src/main/java/org/olat/user/restapi/OrganisationTypeVO.java @@ -0,0 +1,99 @@ +package org.olat.user.restapi; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + +import org.olat.basesecurity.OrganisationType; +import org.olat.basesecurity.OrganisationTypeManagedFlag; + +/** + * + * Initial date: 14 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "organisationTypeVO") +public class OrganisationTypeVO { + + private Long key; + private String identifier; + private String displayName; + private String description; + private String cssClass; + private String externalId; + private String managedFlagsString; + + public OrganisationTypeVO() { + // + } + + public static final OrganisationTypeVO valueOf(OrganisationType type) { + OrganisationTypeVO vo = new OrganisationTypeVO(); + vo.setKey(type.getKey()); + vo.setCssClass(type.getCssClass()); + vo.setDescription(type.getDescription()); + vo.setDisplayName(type.getDisplayName()); + vo.setExternalId(type.getExternalId()); + vo.setIdentifier(type.getIdentifier()); + vo.setManagedFlagsString(OrganisationTypeManagedFlag.toString(type.getManagedFlags())); + return vo; + } + + public Long getKey() { + return key; + } + + public void setKey(Long key) { + this.key = key; + } + + public String getIdentifier() { + return identifier; + } + + public void setIdentifier(String identifier) { + this.identifier = identifier; + } + + public String getDisplayName() { + return displayName; + } + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getCssClass() { + return cssClass; + } + + public void setCssClass(String cssClass) { + this.cssClass = cssClass; + } + + public String getExternalId() { + return externalId; + } + + public void setExternalId(String externalId) { + this.externalId = externalId; + } + + public String getManagedFlagsString() { + return managedFlagsString; + } + + public void setManagedFlagsString(String managedFlagsString) { + this.managedFlagsString = managedFlagsString; + } +} diff --git a/src/main/java/org/olat/user/restapi/OrganisationTypesWebService.java b/src/main/java/org/olat/user/restapi/OrganisationTypesWebService.java new file mode 100644 index 0000000000000000000000000000000000000000..31ca5c939e499f1575e13080100da29c056a5b49 --- /dev/null +++ b/src/main/java/org/olat/user/restapi/OrganisationTypesWebService.java @@ -0,0 +1,326 @@ +package org.olat.user.restapi; + +import static org.olat.restapi.security.RestSecurityHelper.isAdmin; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import javax.servlet.http.HttpServletRequest; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.Response.Status; + +import org.olat.basesecurity.OrganisationService; +import org.olat.basesecurity.OrganisationType; +import org.olat.basesecurity.OrganisationTypeManagedFlag; +import org.olat.basesecurity.OrganisationTypeToType; +import org.olat.basesecurity.model.OrganisationTypeRefImpl; +import org.olat.core.CoreSpringFactory; + +/** + * + * Initial date: 14 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class OrganisationTypesWebService { + + private static final String VERSION = "1.0"; + + /** + * The version of the User Web Service + * @response.representation.200.mediaType text/plain + * @response.representation.200.doc The version of this specific Web Service + * @response.representation.200.example 1.0 + * @return The version number + */ + @GET + @Path("version") + @Produces(MediaType.TEXT_PLAIN) + public Response getVersion() { + return Response.ok(VERSION).build(); + } + + + /** + * List of organizations types. + * + * @response.representation.200.qname {http://www.example.com}organisationTypeVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc The list of all organization types in the OpenOLAT system + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONTYPEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @param httpRequest The HTTP request + * @return An array of organization types + */ + @GET + @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + public Response getOrganisations(@Context HttpServletRequest httpRequest) { + if(!isAdmin(httpRequest)) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + + OrganisationService organisationService = CoreSpringFactory.getImpl(OrganisationService.class); + List<OrganisationType> organisationtypes = organisationService.getOrganisationTypes(); + OrganisationTypeVO[] organisationTypeVOes = toArrayOfVOes(organisationtypes); + return Response.ok(organisationTypeVOes).build(); + } + + /** + * Creates and persists a new organization type entity. + * + * @response.representation.qname {http://www.example.com}organisationTypeVO + * @response.representation.mediaType application/xml, application/json + * @response.representation.doc The organization type to persist + * @response.representation.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONTYPEVO} + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc The persisted organization type + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONTYPEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.406.mediaType application/xml, application/json + * @param organisationType The organization type to persist + * @param request The HTTP request + * @return The new persisted <code>organization type</code> + */ + @PUT + @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + public Response putOrganisationType(OrganisationTypeVO organisationType, @Context HttpServletRequest httpRequest) { + if(!isAdmin(httpRequest)) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + OrganisationType savedOrganisationType = saveOrganisationType(organisationType); + return Response.ok(OrganisationTypeVO.valueOf(savedOrganisationType)).build(); + } + + /** + * Updates a new organization type entity. + * + * @response.representation.qname {http://www.example.com}organisationTypeVO + * @response.representation.mediaType application/xml, application/json + * @response.representation.doc The organization type to update + * @response.representation.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONTYPEVO} + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc The merged organization type + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONTYPEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.406.mediaType application/xml, application/json + * @param organisationType The organization type to merge + * @param request The HTTP request + * @return The merged <code>organization type</code> + */ + @POST + @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + public Response postOrganisationType(OrganisationTypeVO organisationType, @Context HttpServletRequest httpRequest) { + if(!isAdmin(httpRequest)) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + OrganisationType savedOrganisationType = saveOrganisationType(organisationType); + return Response.ok(OrganisationTypeVO.valueOf(savedOrganisationType)).build(); + } + + /** + * Updates a new organization type entity. The primary key is taken from + * the URL. The organization type object can be "primary key free". + * + * @response.representation.qname {http://www.example.com}organisationTypeVO + * @response.representation.mediaType application/xml, application/json + * @response.representation.doc The organization type to update + * @response.representation.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONTYPEVO} + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc The merged type organization + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONTYPEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.406.mediaType application/xml, application/json + * @param organisationTypeKey The organization type primary key + * @param organisationType The organization type to merge + * @param request The HTTP request + * @return The merged <code>organization type</code> + */ + @POST + @Path("{organisationTypeKey}") + @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + public Response postOrganisation(@PathParam("organisationTypeKey") Long organisationTypeKey, OrganisationTypeVO organisationType, + @Context HttpServletRequest httpRequest) { + if(!isAdmin(httpRequest)) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + if(organisationType.getKey() == null) { + organisationType.setKey(organisationTypeKey); + } else if(!organisationTypeKey.equals(organisationType.getKey())) { + return Response.serverError().status(Status.CONFLICT).build(); + } + + OrganisationType savedOrganisationType = saveOrganisationType(organisationType); + return Response.ok(OrganisationTypeVO.valueOf(savedOrganisationType)).build(); + } + + private OrganisationType saveOrganisationType(OrganisationTypeVO organisationTypeVo) { + OrganisationType organisationType; + OrganisationService organisationService = CoreSpringFactory.getImpl(OrganisationService.class); + if(organisationTypeVo.getKey() == null) { + organisationType = organisationService.createOrganisationType(organisationTypeVo.getDisplayName(), + organisationTypeVo.getIdentifier(), organisationTypeVo.getDescription()); + } else { + organisationType = organisationService.getOrganisationType(new OrganisationTypeRefImpl(organisationTypeVo.getKey())); + organisationType.setDisplayName(organisationTypeVo.getDisplayName()); + organisationType.setIdentifier(organisationTypeVo.getIdentifier()); + organisationType.setDescription(organisationTypeVo.getDescription()); + } + + organisationType.setCssClass(organisationTypeVo.getCssClass()); + organisationType.setExternalId(organisationTypeVo.getExternalId()); + organisationType.setManagedFlags(OrganisationTypeManagedFlag.toEnum(organisationTypeVo.getManagedFlagsString())); + return organisationService.updateOrganisationType(organisationType); + } + + /** + * Get a specific organization type. + * + * @response.representation.200.qname {http://www.example.com}organisationTypeVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc The organization type + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONTYPEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @param organisationTypeKey The organization type primary key + * @param httpRequest The HTTP request + * @return The organization + */ + @GET + @Path("{organisationTypeKey}") + @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + public Response getOrganisations(@PathParam("organisationTypeKey") Long organisationTypeKey, + @Context HttpServletRequest httpRequest) { + if(!isAdmin(httpRequest)) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + + OrganisationService organisationService = CoreSpringFactory.getImpl(OrganisationService.class); + OrganisationType organisationType = organisationService.getOrganisationType(new OrganisationTypeRefImpl(organisationTypeKey)); + if(organisationType == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + return Response.ok(OrganisationTypeVO.valueOf(organisationType)).build(); + } + + + /** + * Get the allowed sub-types of a specified organization type. + * + * @response.representation.200.qname {http://www.example.com}organisationTypeVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc An array of organization types + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONTYPEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The organization type was not found + * @param organisationTypeKey The organization type primary key + * @param httpRequest The HTTP request + * @return An array of organization types + */ + @GET + @Path("{organisationTypeKey}/allowedSubTypes") + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response getAllowedSubTypes(@PathParam("organisationTypeKey") Long organisationTypeKey, @Context HttpServletRequest httpRequest) { + if(!isAdmin(httpRequest)) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + + OrganisationService organisationService = CoreSpringFactory.getImpl(OrganisationService.class); + OrganisationType type = organisationService.getOrganisationType(new OrganisationTypeRefImpl(organisationTypeKey)); + if(type == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + Set<OrganisationTypeToType> typeToTypes = type.getAllowedSubTypes(); + List<OrganisationTypeVO> subTypeVOes = new ArrayList<>(typeToTypes.size()); + for(OrganisationTypeToType typeToType:typeToTypes) { + OrganisationType subType = typeToType.getAllowedSubOrganisationType(); + subTypeVOes.add(OrganisationTypeVO.valueOf(subType)); + } + return Response.ok(subTypeVOes.toArray(new OrganisationTypeVO[subTypeVOes.size()])).build(); + } + + /** + * Add a sub-type to a specified organization type. + * + * @response.representation.200.qname {http://www.example.com}organisationTypeVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc The sub type was added to the allowed sub types + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONTYPEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The organization type was not found + * @param organisationTypeKey The type + * @param subTypeKey The sub type + * @param httpRequest The HTTP request + * @return Nothing + */ + @PUT + @Path("{organisationTypeKey}/allowedSubTypes/{subTypeKey}") + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response allowSubTaxonomyLevelType(@PathParam("organisationTypeKey") Long organisationTypeKey, @PathParam("subTypeKey") Long subTypeKey, + @Context HttpServletRequest httpRequest) { + if(!isAdmin(httpRequest)) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + + OrganisationService organisationService = CoreSpringFactory.getImpl(OrganisationService.class); + OrganisationType type = organisationService.getOrganisationType(new OrganisationTypeRefImpl(organisationTypeKey)); + OrganisationType subType = organisationService.getOrganisationType(new OrganisationTypeRefImpl(subTypeKey)); + if(type == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + + organisationService.allowOrganisationSubType(type, subType); + return Response.ok().build(); + } + + /** + * Remove a sub-type to a specified organization type. + * + * @response.representation.200.doc The sub type was removed successfully + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The organization type was not found + * @param organisationTypeKey The type + * @param subTypeKey The sub type to remove + * @param httpRequest The HTTP request + * @return Nothing + */ + @DELETE + @Path("{organisationTypeKey}/allowedSubTypes/{subTypeKey}") + public Response disalloweSubTaxonomyLevelType(@PathParam("organisationTypeKey") Long organisationTypeKey, @PathParam("subTypeKey") Long subTypeKey, + @Context HttpServletRequest httpRequest) { + if(!isAdmin(httpRequest)) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + + OrganisationService organisationService = CoreSpringFactory.getImpl(OrganisationService.class); + OrganisationType type = organisationService.getOrganisationType(new OrganisationTypeRefImpl(organisationTypeKey)); + OrganisationType subType = organisationService.getOrganisationType(new OrganisationTypeRefImpl(subTypeKey)); + if(type == null || subType == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + organisationService.disallowOrganisationSubType(type, subType); + return Response.ok().build(); + } + + private OrganisationTypeVO[] toArrayOfVOes(List<OrganisationType> organisationTypes) { + int i=0; + OrganisationTypeVO[] entryVOs = new OrganisationTypeVO[organisationTypes.size()]; + for (OrganisationType organisationType : organisationTypes) { + entryVOs[i++] = OrganisationTypeVO.valueOf(organisationType); + } + return entryVOs; + } + +} diff --git a/src/main/java/org/olat/user/restapi/OrganisationVO.java b/src/main/java/org/olat/user/restapi/OrganisationVO.java new file mode 100644 index 0000000000000000000000000000000000000000..69c8176cb0c8fbbb39ffec64fcab5cc8b926440e --- /dev/null +++ b/src/main/java/org/olat/user/restapi/OrganisationVO.java @@ -0,0 +1,168 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.user.restapi; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + +import org.olat.basesecurity.OrganisationManagedFlag; +import org.olat.core.id.Organisation; + +/** + * + * Initial date: 14 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "organisationVO") +public class OrganisationVO { + + private Long key; + + private String identifier; + private String displayName; + private String description; + private String cssClass; + private String status; + + private String externalId; + private String managedFlagsString; + + private Long rootOrganisationKey; + private Long parentOrganisationKey; + + private Long organisationTypeKey; + + public OrganisationVO() { + // + } + + public static final OrganisationVO valueOf(Organisation organisation) { + OrganisationVO vo = new OrganisationVO(); + vo.setKey(organisation.getKey()); + vo.setIdentifier(organisation.getIdentifier()); + vo.setDisplayName(organisation.getDisplayName()); + vo.setDescription(organisation.getDescription()); + vo.setCssClass(organisation.getCssClass()); + vo.setStatus(organisation.getStatus()); + vo.setExternalId(organisation.getExternalId()); + vo.setManagedFlagsString(OrganisationManagedFlag.toString(organisation.getManagedFlags())); + if(organisation.getRoot() != null) { + vo.setRootOrganisationKey(organisation.getRoot().getKey()); + } + if(organisation.getParent() != null) { + vo.setParentOrganisationKey(organisation.getParent().getKey()); + } + if(organisation.getType() != null) { + vo.setOrganisationTypeKey(organisation.getType().getKey()); + } + return vo; + } + + public Long getKey() { + return key; + } + + public void setKey(Long key) { + this.key = key; + } + + public String getIdentifier() { + return identifier; + } + + public void setIdentifier(String identifier) { + this.identifier = identifier; + } + + public String getDisplayName() { + return displayName; + } + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getCssClass() { + return cssClass; + } + + public void setCssClass(String cssClass) { + this.cssClass = cssClass; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getExternalId() { + return externalId; + } + + public void setExternalId(String externalId) { + this.externalId = externalId; + } + + public String getManagedFlagsString() { + return managedFlagsString; + } + + public void setManagedFlagsString(String managedFlagsString) { + this.managedFlagsString = managedFlagsString; + } + + public Long getRootOrganisationKey() { + return rootOrganisationKey; + } + + public void setRootOrganisationKey(Long rootOrganisationKey) { + this.rootOrganisationKey = rootOrganisationKey; + } + + public Long getParentOrganisationKey() { + return parentOrganisationKey; + } + + public void setParentOrganisationKey(Long parentOrganisationKey) { + this.parentOrganisationKey = parentOrganisationKey; + } + + public Long getOrganisationTypeKey() { + return organisationTypeKey; + } + + public void setOrganisationTypeKey(Long organisationTypeKey) { + this.organisationTypeKey = organisationTypeKey; + } +} diff --git a/src/main/java/org/olat/user/restapi/OrganisationVOes.java b/src/main/java/org/olat/user/restapi/OrganisationVOes.java new file mode 100644 index 0000000000000000000000000000000000000000..7281444feb692156b9be3c3be24eb402dcf948d1 --- /dev/null +++ b/src/main/java/org/olat/user/restapi/OrganisationVOes.java @@ -0,0 +1,64 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.user.restapi; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementWrapper; +import javax.xml.bind.annotation.XmlRootElement; + +/** + * + * Initial date: 14 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "organisations") +public class OrganisationVOes { + + @XmlElementWrapper(name="organisations") + @XmlElement(name="organisations") + private OrganisationVO[] organisations; + @XmlAttribute(name="totalCount") + private int totalCount; + + public OrganisationVOes() { + //make JAXB happy + } + + public OrganisationVO[] getOrganisations() { + return organisations; + } + + public void setOrganisations(OrganisationVO[] organisations) { + this.organisations = organisations; + } + + public int getTotalCount() { + return totalCount; + } + + public void setTotalCount(int totalCount) { + this.totalCount = totalCount; + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/user/restapi/OrganisationsWebService.java b/src/main/java/org/olat/user/restapi/OrganisationsWebService.java new file mode 100644 index 0000000000000000000000000000000000000000..b14a12fd5d9db09a4be0097155048853d127445a --- /dev/null +++ b/src/main/java/org/olat/user/restapi/OrganisationsWebService.java @@ -0,0 +1,276 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.user.restapi; + +import static org.olat.restapi.security.RestSecurityHelper.isAdmin; + +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.ws.rs.Consumes; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.Response.Status; + +import org.olat.basesecurity.OrganisationManagedFlag; +import org.olat.basesecurity.OrganisationService; +import org.olat.basesecurity.OrganisationType; +import org.olat.basesecurity.model.OrganisationRefImpl; +import org.olat.basesecurity.model.OrganisationTypeRefImpl; +import org.olat.core.CoreSpringFactory; +import org.olat.core.commons.persistence.DB; +import org.olat.core.id.Organisation; + +/** + * + * Initial date: 14 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Path("organisations") +public class OrganisationsWebService { + + private static final String VERSION = "1.0"; + + /** + * The version of the User Web Service + * @response.representation.200.mediaType text/plain + * @response.representation.200.doc The version of this specific Web Service + * @response.representation.200.example 1.0 + * @return The version number + */ + @GET + @Path("version") + @Produces(MediaType.TEXT_PLAIN) + public Response getVersion() { + return Response.ok(VERSION).build(); + } + + + /** + * List of organizations flat. + * + * @response.representation.200.qname {http://www.example.com}organisationVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc The list of all organization in the OpenOLAT system + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @param httpRequest The HTTP request + * @return An array of organizations + */ + @GET + @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + public Response getOrganisations(@Context HttpServletRequest httpRequest) { + boolean isSystemAdministrator = isAdmin(httpRequest); + if(!isSystemAdministrator) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + + OrganisationService organisationService = CoreSpringFactory.getImpl(OrganisationService.class); + List<Organisation> organisations = organisationService.getOrganisations(); + OrganisationVO[] organisationVOes = toArrayOfVOes(organisations); + return Response.ok(organisationVOes).build(); + } + + /** + * Creates and persists a new organization entity. + * + * @response.representation.qname {http://www.example.com}organisationVO + * @response.representation.mediaType application/xml, application/json + * @response.representation.doc The organization to persist + * @response.representation.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONVO} + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc The persisted organization + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.406.mediaType application/xml, application/json + * @param organisation The organization to persist + * @param request The HTTP request + * @return The new persisted <code>organization</code> + */ + @PUT + @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + public Response putOrganisation(OrganisationVO organisation, @Context HttpServletRequest httpRequest) { + boolean isSystemAdministrator = isAdmin(httpRequest); + if(!isSystemAdministrator) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + Organisation savedOrganisation = saveOrganisation(organisation); + return Response.ok(OrganisationVO.valueOf(savedOrganisation)).build(); + } + + /** + * Updates a new organization entity. + * + * @response.representation.qname {http://www.example.com}organisationVO + * @response.representation.mediaType application/xml, application/json + * @response.representation.doc The organization to update + * @response.representation.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONVO} + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc The merged organization + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.406.mediaType application/xml, application/json + * @param organisation The organization to merge + * @param request The HTTP request + * @return The merged <code>organization</code> + */ + @POST + @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + public Response postOrganisation(OrganisationVO organisation, @Context HttpServletRequest httpRequest) { + boolean isSystemAdministrator = isAdmin(httpRequest); + if(!isSystemAdministrator) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + Organisation savedOrganisation = saveOrganisation(organisation); + return Response.ok(OrganisationVO.valueOf(savedOrganisation)).build(); + } + + /** + * Get a specific organization. + * + * @response.representation.200.qname {http://www.example.com}organisationVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc The list of all organization in the OpenOLAT system + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @param organisationKey The organization primary key + * @param httpRequest The HTTP request + * @return The organization + */ + @GET + @Path("{organisationKey}") + @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + public Response getOrganisation(@PathParam("organisationKey") Long organisationKey, @Context HttpServletRequest httpRequest) { + boolean isSystemAdministrator = isAdmin(httpRequest); + if(!isSystemAdministrator) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + + OrganisationService organisationService = CoreSpringFactory.getImpl(OrganisationService.class); + Organisation organisation = organisationService.getOrganisation(new OrganisationRefImpl(organisationKey)); + OrganisationVO organisationVo = OrganisationVO.valueOf(organisation); + return Response.ok(organisationVo).build(); + } + + /** + * Updates a new organization entity. the primary key is taken from + * the url. The organization object can be "primary key free". + * + * @response.representation.qname {http://www.example.com}organisationVO + * @response.representation.mediaType application/xml, application/json + * @response.representation.doc The organization to update + * @response.representation.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONVO} + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc The merged organization + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ORGANISATIONVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.406.mediaType application/xml, application/json + * @param organisationKey The organization primary key + * @param organisation The organization to merge + * @param request The HTTP request + * @return The merged <code>organization</code> + */ + @POST + @Path("{organisationKey}") + @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) + public Response postOrganisation(@PathParam("organisationKey") Long organisationKey, OrganisationVO organisation, @Context HttpServletRequest httpRequest) { + boolean isSystemAdministrator = isAdmin(httpRequest); + if(!isSystemAdministrator) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + if(organisation.getKey() == null) { + organisation.setKey(organisationKey); + } else if(!organisationKey.equals(organisation.getKey())) { + return Response.serverError().status(Status.CONFLICT).build(); + } + + Organisation savedOrganisation = saveOrganisation(organisation); + return Response.ok(OrganisationVO.valueOf(savedOrganisation)).build(); + } + + + private Organisation saveOrganisation(OrganisationVO organisation) { + OrganisationService organisationService = CoreSpringFactory.getImpl(OrganisationService.class); + + Organisation organisationToSave = null; + Organisation parentOrganisation = null; + if(organisation.getParentOrganisationKey() != null) { + parentOrganisation = organisationService.getOrganisation(new OrganisationRefImpl(organisation.getParentOrganisationKey())); + } + OrganisationType type = null; + if(organisation.getOrganisationTypeKey() != null) { + type = organisationService.getOrganisationType(new OrganisationTypeRefImpl(organisation.getOrganisationTypeKey())); + } + + boolean move = false; + if(organisation.getKey() == null) { + organisationToSave = organisationService.createOrganisation(organisation.getDisplayName(), organisation.getIdentifier(), organisation.getDescription(), parentOrganisation, type); + } else { + organisationToSave = organisationService.getOrganisation(new OrganisationRefImpl(organisation.getKey())); + organisationToSave.setDisplayName(organisation.getDisplayName()); + organisationToSave.setIdentifier(organisation.getIdentifier()); + organisationToSave.setDescription(organisation.getDescription()); + organisationToSave.setType(type); + if(parentOrganisation != null && organisationToSave.getParent() != null + && !organisationToSave.getParent().getKey().equals(parentOrganisation.getKey())) { + move = true; + } + } + + organisationToSave.setCssClass(organisation.getCssClass()); + organisationToSave.setExternalId(organisation.getExternalId()); + organisationToSave.setManagedFlags(OrganisationManagedFlag.toEnum(organisation.getManagedFlagsString())); + organisationToSave.setStatus(organisation.getStatus()); + + Organisation savedOrganisation = organisationService.updateOrganisation(organisationToSave); + if(move) { + organisationService.moveOrganisation(savedOrganisation, parentOrganisation); + CoreSpringFactory.getImpl(DB.class).commit(); + savedOrganisation = organisationService.getOrganisation(savedOrganisation); + } + return savedOrganisation; + } + + @Path("types") + public OrganisationTypesWebService getOrganisationTypes() { + return new OrganisationTypesWebService(); + } + + + private OrganisationVO[] toArrayOfVOes(List<Organisation> organisations) { + int i=0; + OrganisationVO[] entryVOs = new OrganisationVO[organisations.size()]; + for (Organisation organisation : organisations) { + entryVOs[i++] = OrganisationVO.valueOf(organisation); + } + return entryVOs; + } +} diff --git a/src/main/java/org/olat/user/restapi/RolesVO.java b/src/main/java/org/olat/user/restapi/RolesVO.java index 63d26ae64cceb3ff4b947ddf5a170fa47d37e1dc..95464b2e1b317d827f12be48180a3590662a4332 100644 --- a/src/main/java/org/olat/user/restapi/RolesVO.java +++ b/src/main/java/org/olat/user/restapi/RolesVO.java @@ -58,7 +58,7 @@ public class RolesVO { author = roles.isAuthor(); guestOnly = roles.isGuestOnly(); institutionalResourceManager = roles.isLearnResourceManager(); - poolAdmin = roles.isPoolAdmin(); + poolAdmin = roles.isQPoolManager(); curriculumManager = roles.isCurriculumManager(); invitee = roles.isInvitee(); } diff --git a/src/main/java/org/olat/user/restapi/UserWebService.java b/src/main/java/org/olat/user/restapi/UserWebService.java index 8b63173b95d85c129d976942f209cc0f352cf1eb..af85759f612e2ca2ed56ad8242293cc2a076b124 100644 --- a/src/main/java/org/olat/user/restapi/UserWebService.java +++ b/src/main/java/org/olat/user/restapi/UserWebService.java @@ -77,10 +77,9 @@ import org.olat.core.id.Identity; import org.olat.core.id.Organisation; import org.olat.core.id.Preferences; import org.olat.core.id.Roles; +import org.olat.core.id.RolesByOrganisation; import org.olat.core.id.User; import org.olat.core.id.UserConstants; -import org.olat.core.logging.OLog; -import org.olat.core.logging.Tracing; import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.restapi.group.MyGroupWebService; @@ -98,7 +97,6 @@ import org.olat.user.propertyhandlers.UserPropertyHandler; @Path("users") public class UserWebService { - private static final OLog log = Tracing.createLoggerFor(UserWebService.class); private static final String VERSION = "1.0"; public static final String PROPERTY_HANDLER_IDENTIFIER = UserWebService.class.getName(); @@ -111,9 +109,9 @@ public class UserWebService { /** * The version of the User Web Service - * @response.representation.200.mediaType text/plain - * @response.representation.200.doc The version of this specific Web Service - * @response.representation.200.example 1.0 + * @response.representation.200.mediaType text/plain + * @response.representation.200.doc The version of this specific Web Service + * @response.representation.200.example 1.0 * @return The version number */ @GET @@ -181,7 +179,7 @@ public class UserWebService { } //retrieve and convert the parameters value - Map<String,String> userProps = new HashMap<String,String>(); + Map<String,String> userProps = new HashMap<>(); if(!params.isEmpty()) { UserManager um = UserManager.getInstance(); Locale locale = getLocale(httpRequest); @@ -289,9 +287,9 @@ public class UserWebService { * Retrieves the roles of a user given its unique key identifier * @response.representation.200.mediaType application/xml, application/json * @response.representation.200.doc The user - * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ROLESVO} - * @response.representation.401.doc The roles of the authenticated user are not sufficient - * @response.representation.404.doc The identity not found + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ROLESVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The identity not found * @param identityKey The user key identifier of the user being searched * @param httpRequest The HTTP request * @return an xml or json representation of a the roles being search. @@ -300,30 +298,26 @@ public class UserWebService { @Path("{identityKey}/roles") @Produces({MediaType.APPLICATION_XML ,MediaType.APPLICATION_JSON}) public Response getRoles(@PathParam("identityKey") Long identityKey, @Context HttpServletRequest request) { - try { - boolean isUserManager = isUserManager(request); - if(!isUserManager) { - return Response.serverError().status(Status.FORBIDDEN).build(); - } - Identity identity = BaseSecurityManager.getInstance().loadIdentityByKey(identityKey, false); - if(identity == null) { - return Response.serverError().status(Status.NOT_FOUND).build(); - } - - Roles roles = BaseSecurityManager.getInstance().getRoles(identity); - return Response.ok(new RolesVO(roles)).build(); - } catch (Throwable e) { - throw new WebApplicationException(e); + boolean isUserManager = isUserManager(request); + if(!isUserManager) { + return Response.serverError().status(Status.FORBIDDEN).build(); + } + Identity identity = BaseSecurityManager.getInstance().loadIdentityByKey(identityKey, false); + if(identity == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); } + + Roles roles = BaseSecurityManager.getInstance().getRoles(identity); + return Response.ok(new RolesVO(roles)).build(); } /** * Update the roles of a user given its unique key identifier * @response.representation.200.mediaType application/xml, application/json * @response.representation.200.doc The user - * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ROLESVO} - * @response.representation.401.doc The roles of the authenticated user are not sufficient - * @response.representation.404.doc The identity not found + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ROLESVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The identity not found * @param identityKey The user key identifier of the user being searched * @param roles The updated roles * @param httpRequest The HTTP request @@ -346,11 +340,16 @@ public class UserWebService { return Response.serverError().status(Status.NOT_FOUND).build(); } - Roles modRoles = roles.toRoles(); Identity actingIdentity = getIdentity(request); Organisation defOrganisation = organisationService.getDefaultOrganisation(); - securityManager.updateRoles(actingIdentity, identity, defOrganisation, modRoles); - return Response.ok(new RolesVO(modRoles)).build(); + boolean userRole = !roles.isGuestOnly() && !roles.isInvitee(); + boolean coachRole = false; + RolesByOrganisation modifiedRoles = RolesByOrganisation.roles(defOrganisation, + roles.isGuestOnly(), roles.isInvitee(), userRole, coachRole, + roles.isAuthor(), roles.isGroupManager(), roles.isPoolAdmin(), roles.isCurriculumManager(), + roles.isUserManager(), roles.isInstitutionalResourceManager(), roles.isOlatAdmin()); + securityManager.updateRoles(actingIdentity, identity, modifiedRoles); + return Response.ok(new RolesVO(roles.toRoles())).build(); } /** @@ -369,22 +368,18 @@ public class UserWebService { @Path("{identityKey}/status") @Produces({MediaType.APPLICATION_XML ,MediaType.APPLICATION_JSON}) public Response getStatus(@PathParam("identityKey") Long identityKey, @Context HttpServletRequest request) { - try { - boolean isUserManager = isUserManager(request); - if(!isUserManager) { - return Response.serverError().status(Status.FORBIDDEN).build(); - } - Identity identity = BaseSecurityManager.getInstance().loadIdentityByKey(identityKey, false); - if(identity == null) { - return Response.serverError().status(Status.NOT_FOUND).build(); - } - - StatusVO status = new StatusVO(); - status.setStatus(identity.getStatus()); - return Response.ok(status).build(); - } catch (Throwable e) { - throw new WebApplicationException(e); + boolean isUserManager = isUserManager(request); + if(!isUserManager) { + return Response.serverError().status(Status.FORBIDDEN).build(); + } + Identity identity = BaseSecurityManager.getInstance().loadIdentityByKey(identityKey, false); + if(identity == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); } + + StatusVO status = new StatusVO(); + status.setStatus(identity.getStatus()); + return Response.ok(status).build(); } /** @@ -399,9 +394,9 @@ public class UserWebService { * @response.representation.qname {http://www.example.com}statusVO * @response.representation.200.mediaType application/xml, application/json * @response.representation.200.doc The user - * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ROLESVO} - * @response.representation.401.doc The roles of the authenticated user are not sufficient - * @response.representation.404.doc The identity not found + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_ROLESVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The identity not found * @param identityKey The user key identifier of the user being searched * @param status The status to update * @param httpRequest The HTTP request @@ -436,9 +431,9 @@ public class UserWebService { * Retrieves the preferences of a user given its unique key identifier * @response.representation.200.mediaType application/xml, application/json * @response.representation.200.doc The preferences - * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_PREFERENCESVO} - * @response.representation.401.doc The roles of the authenticated user are not sufficient - * @response.representation.404.doc The identity not found + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_PREFERENCESVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The identity not found * @param identityKey The user key identifier of the user being searched * @param httpRequest The HTTP request * @return an xml or json representation of a the roles being search. @@ -465,9 +460,9 @@ public class UserWebService { * Update the preferences of a user given its unique key identifier * @response.representation.200.mediaType application/xml, application/json * @response.representation.200.doc The user - * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_PREFERENCESVO} - * @response.representation.401.doc The roles of the authenticated user are not sufficient - * @response.representation.404.doc The identity not found + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_PREFERENCESVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The identity not found * @param identityKey The user key identifier of the user being searched * @param preferences The updated preferences * @param httpRequest The HTTP request @@ -478,23 +473,19 @@ public class UserWebService { @Consumes({MediaType.APPLICATION_XML ,MediaType.APPLICATION_JSON}) @Produces({MediaType.APPLICATION_XML ,MediaType.APPLICATION_JSON}) public Response updatePreferences(@PathParam("identityKey") Long identityKey, PreferencesVO preferences, @Context HttpServletRequest request) { - try { - boolean isUserManager = isUserManager(request); - if(!isUserManager) { - return Response.serverError().status(Status.FORBIDDEN).build(); - } - Identity identity = BaseSecurityManager.getInstance().loadIdentityByKey(identityKey, false); - if(identity == null) { - return Response.serverError().status(Status.NOT_FOUND).build(); - } - - Preferences prefs = identity.getUser().getPreferences(); - prefs.setLanguage(preferences.getLanguage()); - UserManager.getInstance().updateUserFromIdentity(identity); - return Response.ok(new PreferencesVO(prefs)).build(); - } catch (Throwable e) { - throw new WebApplicationException(e); + boolean isUserManager = isUserManager(request); + if(!isUserManager) { + return Response.serverError().status(Status.FORBIDDEN).build(); + } + Identity identity = BaseSecurityManager.getInstance().loadIdentityByKey(identityKey, false); + if(identity == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); } + + Preferences prefs = identity.getUser().getPreferences(); + prefs.setLanguage(preferences.getLanguage()); + UserManager.getInstance().updateUserFromIdentity(identity); + return Response.ok(new PreferencesVO(prefs)).build(); } @@ -502,9 +493,9 @@ public class UserWebService { * Retrieves an user given its unique key identifier * @response.representation.200.mediaType application/xml, application/json * @response.representation.200.doc The user - * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_USERVO} - * @response.representation.401.doc The roles of the authenticated user are not sufficient - * @response.representation.404.doc The identity not found + * @response.representation.200.example {@link org.olat.user.restapi.Examples#SAMPLE_USERVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The identity not found * @param identityKey The user key identifier of the user being searched * @param withPortrait If true return the portrait as Base64 (default false) * @param httpRequest The HTTP request @@ -517,18 +508,14 @@ public class UserWebService { @Produces({MediaType.APPLICATION_XML ,MediaType.APPLICATION_JSON}) public Response findById(@PathParam("identityKey") Long identityKey, @QueryParam("withPortrait") @DefaultValue("false") Boolean withPortrait, @Context HttpServletRequest httpRequest) { - try { - Identity identity = BaseSecurityManager.getInstance().loadIdentityByKey(identityKey, false); - if(identity == null) { - return Response.serverError().status(Status.NOT_FOUND).build(); - } - - boolean isUserManager = isUserManager(httpRequest); - UserVO userVO = get(identity, null, true, isUserManager, withPortrait); - return Response.ok(userVO).build(); - } catch (Throwable e) { - throw new WebApplicationException(e); + Identity identity = BaseSecurityManager.getInstance().loadIdentityByKey(identityKey, false); + if(identity == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); } + + boolean isUserManager = isUserManager(httpRequest); + UserVO userVO = get(identity, null, true, isUserManager, withPortrait); + return Response.ok(userVO).build(); } @Path("{identityKey}/folders") @@ -567,22 +554,18 @@ public class UserWebService { @Path("{identityKey}/portrait") @Produces({"image/jpeg","image/jpg",MediaType.APPLICATION_OCTET_STREAM}) public Response getPortraitHead(@PathParam("identityKey") Long identityKey) { - try { - IdentityShort identity = BaseSecurityManager.getInstance().loadIdentityShortByKey(identityKey); - if(identity == null) { - return Response.serverError().status(Status.NOT_FOUND).build(); - } - - File portrait = DisplayPortraitManager.getInstance().getBigPortrait(identity.getName()); - if(portrait == null || !portrait.exists()) { - return Response.serverError().status(Status.NOT_FOUND).build(); - } - - Date lastModified = new Date(portrait.lastModified()); - return Response.ok().lastModified(lastModified).build(); - } catch (Throwable e) { - throw new WebApplicationException(e); + IdentityShort identity = BaseSecurityManager.getInstance().loadIdentityShortByKey(identityKey); + if(identity == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + + File portrait = DisplayPortraitManager.getInstance().getBigPortrait(identity.getName()); + if(portrait == null || !portrait.exists()) { + return Response.serverError().status(Status.NOT_FOUND).build(); } + + Date lastModified = new Date(portrait.lastModified()); + return Response.ok().lastModified(lastModified).build(); } /** @@ -597,31 +580,27 @@ public class UserWebService { @Path("{identityKey}/portrait/{size}") @Produces({"image/jpeg","image/jpg",MediaType.APPLICATION_OCTET_STREAM}) public Response getOriginalPortraitHead(@PathParam("identityKey") Long identityKey, @PathParam("size") String size) { - try { - IdentityShort identity = BaseSecurityManager.getInstance().loadIdentityShortByKey(identityKey); - if(identity == null) { - return Response.serverError().status(Status.NOT_FOUND).build(); - } - - DisplayPortraitManager portraitManager = DisplayPortraitManager.getInstance(); - - File portrait = null; - if("master".equals(size)) { - portrait = portraitManager.getMasterPortrait(identity.getName()); - } else if("big".equals(size)) { - portrait = portraitManager.getBigPortrait(identity.getName()); - } else if("small".equals(size)) { - portrait = portraitManager.getSmallPortrait(identity.getName()); - } + IdentityShort identity = BaseSecurityManager.getInstance().loadIdentityShortByKey(identityKey); + if(identity == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + + DisplayPortraitManager portraitManager = DisplayPortraitManager.getInstance(); + + File portrait = null; + if("master".equals(size)) { + portrait = portraitManager.getMasterPortrait(identity.getName()); + } else if("big".equals(size)) { + portrait = portraitManager.getBigPortrait(identity.getName()); + } else if("small".equals(size)) { + portrait = portraitManager.getSmallPortrait(identity.getName()); + } - if(portrait == null || !portrait.exists()) { - return Response.serverError().status(Status.NOT_FOUND).build(); - } - Date lastModified = new Date(portrait.lastModified()); - return Response.ok().lastModified(lastModified).build(); - } catch (Throwable e) { - throw new WebApplicationException(e); + if(portrait == null || !portrait.exists()) { + return Response.serverError().status(Status.NOT_FOUND).build(); } + Date lastModified = new Date(portrait.lastModified()); + return Response.ok().lastModified(lastModified).build(); } /** @@ -686,7 +665,7 @@ public class UserWebService { String filename = partsReader.getFilename(); DisplayPortraitManager.getInstance().setPortrait(tmpFile, filename, identity.getName()); return Response.ok().build(); - } catch (Throwable e) { + } catch (Exception e) { throw new WebApplicationException(e); } finally { MultipartReader.closeQuietly(partsReader); @@ -696,7 +675,7 @@ public class UserWebService { /** * Deletes the portrait of an user * @response.representation.200.doc The portrait deleted - * @response.representation.401.doc Not authorized + * @response.representation.401.doc Not authorized * @param identityKey The identity key identifier of the user being searched * @param request The REST request * @return The image @@ -704,20 +683,16 @@ public class UserWebService { @DELETE @Path("{identityKey}/portrait") public Response deletePortrait(@PathParam("identityKey") Long identityKey, @Context HttpServletRequest request) { - try { - Identity authIdentity = getUserRequest(request).getIdentity(); - Identity identity = BaseSecurityManager.getInstance().loadIdentityByKey(identityKey, false); - if(identity == null) { - return Response.serverError().status(Status.NOT_FOUND).build(); - } else if(!isUserManager(request) && !identity.equalsByPersistableKey(authIdentity)) { - return Response.serverError().status(Status.UNAUTHORIZED).build(); - } - - DisplayPortraitManager.getInstance().deletePortrait(identity); - return Response.ok().build(); - } catch (Throwable e) { - throw new WebApplicationException(e); - } + Identity authIdentity = getUserRequest(request).getIdentity(); + Identity identity = BaseSecurityManager.getInstance().loadIdentityByKey(identityKey, false); + if(identity == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } else if(!isUserManager(request) && !identity.equalsByPersistableKey(authIdentity)) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + + DisplayPortraitManager.getInstance().deletePortrait(identity); + return Response.ok().build(); } @Path("{identityKey}/groups") @@ -755,43 +730,38 @@ public class UserWebService { @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public Response update(@PathParam("identityKey") Long identityKey, UserVO user, @Context HttpServletRequest request) { - try { - if(user == null) { - return Response.serverError().status(Status.NO_CONTENT).build(); - } - if(!isUserManager(request)) { - return Response.serverError().status(Status.UNAUTHORIZED).build(); - } + if(user == null) { + return Response.serverError().status(Status.NO_CONTENT).build(); + } + if(!isUserManager(request)) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } - BaseSecurity baseSecurity = BaseSecurityManager.getInstance(); - Identity retrievedIdentity = baseSecurity.loadIdentityByKey(identityKey, false); - if(retrievedIdentity == null) { - return Response.serverError().status(Status.NOT_FOUND).build(); - } - - User retrievedUser = retrievedIdentity.getUser(); - List<ErrorVO> errors = validateUser(retrievedUser, user, request); - if(errors.isEmpty()) { - if(StringHelper.containsNonWhitespace(user.getExternalId()) - && !user.getExternalId().equals(retrievedIdentity.getExternalId())) { - retrievedIdentity = baseSecurity.setExternalId(retrievedIdentity, user.getExternalId()); - retrievedUser = retrievedIdentity.getUser(); - } - String oldEmail = retrievedUser.getEmail(); - post(retrievedUser, user, getLocale(request)); - UserManager.getInstance().updateUser(retrievedUser); - BaseSecurityManager.getInstance().deleteInvalidAuthenticationsByEmail(oldEmail); - return Response.ok(get(retrievedIdentity, true, true)).build(); + BaseSecurity baseSecurity = BaseSecurityManager.getInstance(); + Identity retrievedIdentity = baseSecurity.loadIdentityByKey(identityKey, false); + if(retrievedIdentity == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + + User retrievedUser = retrievedIdentity.getUser(); + List<ErrorVO> errors = validateUser(retrievedUser, user, request); + if(errors.isEmpty()) { + if(StringHelper.containsNonWhitespace(user.getExternalId()) + && !user.getExternalId().equals(retrievedIdentity.getExternalId())) { + retrievedIdentity = baseSecurity.setExternalId(retrievedIdentity, user.getExternalId()); + retrievedUser = retrievedIdentity.getUser(); } - - //content not ok - ErrorVO[] errorVos = new ErrorVO[errors.size()]; - errors.toArray(errorVos); - return Response.ok(errorVos).status(Status.NOT_ACCEPTABLE).build(); - } catch (Exception e) { - log.error("Error updating an user", e); - return Response.serverError().status(Status.INTERNAL_SERVER_ERROR).build(); + String oldEmail = retrievedUser.getEmail(); + post(retrievedUser, user, getLocale(request)); + UserManager.getInstance().updateUser(retrievedUser); + BaseSecurityManager.getInstance().deleteInvalidAuthenticationsByEmail(oldEmail); + return Response.ok(get(retrievedIdentity, true, true)).build(); } + + //content not ok + ErrorVO[] errorVos = new ErrorVO[errors.size()]; + errors.toArray(errorVos); + return Response.ok(errorVos).status(Status.NOT_ACCEPTABLE).build(); } private List<ErrorVO> validateUser(User user, UserVO userVo, HttpServletRequest request) { @@ -862,7 +832,7 @@ public class UserWebService { * Delete an user from the system * @response.representation.200.doc The user is removed from the group * @response.representation.401.doc The roles of the authenticated user are not sufficient - * @response.representation.404.doc The identity not found + * @response.representation.404.doc The identity not found * @param identityKey The user key identifier * @param request The HTTP request * @return <code>Response</code> object. The operation status (success or fail) diff --git a/src/main/java/org/olat/user/ui/admin/UserAdminMainController.java b/src/main/java/org/olat/user/ui/admin/UserAdminMainController.java index 50f92e6f83765985d1e9128e6b60fd9cbdb0dbf7..b8f5340fe18604e9b9f2c5ac3d2c200207b81cdd 100644 --- a/src/main/java/org/olat/user/ui/admin/UserAdminMainController.java +++ b/src/main/java/org/olat/user/ui/admin/UserAdminMainController.java @@ -133,13 +133,10 @@ public class UserAdminMainController extends MainLayoutBasicController implement UserSession usess = ureq.getUserSession(); isOlatAdmin = usess.getRoles().isOLATAdmin(); - if(isOlatAdmin) { - manageableOrganisations = organisationService.getOrganisations(); - } else { - manageableOrganisations = organisationService - .getManageableOrganisations(getIdentity(), usess.getRoles(), OrganisationRoles.usermanager); - } - + + manageableOrganisations = organisationService.getOrganisations(getIdentity(), usess.getRoles(), + OrganisationRoles.administrator, OrganisationRoles.usermanager); + menuTree = new MenuTree("olatMenuTree"); menuTree.setExpandSelectedNode(false); menuTree.setScrollTopOnClick(true); diff --git a/src/main/java/org/olat/user/ui/organisation/EditOrganisationController.java b/src/main/java/org/olat/user/ui/organisation/EditOrganisationController.java index f2095d64275352241045dec3a157f22976d3952b..445788561fff25c91156160d51cff607b3529b80 100644 --- a/src/main/java/org/olat/user/ui/organisation/EditOrganisationController.java +++ b/src/main/java/org/olat/user/ui/organisation/EditOrganisationController.java @@ -19,11 +19,19 @@ */ package org.olat.user.ui.organisation; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + import org.olat.basesecurity.OrganisationManagedFlag; import org.olat.basesecurity.OrganisationService; +import org.olat.basesecurity.OrganisationType; +import org.olat.basesecurity.OrganisationTypeToType; +import org.olat.basesecurity.model.OrganisationTypeRefImpl; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.elements.RichTextElement; +import org.olat.core.gui.components.form.flexible.elements.SingleSelection; import org.olat.core.gui.components.form.flexible.elements.TextElement; import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; @@ -45,6 +53,7 @@ public class EditOrganisationController extends FormBasicController { private RichTextElement descriptionEl; private TextElement identifierEl; private TextElement displayNameEl; + private SingleSelection organisationTypeEl; private Organisation organisation; private Organisation parentOrganisation; @@ -69,6 +78,34 @@ public class EditOrganisationController extends FormBasicController { public Organisation getOrganisation() { return organisation; } + + private List<OrganisationType> getTypes() { + List<OrganisationType> types = new ArrayList<>(); + if(organisation != null) { + List<Organisation> parentLine = organisationService.getOrganisationParentLine(organisation); + for(int i=parentLine.size() - 1; i-->0; ) { + Organisation parent = parentLine.get(i); + OrganisationType parentType = parent.getType(); + if(parentType != null) { + Set<OrganisationTypeToType> typeToTypes = parentType.getAllowedSubTypes(); + for(OrganisationTypeToType typeToType:typeToTypes) { + if(typeToType != null) { + types.add(typeToType.getAllowedSubOrganisationType()); + } + } + break; + } + } + } + if(types.isEmpty()) { + types.addAll(organisationService.getOrganisationTypes()); + } else if(organisation != null && organisation.getType() != null) { + if(!types.contains(organisation.getType())) { + types.add(organisation.getType()); + } + } + return types; + } @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { @@ -89,6 +126,33 @@ public class EditOrganisationController extends FormBasicController { displayNameEl.setEnabled(!OrganisationManagedFlag.isManaged(organisation, OrganisationManagedFlag.displayName)); displayNameEl.setMandatory(true); + List<OrganisationType> types = getTypes(); + String[] typeKeys = new String[types.size() + 1]; + String[] typeValues = new String[types.size() + 1]; + typeKeys[0] = ""; + typeValues[0] = "-"; + for(int i=types.size(); i-->0; ) { + typeKeys[i+1] = types.get(i).getKey().toString(); + typeValues[i+1] = types.get(i).getDisplayName(); + } + organisationTypeEl = uifactory.addDropdownSingleselect("organisation.type", "organisation.type", formLayout, typeKeys, typeValues, null); + organisationTypeEl.setEnabled(!OrganisationManagedFlag.isManaged(organisation, OrganisationManagedFlag.type)); + boolean typeFound = false; + if(organisation != null && organisation.getType() != null) { + String selectedTypeKey = organisation.getType().getKey().toString(); + for(String typeKey:typeKeys) { + if(typeKey.equals(selectedTypeKey)) { + organisationTypeEl.select(selectedTypeKey, true); + typeFound = true; + break; + } + } + } + if(!typeFound) { + organisationTypeEl.select(typeKeys[0], true); + } + + String description = organisation == null ? "" : organisation.getDescription(); descriptionEl = uifactory.addRichTextElementForStringDataCompact("organisation.description", "organisation.description", description, 10, 60, null, formLayout, ureq.getUserSession(), getWindowControl()); @@ -126,15 +190,23 @@ public class EditOrganisationController extends FormBasicController { @Override protected void formOK(UserRequest ureq) { + OrganisationType organisationType = null; + String selectedTypeKey = organisationTypeEl.getSelectedKey(); + if(StringHelper.containsNonWhitespace(selectedTypeKey)) { + organisationType = organisationService + .getOrganisationType(new OrganisationTypeRefImpl(new Long(selectedTypeKey))); + } + if(organisation == null) { //create a new one organisation = organisationService - .createOrganisation(identifierEl.getValue(), displayNameEl.getValue(), descriptionEl.getValue(), parentOrganisation, null); + .createOrganisation(identifierEl.getValue(), displayNameEl.getValue(), descriptionEl.getValue(), parentOrganisation, organisationType); } else { organisation = organisationService.getOrganisation(organisation); organisation.setIdentifier(identifierEl.getValue()); organisation.setDisplayName(displayNameEl.getValue()); organisation.setDescription(descriptionEl.getValue()); + organisation.setType(organisationType); organisation = organisationService.updateOrganisation(organisation); } diff --git a/src/main/java/org/olat/user/ui/organisation/EditOrganisationTypeController.java b/src/main/java/org/olat/user/ui/organisation/EditOrganisationTypeController.java new file mode 100644 index 0000000000000000000000000000000000000000..ae44fde18300fe63008dc35c576ea8cc3e9e8dec --- /dev/null +++ b/src/main/java/org/olat/user/ui/organisation/EditOrganisationTypeController.java @@ -0,0 +1,171 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.user.ui.organisation; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Set; + +import org.olat.basesecurity.OrganisationService; +import org.olat.basesecurity.OrganisationType; +import org.olat.basesecurity.OrganisationTypeManagedFlag; +import org.olat.basesecurity.OrganisationTypeToType; +import org.olat.basesecurity.model.OrganisationTypeRefImpl; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement; +import org.olat.core.gui.components.form.flexible.elements.RichTextElement; +import org.olat.core.gui.components.form.flexible.elements.TextElement; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.util.StringHelper; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 4 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class EditOrganisationTypeController extends FormBasicController { + + private TextElement identifierEl; + private TextElement displayNameEl; + private TextElement cssClassEl; + private RichTextElement descriptionEl; + private MultipleSelectionElement allowedSubTypesEl; + + private OrganisationType organisationType; + + @Autowired + private OrganisationService organisationService; + + public EditOrganisationTypeController(UserRequest ureq, WindowControl wControl, + OrganisationType type) { + super(ureq, wControl); + this.organisationType = type; + initForm(ureq); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + String identifier = organisationType == null ? "" : organisationType.getIdentifier(); + identifierEl = uifactory.addTextElement("type.identifier", "type.identifier", 255, identifier, formLayout); + identifierEl.setEnabled(!OrganisationTypeManagedFlag.isManaged(organisationType, OrganisationTypeManagedFlag.identifier)); + identifierEl.setMandatory(true); + if(!StringHelper.containsNonWhitespace(identifier)) { + identifierEl.setFocus(true); + } + + String displayName = organisationType == null ? "" : organisationType.getDisplayName(); + displayNameEl = uifactory.addTextElement("type.displayname", "type.displayname", 255, displayName, formLayout); + displayNameEl.setEnabled(!OrganisationTypeManagedFlag.isManaged(organisationType, OrganisationTypeManagedFlag.displayName)); + displayNameEl.setMandatory(true); + + String cssClass = organisationType == null ? "" : organisationType.getCssClass(); + cssClassEl = uifactory.addTextElement("type.cssClass", "type.cssClass", 255, cssClass, formLayout); + cssClassEl.setEnabled(!OrganisationTypeManagedFlag.isManaged(organisationType, OrganisationTypeManagedFlag.cssClass)); + + String description = organisationType == null ? "" : organisationType.getDescription(); + descriptionEl = uifactory.addRichTextElementForStringDataMinimalistic("type.description", "type.description", description, 10, 60, + formLayout, getWindowControl()); + descriptionEl.setEnabled(!OrganisationTypeManagedFlag.isManaged(organisationType, OrganisationTypeManagedFlag.description)); + + List<OrganisationType> types = organisationService.getOrganisationTypes(); + types.remove(organisationType); + + String[] subTypeKeys = new String[types.size()]; + String[] subTypeValues = new String[types.size()]; + for(int i=types.size(); i-->0; ) { + subTypeKeys[i] = types.get(i).getKey().toString(); + subTypeValues[i] = types.get(i).getDisplayName(); + } + allowedSubTypesEl = uifactory.addCheckboxesVertical("type.allowed.sub.types", formLayout, subTypeKeys, subTypeValues, 2); + allowedSubTypesEl.setEnabled(!OrganisationTypeManagedFlag.isManaged(organisationType, OrganisationTypeManagedFlag.subTypes)); + if(organisationType != null) { + Set<OrganisationTypeToType> typeToTypes = organisationType.getAllowedSubTypes(); + for(OrganisationTypeToType typeToType:typeToTypes) { + String subTypeKey = typeToType.getAllowedSubOrganisationType().getKey().toString(); + allowedSubTypesEl.select(subTypeKey, true); + } + } + + FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator()); + formLayout.add(buttonsCont); + uifactory.addFormCancelButton("cancel", buttonsCont, ureq, getWindowControl()); + uifactory.addFormSubmitButton("save", buttonsCont); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected boolean validateFormLogic(UserRequest ureq) { + boolean allOk = super.validateFormLogic(ureq); + + displayNameEl.clearError(); + if(!StringHelper.containsNonWhitespace(displayNameEl.getValue())) { + displayNameEl.setErrorKey("form.legende.mandatory", null); + allOk &= false; + } + + identifierEl.clearError(); + if(!StringHelper.containsNonWhitespace(identifierEl.getValue())) { + identifierEl.setErrorKey("form.legende.mandatory", null); + allOk &= false; + } + + return allOk; + } + + @Override + protected void formOK(UserRequest ureq) { + if(organisationType == null) { + organisationType = organisationService.createOrganisationType(displayNameEl.getValue(), identifierEl.getValue(), descriptionEl.getValue()); + } else { + organisationType = organisationService.getOrganisationType(organisationType); + organisationType.setIdentifier(identifierEl.getValue()); + organisationType.setDisplayName(displayNameEl.getValue()); + organisationType.setDescription(descriptionEl.getValue()); + } + + organisationType.setCssClass(cssClassEl.getValue()); + + Collection<String> selectedAllowedSubTypeKeys = allowedSubTypesEl.getSelectedKeys(); + List<OrganisationType> allowedSubTypes = new ArrayList<>(); + for(String selectedAllowedSubTypeKey:selectedAllowedSubTypeKeys) { + allowedSubTypes.add(organisationService.getOrganisationType(new OrganisationTypeRefImpl(new Long(selectedAllowedSubTypeKey)))); + } + organisationType = organisationService.updateOrganisationType(organisationType, allowedSubTypes); + + fireEvent(ureq, Event.DONE_EVENT); + } + + @Override + protected void formCancelled(UserRequest ureq) { + fireEvent(ureq, Event.CANCELLED_EVENT); + } +} diff --git a/src/main/java/org/olat/user/ui/organisation/InstitutionMigratorController.java b/src/main/java/org/olat/user/ui/organisation/InstitutionMigratorController.java new file mode 100644 index 0000000000000000000000000000000000000000..a05742ec309ad39d141606d3c5e5b12822e16fbd --- /dev/null +++ b/src/main/java/org/olat/user/ui/organisation/InstitutionMigratorController.java @@ -0,0 +1,90 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.user.ui.organisation; + +import org.olat.basesecurity.manager.InstitutionNamesToOrganisationMigrator; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.form.flexible.FormItem; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.FormLink; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.form.flexible.impl.FormEvent; +import org.olat.core.gui.components.link.Link; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 4 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class InstitutionMigratorController extends FormBasicController { + + private FormLink migrateButton; + + @Autowired + private InstitutionNamesToOrganisationMigrator migrator; + + public InstitutionMigratorController(UserRequest ureq, WindowControl wControl) { + super(ureq, wControl, "migrator"); + + initForm(ureq); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + + uifactory.addFormCancelButton("cancel", formLayout, ureq, getWindowControl()); + migrateButton = uifactory.addFormLink("migrate", formLayout, Link.BUTTON); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + @Override + protected void formCancelled(UserRequest ureq) { + fireEvent(ureq, Event.CANCELLED_EVENT); + } + + @Override + protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { + if(migrateButton == source) { + doMigrate(ureq); + } + super.formInnerEvent(ureq, source, event); + } + + private void doMigrate(UserRequest ureq) { + migrateButton.setEnabled(false); + migrateButton.setIconLeftCSS("o_icon o_icon_pending o_icon-spin"); + migrator.migrate(); + fireEvent(ureq, Event.DONE_EVENT); + } +} diff --git a/src/main/java/org/olat/user/ui/organisation/MoveOrganisationController.java b/src/main/java/org/olat/user/ui/organisation/MoveOrganisationController.java new file mode 100644 index 0000000000000000000000000000000000000000..0221a96877e3e7143c98a0a715cc400cfa08c40d --- /dev/null +++ b/src/main/java/org/olat/user/ui/organisation/MoveOrganisationController.java @@ -0,0 +1,238 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.user.ui.organisation; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +import org.olat.basesecurity.OrganisationService; +import org.olat.basesecurity.OrganisationType; +import org.olat.basesecurity.OrganisationTypeToType; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.tree.GenericTreeNode; +import org.olat.core.gui.components.tree.MenuTreeItem; +import org.olat.core.gui.components.tree.TreeNode; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.id.Organisation; +import org.olat.core.util.nodes.INode; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 8 déc. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class MoveOrganisationController extends FormBasicController { + + private MenuTreeItem organisationTreeEl; + private OrganisationTreeModel organisationModel; + + private Set<OrganisationType> allowedTypes; + private List<Organisation> organisationsToMove; + private Set<TreeNode> targetableNodes = new HashSet<>(); + + @Autowired + private OrganisationService organisationService; + + public MoveOrganisationController(UserRequest ureq, WindowControl wControl, List<Organisation> organisationsToMove) { + super(ureq, wControl, "move_organisation"); + this.organisationsToMove = new ArrayList<>(organisationsToMove); + allowedTypes = getAllowedTypes(); + + initForm(ureq); + loadModel(); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + organisationModel = new OrganisationTreeModel(); + organisationTreeEl = uifactory.addTreeMultiselect("organisations", null, formLayout, organisationModel, this); + organisationTreeEl.setMultiSelect(false); + organisationTreeEl.setRootVisible(false); + + uifactory.addFormCancelButton("cancel", formLayout, ureq, getWindowControl()); + uifactory.addFormSubmitButton("move.organisation", formLayout); + } + + private void loadModel() { + List<Organisation> allOrganisations = organisationService.getOrganisations(); + organisationModel.loadTreeModel(allOrganisations); + + //remove children of the organizations to move + for(Organisation organisationMove:organisationsToMove) { + TreeNode nodeToMove = organisationModel + .getNodeById(OrganisationTreeModel.nodeKey(organisationMove)); + nodeToMove.removeAllChildren(); + } + + // remove the organizations with incompatible types + List<TreeNode> openedNodes = new ArrayList<>(); + filterByAllowedTypes(organisationModel.getRootNode(), openedNodes); + + List<String> nodeIds = openedNodes + .stream().map(TreeNode::getIdent) + .collect(Collectors.toList()); + organisationTreeEl.setOpenNodeIds(nodeIds); + } + + private boolean filterByAllowedTypes(TreeNode node, List<TreeNode> openedNodes) { + ((GenericTreeNode)node).setIconCssClass(null); + + for(int i=node.getChildCount(); i-->0; ) { + boolean ok = filterByAllowedTypes((TreeNode)node.getChildAt(i), openedNodes); + if(!ok) { + node.remove(node.getChildAt(i)); + } + } + + boolean ok = false; + Object uobject = node.getUserObject(); + if(uobject instanceof Organisation) { + Organisation level = (Organisation)uobject; + OrganisationType type = level.getType(); + if(type == null || allowedTypes.contains(type)) { + openedNodes.add(node); + ((GenericTreeNode)node).setIconCssClass("o_icon_node_under o_icon-rotate-180"); + targetableNodes.add(node); + ok = true; + } else if(node.getChildCount() > 0) { + openedNodes.add(node); + ok = true; + } + } else { + targetableNodes.add(node); + openedNodes.add(node); + ok = true; + } + + return ok; + } + + private Set<OrganisationType> getAllowedTypes() { + List<OrganisationType> allTypes = new ArrayList<>(organisationService.getOrganisationTypes()); + Map<OrganisationType, Set<OrganisationType>> subToParentTypes = new HashMap<>(); + for(OrganisationType type:allTypes) { + Set<OrganisationTypeToType> typesToTypes = type.getAllowedSubTypes(); + for(OrganisationTypeToType typeToType:typesToTypes) { + OrganisationType subTyp = typeToType.getAllowedSubOrganisationType(); + subToParentTypes + .computeIfAbsent(subTyp, t -> new HashSet<>()) + .add(type); + } + } + + Set<OrganisationType> analyzedTypes = new HashSet<>(); + for(Organisation organisation:organisationsToMove) { + OrganisationType levelType = organisation.getType(); + if(levelType != null && !analyzedTypes.contains(levelType)) { + analyzedTypes.add(levelType); + + Set<OrganisationType> allowed = subToParentTypes.get(levelType); + if(allowed != null) { + allTypes.retainAll(allowed); + } + } + } + + return new HashSet<>(allTypes); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected boolean validateFormLogic(UserRequest ureq) { + boolean allOk = super.validateFormLogic(ureq); + + organisationTreeEl.clearError(); + if(organisationTreeEl.getSelectedNode() == null) { + organisationTreeEl.setErrorKey("error.select.target.level", null); + allOk &= false; + } else if(isParent()) { + organisationTreeEl.setErrorKey("error.target.no.parent", null); + allOk &= false; + } else if(!targetableNodes.contains(organisationTreeEl.getSelectedNode())) { + organisationTreeEl.setErrorKey("error.target.not.allowed", null); + allOk &= false; + } + + return allOk; + } + + private boolean isParent() { + boolean parent = false; + for(Organisation organisation:organisationsToMove) { + parent |= isParent(organisation); + } + return parent; + } + + private boolean isParent(Organisation organisation) { + TreeNode nodeToMove = organisationModel + .getNodeById(OrganisationTreeModel.nodeKey(organisation)); + TreeNode selectedNode = organisationTreeEl.getSelectedNode(); + if(selectedNode == organisationModel.getRootNode()) { + return false;//can move to root + } + for(INode node=nodeToMove; node != null; node = node.getParent()) { + if(selectedNode == node) { + return true; + } + } + return false; + } + + @Override + protected void formCancelled(UserRequest ureq) { + fireEvent(ureq, Event.CANCELLED_EVENT); + } + + @Override + protected void formOK(UserRequest ureq) { + if(isParent()) { + showWarning("error.target.no.parent"); + } else { + TreeNode selectedNode = organisationTreeEl.getSelectedNode(); + if(selectedNode == organisationModel.getRootNode()) { + for(Organisation organisationToMove:organisationsToMove) { + organisationService.moveOrganisation(organisationToMove, null); + } + } else { + Organisation newParent = (Organisation)selectedNode.getUserObject(); + for(Organisation organisationToMove:organisationsToMove) { + organisationService.moveOrganisation(organisationToMove, newParent); + } + } + } + fireEvent(ureq, Event.DONE_EVENT); + } +} diff --git a/src/main/java/org/olat/user/ui/organisation/OrganisationAdminConfigrationController.java b/src/main/java/org/olat/user/ui/organisation/OrganisationAdminConfigrationController.java index cacea64399b40ad5d67dac68fc7a555fba483611..0cc6df86a2065280dcdd06c2e45d398e1f2159c6 100644 --- a/src/main/java/org/olat/user/ui/organisation/OrganisationAdminConfigrationController.java +++ b/src/main/java/org/olat/user/ui/organisation/OrganisationAdminConfigrationController.java @@ -23,12 +23,14 @@ import org.olat.basesecurity.OrganisationModule; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.FormLink; import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement; import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormEvent; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; import org.springframework.beans.factory.annotation.Autowired; /** @@ -42,6 +44,10 @@ public class OrganisationAdminConfigrationController extends FormBasicController private static final String[] onKeys = new String[] { "on" }; private MultipleSelectionElement enableEl; + private FormLink migrationLink; + + private CloseableModalController cmc; + private InstitutionMigratorController migratorCtrl; @Autowired private OrganisationModule organisationModule; @@ -50,6 +56,7 @@ public class OrganisationAdminConfigrationController extends FormBasicController super(ureq, wControl); initForm(ureq); + updateVisibility(); } @Override @@ -67,6 +74,31 @@ public class OrganisationAdminConfigrationController extends FormBasicController if(organisationModule.isEnabled()) { enableEl.select(onKeys[0], true); } + + migrationLink = uifactory.addFormLink("institution.to.org", formLayout); + migrationLink.setLabel("institution.to.org.label", null); + } + + private void updateVisibility() { + migrationLink.setVisible(enableEl.isAtLeastSelected(1)); + } + + @Override + protected void event(UserRequest ureq, Controller source, Event event) { + if(migratorCtrl == source) { + cmc.deactivate(); + cleanUp(); + } else if(cmc == source) { + cleanUp(); + } + super.event(ureq, source, event); + } + + private void cleanUp() { + removeAsListenerAndDispose(migratorCtrl); + removeAsListenerAndDispose(cmc); + migratorCtrl = null; + cmc = null; } @Override @@ -78,8 +110,23 @@ public class OrganisationAdminConfigrationController extends FormBasicController protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { if(enableEl == source) { organisationModule.setEnabled(enableEl.isAtLeastSelected(1)); + updateVisibility(); fireEvent(ureq, Event.CHANGED_EVENT); + } else if(migrationLink == source) { + doConfirmMigration(ureq); } super.formInnerEvent(ureq, source, event); } + + private void doConfirmMigration(UserRequest ureq) { + if(migratorCtrl != null) return; + + migratorCtrl = new InstitutionMigratorController(ureq, getWindowControl()); + listenTo(migratorCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", migratorCtrl.getInitialComponent(), + true, translate("add.root.type")); + listenTo(cmc); + cmc.activate(); + } } diff --git a/src/main/java/org/olat/user/ui/organisation/OrganisationAdminController.java b/src/main/java/org/olat/user/ui/organisation/OrganisationAdminController.java index c712a30a6ca5963630621d095c75588437edd656..6a505555e1de0fccf81d0e605f3184c4e89fc0cd 100644 --- a/src/main/java/org/olat/user/ui/organisation/OrganisationAdminController.java +++ b/src/main/java/org/olat/user/ui/organisation/OrganisationAdminController.java @@ -50,14 +50,17 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class OrganisationAdminController extends BasicController implements Activateable2, BreadcrumbPanelAware { - private Link organisationListLink; private final Link configurationLink; + private final Link organisationListLink; + private final Link organisationTypeListLink; + private BreadcrumbPanel stackPanel; private final VelocityContainer mainVC; private final SegmentViewComponent segmentView; - private OrganisationsStructureAdminController organisationListCtrl; + private OrganisationTypesAdminController typeListCtrl; private OrganisationAdminConfigrationController configurationCtrl; + private OrganisationsStructureAdminController organisationListCtrl; @Autowired private OrganisationModule organisationModule; @@ -71,10 +74,12 @@ public class OrganisationAdminController extends BasicController implements Acti segmentView.setDontShowSingleSegment(true); configurationLink = LinkFactory.createLink("organisation.configuration", mainVC, this); segmentView.addSegment(configurationLink, true); + organisationListLink = LinkFactory.createLink("organisation.structure", mainVC, this); + organisationTypeListLink = LinkFactory.createLink("organisation.types", mainVC, this); doOpenConfiguration(ureq); if(organisationModule.isEnabled()) { - organisationListLink = LinkFactory.createLink("organisation.structure", mainVC, this); segmentView.addSegment(organisationListLink, false); + segmentView.addSegment(organisationTypeListLink, false); } mainVC.put("segmentCmp", configurationCtrl.getInitialComponent()); @@ -84,6 +89,7 @@ public class OrganisationAdminController extends BasicController implements Acti @Override public void setBreadcrumbPanel(BreadcrumbPanel stackPanel) { this.stackPanel = stackPanel; + stackPanel.changeDisplayname(translate("admin.menu.title")); if(organisationListCtrl != null) { organisationListCtrl.setBreadcrumbPanel(stackPanel); } @@ -104,8 +110,10 @@ public class OrganisationAdminController extends BasicController implements Acti if(configurationCtrl == source) { if(event == Event.CHANGED_EVENT) { segmentView.removeSegment(organisationListLink); + segmentView.removeSegment(organisationTypeListLink); if(organisationModule.isEnabled()) { segmentView.addSegment(organisationListLink, false); + segmentView.addSegment(organisationTypeListLink, false); } } } @@ -123,6 +131,8 @@ public class OrganisationAdminController extends BasicController implements Acti doOpenConfiguration(ureq); } else if (clickedLink == organisationListLink){ doOpenOrganisationList(ureq); + } else if (clickedLink == organisationTypeListLink) { + doOpenOrganisationTypeList(ureq); } } } @@ -148,4 +158,14 @@ public class OrganisationAdminController extends BasicController implements Acti addToHistory(ureq, organisationListCtrl); mainVC.put("segmentCmp", organisationListCtrl.getInitialComponent()); } + + private void doOpenOrganisationTypeList(UserRequest ureq) { + if(typeListCtrl == null) { + WindowControl bwControl = addToHistory(ureq, OresHelper.createOLATResourceableType("OrganisationTypes"), null); + typeListCtrl = new OrganisationTypesAdminController(ureq, bwControl); + listenTo(typeListCtrl); + } + addToHistory(ureq, typeListCtrl); + mainVC.put("segmentCmp", typeListCtrl.getInitialComponent()); + } } diff --git a/src/main/java/org/olat/user/ui/organisation/OrganisationRow.java b/src/main/java/org/olat/user/ui/organisation/OrganisationRow.java index 32070e27b21626afdcaab071af2116992842d739..3adba06ee5c4398bc363390b1ba60e9116f33feb 100644 --- a/src/main/java/org/olat/user/ui/organisation/OrganisationRow.java +++ b/src/main/java/org/olat/user/ui/organisation/OrganisationRow.java @@ -19,6 +19,7 @@ */ package org.olat.user.ui.organisation; +import org.olat.basesecurity.OrganisationType; import org.olat.core.gui.components.form.flexible.elements.FormLink; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTreeTableNode; import org.olat.core.id.Organisation; @@ -33,6 +34,7 @@ import org.olat.core.id.OrganisationRef; public class OrganisationRow implements OrganisationRef, FlexiTreeTableNode { private final Organisation organisation; + private final OrganisationType type; private final Long parentOrganisationKey; private boolean hasChildren; @@ -41,6 +43,7 @@ public class OrganisationRow implements OrganisationRef, FlexiTreeTableNode { public OrganisationRow(Organisation organisation, FormLink toolsLink) { this.organisation = organisation; + type = organisation.getType(); this.toolsLink = toolsLink; parentOrganisationKey = organisation.getParent() == null ? null : organisation.getParent().getKey(); } @@ -78,6 +81,14 @@ public class OrganisationRow implements OrganisationRef, FlexiTreeTableNode { public String getIdentifier() { return organisation.getIdentifier(); } + + public Long getTypeKey() { + return type == null ? null : type.getKey(); + } + + public String getTypeIdentifier() { + return type == null ? null : type.getIdentifier(); + } public FormLink getTools() { return toolsLink; diff --git a/src/main/java/org/olat/user/ui/organisation/OrganisationTreeDataModel.java b/src/main/java/org/olat/user/ui/organisation/OrganisationTreeDataModel.java index c443d565f14fa055f0c290a5ee83af85657a2ebb..094a81561657b519b152753fc083d8dfaf8d4b00 100644 --- a/src/main/java/org/olat/user/ui/organisation/OrganisationTreeDataModel.java +++ b/src/main/java/org/olat/user/ui/organisation/OrganisationTreeDataModel.java @@ -57,6 +57,7 @@ public class OrganisationTreeDataModel extends DefaultFlexiTreeTableDataModel<Or case key: return organisation.getKey(); case displayName: return organisation.getDisplayName(); case identifier: return organisation.getIdentifier(); + case typeIdentifier: return organisation.getTypeIdentifier(); case tools: return organisation.getTools(); default: return "ERROR"; } @@ -71,6 +72,7 @@ public class OrganisationTreeDataModel extends DefaultFlexiTreeTableDataModel<Or key("table.header.key"), displayName("table.header.displayName"), identifier("table.header.identifier"), + typeIdentifier("table.header.type.identifier"), tools("table.header.tools"); private final String i18nKey; diff --git a/src/main/java/org/olat/user/ui/organisation/OrganisationTreeModel.java b/src/main/java/org/olat/user/ui/organisation/OrganisationTreeModel.java new file mode 100644 index 0000000000000000000000000000000000000000..f9afd06d0c636d591ac6b881fb22ef1eef08afb9 --- /dev/null +++ b/src/main/java/org/olat/user/ui/organisation/OrganisationTreeModel.java @@ -0,0 +1,91 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.user.ui.organisation; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.olat.core.gui.components.tree.GenericTreeModel; +import org.olat.core.gui.components.tree.GenericTreeNode; +import org.olat.core.id.Organisation; +import org.olat.core.id.OrganisationRef; + +/** + * + * Initial date: 8 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class OrganisationTreeModel extends GenericTreeModel { + + private static final long serialVersionUID = 2911319509933144413L; + + public static final String LEVEL_PREFIX = "org-lev-"; + + public OrganisationTreeModel() { + GenericTreeNode root = new GenericTreeNode(); + root.setTitle("ROOT"); + setRootNode(root); + } + + public void loadTreeModel(List<Organisation> organisations) { + Map<Long,GenericTreeNode> fieldKeyToNode = new HashMap<>(); + for(Organisation organisation:organisations) { + Long key = organisation.getKey(); + GenericTreeNode node = fieldKeyToNode.computeIfAbsent(key, k -> { + GenericTreeNode newNode = new GenericTreeNode(nodeKey(organisation)); + newNode.setTitle(organisation.getDisplayName()); + newNode.setIconCssClass("o_icon_organisation"); + newNode.setUserObject(organisation); + return newNode; + }); + + Organisation parentLevel = organisation.getParent(); + if(parentLevel == null) { + //this is a root + getRootNode().addChild(node); + } else { + Long parentKey = parentLevel.getKey(); + GenericTreeNode parentNode = fieldKeyToNode.computeIfAbsent(parentKey, k -> { + GenericTreeNode newNode = new GenericTreeNode(nodeKey(parentLevel)); + newNode.setTitle(parentLevel.getDisplayName()); + newNode.setIconCssClass("o_icon_organisation"); + newNode.setUserObject(parentLevel); + return newNode; + }); + + if(parentNode == null) { + fieldKeyToNode.put(parentKey, parentNode); + } else { + parentNode.addChild(node); + } + } + } + } + + public static final String nodeKey(OrganisationRef taxonomyLevel) { + return LEVEL_PREFIX + taxonomyLevel.getKey(); + } + + + + +} diff --git a/src/main/java/org/olat/user/ui/organisation/OrganisationTypeRow.java b/src/main/java/org/olat/user/ui/organisation/OrganisationTypeRow.java new file mode 100644 index 0000000000000000000000000000000000000000..d946b732d44c3edb88c655078e62a39923c98814 --- /dev/null +++ b/src/main/java/org/olat/user/ui/organisation/OrganisationTypeRow.java @@ -0,0 +1,66 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.user.ui.organisation; + +import org.olat.basesecurity.OrganisationType; +import org.olat.basesecurity.OrganisationTypeRef; +import org.olat.core.gui.components.form.flexible.elements.FormLink; + +/** + * + * Initial date: 4 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class OrganisationTypeRow implements OrganisationTypeRef { + + private final OrganisationType type; + private FormLink toolsLink; + + public OrganisationTypeRow(OrganisationType type) { + this.type = type; + } + + @Override + public Long getKey() { + return type.getKey(); + } + + public String getIdentifier() { + return type.getIdentifier(); + } + + public String getDisplayName() { + return type.getDisplayName(); + } + + public OrganisationType getType() { + return type; + } + + public FormLink getToolsLink() { + return toolsLink; + } + + public void setToolsLink(FormLink toolsLink) { + this.toolsLink = toolsLink; + } + +} diff --git a/src/main/java/org/olat/user/ui/organisation/OrganisationTypesAdminController.java b/src/main/java/org/olat/user/ui/organisation/OrganisationTypesAdminController.java new file mode 100644 index 0000000000000000000000000000000000000000..4df29d86b4c29c24e410d49910a3c1bc6f68de8f --- /dev/null +++ b/src/main/java/org/olat/user/ui/organisation/OrganisationTypesAdminController.java @@ -0,0 +1,184 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.user.ui.organisation; + +import java.util.ArrayList; +import java.util.List; + +import org.olat.basesecurity.OrganisationService; +import org.olat.basesecurity.OrganisationType; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.form.flexible.FormItem; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; +import org.olat.core.gui.components.form.flexible.elements.FormLink; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.form.flexible.impl.FormEvent; +import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory; +import org.olat.core.gui.components.form.flexible.impl.elements.table.SelectionEvent; +import org.olat.core.gui.components.form.flexible.impl.elements.table.StaticFlexiCellRenderer; +import org.olat.core.gui.components.link.Link; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; +import org.olat.core.gui.control.generic.dtabs.Activateable2; +import org.olat.core.id.context.ContextEntry; +import org.olat.core.id.context.StateEntry; +import org.olat.user.ui.organisation.OrganisationTypesDataModel.TypeCols; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 4 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class OrganisationTypesAdminController extends FormBasicController implements Activateable2 { + + private FormLink addRootTypeButton; + private FlexiTableElement tableEl; + private OrganisationTypesDataModel model; + + private CloseableModalController cmc; + private EditOrganisationTypeController editTypeCtrl; + private EditOrganisationTypeController rootTypeCtrl; + + @Autowired + private OrganisationService organisationService; + + public OrganisationTypesAdminController(UserRequest ureq, WindowControl wControl) { + super(ureq, wControl, "organisation_types"); + + initForm(ureq); + loadModel(); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + + addRootTypeButton = uifactory.addFormLink("add.root.type", formLayout, Link.BUTTON); + + FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, TypeCols.key)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(TypeCols.identifier)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(TypeCols.displayName)); + DefaultFlexiColumnModel editColumn = new DefaultFlexiColumnModel("table.header.edit", -1, "edit", + new StaticFlexiCellRenderer("", "edit", "o_icon o_icon-lg o_icon_edit", translate("edit"))); + editColumn.setExportable(false); + columnsModel.addFlexiColumnModel(editColumn); + + model = new OrganisationTypesDataModel(columnsModel); + tableEl = uifactory.addTableElement(getWindowControl(), "types", model, 25, false, getTranslator(), formLayout); + tableEl.setEmtpyTableMessageKey("table.organisation.type.empty"); + tableEl.setAndLoadPersistedPreferences(ureq, "org-types"); + } + + private void loadModel() { + List<OrganisationType> types = organisationService.getOrganisationTypes(); + List<OrganisationTypeRow> rows = new ArrayList<>(types.size()); + for(OrganisationType type:types) { + OrganisationTypeRow row = new OrganisationTypeRow(type); + rows.add(row); + } + model.setObjects(rows); + tableEl.reset(true, true, true); + } + + @Override + protected void doDispose() { + // + } + + @Override + public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) { + // + } + + @Override + protected void event(UserRequest ureq, Controller source, Event event) { + if(rootTypeCtrl == source || editTypeCtrl == source) { + if(event == Event.DONE_EVENT) { + loadModel(); + } + cmc.deactivate(); + cleanUp(); + } else if(cmc == source) { + cleanUp(); + } + super.event(ureq, source, event); + } + + private void cleanUp() { + removeAsListenerAndDispose(rootTypeCtrl); + removeAsListenerAndDispose(editTypeCtrl); + removeAsListenerAndDispose(cmc); + editTypeCtrl = null; + rootTypeCtrl = null; + cmc = null; + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + @Override + protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { + if(addRootTypeButton == source) { + doAddRootType(ureq); + } else if(tableEl == source) { + if(event instanceof SelectionEvent) { + SelectionEvent se = (SelectionEvent)event; + String cmd = se.getCommand(); + if("edit".equals(cmd)) { + OrganisationTypeRow row = model.getObject(se.getIndex()); + doEditType(ureq, row.getType()); + } + } + } + super.formInnerEvent(ureq, source, event); + } + + private void doAddRootType(UserRequest ureq) { + if(rootTypeCtrl != null) return; + + rootTypeCtrl = new EditOrganisationTypeController(ureq, getWindowControl(), null); + listenTo(rootTypeCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", rootTypeCtrl.getInitialComponent(), true, translate("add.root.type")); + listenTo(cmc); + cmc.activate(); + } + + private void doEditType(UserRequest ureq, OrganisationType type) { + if(editTypeCtrl != null) return; + + OrganisationType reloadedType = organisationService.getOrganisationType(type); + editTypeCtrl = new EditOrganisationTypeController(ureq, getWindowControl(), reloadedType); + listenTo(editTypeCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", editTypeCtrl.getInitialComponent(), true, translate("edit.type")); + listenTo(cmc); + cmc.activate(); + } +} diff --git a/src/main/java/org/olat/user/ui/organisation/OrganisationTypesDataModel.java b/src/main/java/org/olat/user/ui/organisation/OrganisationTypesDataModel.java new file mode 100644 index 0000000000000000000000000000000000000000..ebd34a1db602e3639583979903a1dbfd8c870b88 --- /dev/null +++ b/src/main/java/org/olat/user/ui/organisation/OrganisationTypesDataModel.java @@ -0,0 +1,95 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.user.ui.organisation; + +import org.olat.core.commons.persistence.SortKey; +import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiTableDataModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiSortableColumnDef; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; +import org.olat.core.gui.components.form.flexible.impl.elements.table.SortableFlexiTableDataModel; + +/** + * + * Initial date: 4 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class OrganisationTypesDataModel extends DefaultFlexiTableDataModel<OrganisationTypeRow> +implements SortableFlexiTableDataModel<OrganisationTypeRow> { + + public OrganisationTypesDataModel(FlexiTableColumnModel columnModel) { + super(columnModel); + } + + @Override + public void sort(SortKey sortKey) { + // + } + + @Override + public Object getValueAt(int row, int col) { + OrganisationTypeRow type = getObject(row); + return getValueAt(type, col); + } + + @Override + public Object getValueAt(OrganisationTypeRow row, int col) { + switch(TypeCols.values()[col]) { + case key: return row.getKey(); + case identifier: return row.getIdentifier(); + case displayName: return row.getDisplayName(); + case tools: return row.getToolsLink(); + default: return null; + } + } + + @Override + public OrganisationTypesDataModel createCopyWithEmptyList() { + return new OrganisationTypesDataModel(getTableColumnModel()); + } + + public enum TypeCols implements FlexiSortableColumnDef { + key("table.header.key"), + identifier("table.header.type.identifier"), + displayName("table.header.type.displayName"), + tools("table.header.tools"); + + private final String i18nHeaderKey; + + private TypeCols(String i18nHeaderKey) { + this.i18nHeaderKey = i18nHeaderKey; + } + + @Override + public boolean sortable() { + return true; + } + + @Override + public String sortKey() { + return name(); + } + + @Override + public String i18nHeaderKey() { + return i18nHeaderKey; + } + } +} diff --git a/src/main/java/org/olat/user/ui/organisation/OrganisationUserManagementController.java b/src/main/java/org/olat/user/ui/organisation/OrganisationUserManagementController.java index 3693a98f18b7a2e4f609ad008d5f2ea12cb5ca3f..6505820a4cd14aa8007b90f408af5ee1e7536b3b 100644 --- a/src/main/java/org/olat/user/ui/organisation/OrganisationUserManagementController.java +++ b/src/main/java/org/olat/user/ui/organisation/OrganisationUserManagementController.java @@ -57,6 +57,7 @@ import org.olat.core.id.Organisation; import org.olat.user.UserManager; import org.olat.user.propertyhandlers.UserPropertyHandler; import org.olat.user.ui.organisation.OrganisationUserManagementTableModel.MemberCols; +import org.olat.user.ui.organisation.component.InheritanceModeFlexiCellRenderer; import org.olat.user.ui.organisation.component.RoleFlexiCellRenderer; import org.olat.user.ui.organisation.event.RoleEvent; import org.springframework.beans.factory.annotation.Autowired; @@ -135,6 +136,7 @@ public class OrganisationUserManagementController extends FormBasicController { } columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(MemberCols.role, new RoleFlexiCellRenderer(getTranslator()))); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(MemberCols.inheritance, new InheritanceModeFlexiCellRenderer(getTranslator()))); tableModel = new OrganisationUserManagementTableModel(columnsModel); tableEl = uifactory.addTableElement(getWindowControl(), "table", tableModel, 20, false, getTranslator(), formLayout); @@ -275,5 +277,4 @@ public class OrganisationUserManagementController extends FormBasicController { } loadModel(true); } - } diff --git a/src/main/java/org/olat/user/ui/organisation/OrganisationUserManagementTableModel.java b/src/main/java/org/olat/user/ui/organisation/OrganisationUserManagementTableModel.java index 7ae816ab2cef0694776de09368bdee3555b0fd7f..a9a769754c19ce08c84aae6e2daa440d6706d3f1 100644 --- a/src/main/java/org/olat/user/ui/organisation/OrganisationUserManagementTableModel.java +++ b/src/main/java/org/olat/user/ui/organisation/OrganisationUserManagementTableModel.java @@ -55,6 +55,7 @@ implements SortableFlexiTableDataModel<OrganisationUserRow> { switch(MemberCols.values()[col]) { case username: return row.getIdentityName(); case role: return row.getRole(); + case inheritance: return row.getInheritanceMode(); default : return "ERROR"; } } @@ -70,7 +71,8 @@ implements SortableFlexiTableDataModel<OrganisationUserRow> { public enum MemberCols implements FlexiSortableColumnDef { username("table.header.username"), - role("table.header.role"); + role("table.header.role"), + inheritance("table.header.inheritance.mode"); private final String i18nKey; diff --git a/src/main/java/org/olat/user/ui/organisation/OrganisationUserRow.java b/src/main/java/org/olat/user/ui/organisation/OrganisationUserRow.java index 4347bf01684c324a636c6ad1827080d4b01be61d..358072ee1df23395978223c5eff5d6db3ae4da7d 100644 --- a/src/main/java/org/olat/user/ui/organisation/OrganisationUserRow.java +++ b/src/main/java/org/olat/user/ui/organisation/OrganisationUserRow.java @@ -22,6 +22,7 @@ package org.olat.user.ui.organisation; import java.util.List; import java.util.Locale; +import org.olat.basesecurity.GroupMembershipInheritance; import org.olat.basesecurity.model.OrganisationMember; import org.olat.user.UserPropertiesRow; import org.olat.user.propertyhandlers.UserPropertyHandler; @@ -35,14 +36,20 @@ import org.olat.user.propertyhandlers.UserPropertyHandler; public class OrganisationUserRow extends UserPropertiesRow { private final String role; + private final GroupMembershipInheritance inheritanceMode; public OrganisationUserRow(OrganisationMember member, List<UserPropertyHandler> userPropertyHandlers, Locale locale) { super(member.getIdentity(), userPropertyHandlers, locale); role = member.getRole(); + inheritanceMode = member.getInheritanceMode(); } public String getRole() { return role; } + + public GroupMembershipInheritance getInheritanceMode() { + return inheritanceMode; + } } diff --git a/src/main/java/org/olat/user/ui/organisation/OrganisationsStructureAdminController.java b/src/main/java/org/olat/user/ui/organisation/OrganisationsStructureAdminController.java index b358036347fb177d29973ad03da2c391cc377434..f7a3a6efe371159eed7137881db53ad51c3dab9e 100644 --- a/src/main/java/org/olat/user/ui/organisation/OrganisationsStructureAdminController.java +++ b/src/main/java/org/olat/user/ui/organisation/OrganisationsStructureAdminController.java @@ -75,6 +75,7 @@ public class OrganisationsStructureAdminController extends FormBasicController i private ToolsController toolsCtrl; private CloseableModalController cmc; + private MoveOrganisationController moveCtrl; private EditOrganisationController newOrganisationCtrl; private CloseableCalloutWindowController toolsCalloutCtrl; private OrganisationOverviewController organisationOverviewCtrl; @@ -109,6 +110,7 @@ public class OrganisationsStructureAdminController extends FormBasicController i treeNodeRenderer.setFlatBySearchAndFilter(true); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(OrganisationCols.displayName, treeNodeRenderer)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(OrganisationCols.identifier)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(OrganisationCols.typeIdentifier)); DefaultFlexiColumnModel selectColumn = new DefaultFlexiColumnModel("select", translate("select"), "select"); selectColumn.setExportable(false); selectColumn.setAlwaysVisible(true); @@ -199,6 +201,12 @@ public class OrganisationsStructureAdminController extends FormBasicController i } cmc.deactivate(); cleanUp(); + } else if(moveCtrl == source) { + if(event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) { + loadModel(true); + } + cmc.deactivate(); + cleanUp(); } else if(cmc == source) { cleanUp(); } @@ -207,8 +215,10 @@ public class OrganisationsStructureAdminController extends FormBasicController i private void cleanUp() { removeAsListenerAndDispose(newOrganisationCtrl); + removeAsListenerAndDispose(moveCtrl); removeAsListenerAndDispose(cmc); newOrganisationCtrl = null; + moveCtrl = null; cmc = null; } @@ -282,7 +292,14 @@ public class OrganisationsStructureAdminController extends FormBasicController i } private void doMove(UserRequest ureq, Organisation organisation) { - getWindowControl().setWarning("Not implement"); //TODO + if(moveCtrl != null) return; + + moveCtrl = new MoveOrganisationController(ureq, getWindowControl(), Collections.singletonList(organisation)); + listenTo(moveCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", moveCtrl.getInitialComponent(), true, translate("move.organisation")); + listenTo(cmc); + cmc.activate(); } private void doSelectOrganisation(UserRequest ureq, OrganisationRow row) { @@ -300,7 +317,6 @@ public class OrganisationsStructureAdminController extends FormBasicController i private void doConfirmDelete(UserRequest ureq, OrganisationRow row) { getWindowControl().setWarning("Not implement"); //TODO } - private class ToolsController extends BasicController { @@ -325,7 +341,7 @@ public class OrganisationsStructureAdminController extends FormBasicController i //edit editLink = addLink("edit", "o_icon_edit", links); if(!OrganisationManagedFlag.isManaged(organisation, OrganisationManagedFlag.move)) { - moveLink = addLink("move.organisation.level", "o_icon_move", links); + moveLink = addLink("move.organisation", "o_icon_move", links); } newLink = addLink("add.organisation.under", "o_icon_levels", links); if(!OrganisationManagedFlag.isManaged(organisation, OrganisationManagedFlag.delete)) { diff --git a/src/main/java/org/olat/user/ui/organisation/_content/migrator.html b/src/main/java/org/olat/user/ui/organisation/_content/migrator.html new file mode 100644 index 0000000000000000000000000000000000000000..149c7ec789f4f9bfc9933b1f98c86cb4b99fa3f4 --- /dev/null +++ b/src/main/java/org/olat/user/ui/organisation/_content/migrator.html @@ -0,0 +1,6 @@ +<div class="o_info">$r.translate("institution.to.org.explain")</div> + +<div class="o_button_group"> + $r.render("cancel") + $r.render("migrate") +</div> \ No newline at end of file diff --git a/src/main/java/org/olat/user/ui/organisation/_content/move_organisation.html b/src/main/java/org/olat/user/ui/organisation/_content/move_organisation.html new file mode 100644 index 0000000000000000000000000000000000000000..28630bce0e820d96146f7b2303c8ffce33a61bfc --- /dev/null +++ b/src/main/java/org/olat/user/ui/organisation/_content/move_organisation.html @@ -0,0 +1,8 @@ +$r.render("organisations") +#if($f.hasError("organisations")) +<div class="">$r.render("organisations_ERROR")</div> +#end +<div class="o_button_group"> + $r.render("cancel") + $r.render("move.organisation") +</div> \ No newline at end of file diff --git a/src/main/java/org/olat/user/ui/organisation/_content/organisation_types.html b/src/main/java/org/olat/user/ui/organisation/_content/organisation_types.html new file mode 100644 index 0000000000000000000000000000000000000000..e419c93051cc1b0a0a5474271fb32e6219a5aa80 --- /dev/null +++ b/src/main/java/org/olat/user/ui/organisation/_content/organisation_types.html @@ -0,0 +1,4 @@ +<div class="o_button_group o_button_group_right"> + $r.render("add.root.type") +</div> +$r.render("types") \ No newline at end of file diff --git a/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_de.properties index 6f22cb3f3785e38e656c365b25d7e7648387b7c3..cae64a39b8cf6cfb9ba0a42474af607c74f9462f 100644 --- a/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_de.properties @@ -1,45 +1,63 @@ -#Fri Dec 08 12:29:12 CET 2017 -usermanager=Benutzerverwalter -sysadmin=Systemadministrator -administrator=Administrator -learnresourcemanager=Lernressourcenverwalter -groupmanager=Gruppenverwalter -poolmanager=Poolverwalter -curriculummanager=Curriculumverwalter -author=Author -user=Benutzer -guest=Gast -coach=Betreuer -add.member=Benutzer hinzufügen -add.member.role=Benutzer hinzufügen als "{0}" +#Mon May 07 15:58:01 CEST 2018 +add.member=Benutzer hinzuf\u00FCgen +add.member.role=Benutzer hinzuf\u00FCgen als "{0}" +add.organisation.under=Unterorganisation erstellen +add.root.type=Organisationtyp erstellen admin.description=Organisationen verwalten admin.menu.title=Organisationen admin.menu.title.alt=Organisationen -confirm.remove.title=Mitglieder entfernen +administrator=Administrator +author=Author +coach=Betreuer confirm.remove.text=Wollen Sie wirklich diese Benutzer ihre Mitgliedschaft entfernen? +confirm.remove.title=Mitglieder entfernen create.organisation=Neue Organisation erstellen -organisation.configuration=Organisationen +curriculummanager=Curriculumverwalter +edit.type=Organisationtyp editieren +groupmanager=Gruppenverwalter +guest=Gast +institution.to.org=Ressourceverwaltung mit Institutionname zu Organisationen migrieren +institution.to.org.explain=Erkl\u00E4rung +institution.to.org.label=Migration +learnresourcemanager=Lernressourcenverwalter +migrate=Migrieren +move.organisation=Organisation schieben organisation.admin.enabled=Organisationen einschalten -organisation.structure=Organisationenstruktur -organisation.key=ID +organisation.configuration=Organisationen +organisation.description=Beschreibung +organisation.displayName=Name organisation.external.id=Externe ID organisation.identifier=Bezeichnung -organisation.displayName=Name -organisation.description=Beschreibung +organisation.key=ID organisation.metadata=Metadata +organisation.structure=Organisationenstruktur +organisation.type=Organisationtyp +organisation.types=Organisationentypen organisation.user.management=Benutzerverwaltung +poolmanager=Poolverwalter remove.memberships=Entfernen -table.header.key=ID +sysadmin=Systemadministrator table.header.displayName=Name +table.header.edit=Editieren table.header.identifier=Org. ID +table.header.inheritance.mode=Geerbt +table.header.key=ID table.header.role=Rolle table.header.tools=<i class\="o_icon o_icon-lg o_icon_actions"> </i> +table.header.type.displayName=Bezeichnung +table.header.type.identifier=Name table.header.username=Benutzername table.organisation.empty=Leer -move.organisation.level=Organisation schieben -add.organisation.under=Unterorganisation erstellen -warning.atleastone.member=Sie müssen mindestens ein Benutzer wählen. -warning.organisation.deleted=Die Organisation wurde seit kurzem gelöscht. - - - +table.organisation.type.empty=Leer +table.tooltip.inheritance.root=Rolle auch auf untere Organisationen +table.tooltip.inheritance.none=Rolle auf diese Organisation +table.tooltip.inheritance.inherited=Rolle gererbt von einer Organisation oben +type.allowed.sub.types=Sub types +type.cssClass=CSS Class +type.description=Beschreibung +type.displayname=Name +type.identifier=Bezeichnung +user=Benutzer +usermanager=Benutzerverwalter +warning.atleastone.member=Sie m\u00FCssen mindestens ein Benutzer w\u00E4hlen. +warning.organisation.deleted=Die Organisation wurde seit kurzem gel\u00F6scht. diff --git a/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_en.properties index 0b6ed3433fd4b6bfe62762354816d0260da82373..6bbb8cf4a7fbf9ca4af2d0547fcc86ad4cc230ad 100644 --- a/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_en.properties @@ -1,27 +1,63 @@ -#Tue Feb 06 08:32:56 CET 2018 -add.role.usermanager=$\:add.user.manager -add.user.manager=Add user manager +#Fri May 11 15:40:18 CEST 2018 +add.member=Add user +add.member.role=Add user as "{0}" +add.organisation.under=Add new organisation under this one +add.root.type=Create organisation type admin.description=Manage your organisations admin.menu.title=Organisations admin.menu.title.alt=Organisations +administrator=Administrator +author=Author coach=Coach +confirm.remove.text=Do you really want to remove the memberships of this user? +confirm.remove.title=Remove membership create.organisation=Create new organisation -organisation.configuration=Organisations +curriculummanager=Curriculum manager +edit.type=Edit organisation type +groupmanager=Group manager +guest=Guest +institution.to.org=Migrate learn resource management by institution name to organisation +institution.to.org.explain=Explanation +institution.to.org.label=Migration +learnresourcemanager=Learn resource manager +migrate=Migrate +move.organisation=Move organisation organisation.admin.enabled=Enable organisations -organisation.structure=Organisations structures -organisation.key=ID +organisation.configuration=Organisations +organisation.description=Beschreibung +organisation.displayName=Name organisation.external.id=External ID organisation.identifier=Identifier -organisation.displayName=Name -organisation.description=Beschreibung +organisation.key=ID +organisation.metadata=Metadata +organisation.structure=Organisations structures +organisation.type=Organisation type +organisation.types=Organisations types +organisation.user.management=User management +poolmanager=Question bank manager remove.memberships=Remove -table.header.key=ID +sysadmin=System administrator table.header.displayName=Name +table.header.edit=Edit table.header.identifier=Org. ID +table.header.inheritance.mode=Inherited +table.header.key=ID table.header.role=Role table.header.tools=<i class\="o_icon o_icon-lg o_icon_actions"> </i> +table.header.type.displayName=Identifier +table.header.type.identifier=Organisation type table.header.username=Username -table.organisation.empty=Leer -move.organisation.level=Move organisation +table.organisation.empty=Empty +table.organisation.type.empty=Empty +table.tooltip.inheritance.inherited=Roles inherited from the organisations above +table.tooltip.inheritance.none=Roles of this organisation +table.tooltip.inheritance.root=Role propagated on the organisation under this one +type.allowed.sub.types=Sub types +type.cssClass=CSS class +type.description=Description +type.displayname=Name +type.identifier=Identifier +user=User +usermanager=User manager warning.atleastone.member=You need to select at least one user. -add.organisation.under=Add new organisation under this one +warning.organisation.deleted=The organisation was deleted. diff --git a/src/main/java/org/olat/user/ui/organisation/component/InheritanceModeFlexiCellRenderer.java b/src/main/java/org/olat/user/ui/organisation/component/InheritanceModeFlexiCellRenderer.java new file mode 100644 index 0000000000000000000000000000000000000000..da09f284b9584e31fb2567fb8508b57b5e3b30a6 --- /dev/null +++ b/src/main/java/org/olat/user/ui/organisation/component/InheritanceModeFlexiCellRenderer.java @@ -0,0 +1,59 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.user.ui.organisation.component; + +import org.olat.basesecurity.GroupMembershipInheritance; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiCellRenderer; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableComponent; +import org.olat.core.gui.render.Renderer; +import org.olat.core.gui.render.StringOutput; +import org.olat.core.gui.render.URLBuilder; +import org.olat.core.gui.translator.Translator; + +/** + * + * Initial date: 8 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class InheritanceModeFlexiCellRenderer implements FlexiCellRenderer { + + private final Translator translator; + + public InheritanceModeFlexiCellRenderer(Translator translator) { + this.translator = translator; + } + + @Override + public void render(Renderer renderer, StringOutput target, Object cellValue, int row, FlexiTableComponent source, + URLBuilder ubu, Translator t) { + if(cellValue == GroupMembershipInheritance.root) { + render(target, "o_icon_inheritance_root", translator.translate("table.tooltip.inheritance.root")); + } else if(cellValue == GroupMembershipInheritance.inherited) { + render(target, "o_icon_inheritance_inherited", translator.translate("table.tooltip.inheritance.inherited")); + } else if(cellValue == GroupMembershipInheritance.none) { + render(target, "o_icon_inheritance_none", translator.translate("table.tooltip.inheritance.none")); + } + } + + private void render(StringOutput target, String icon, String tooltip) { + target.append("<i title='").append(tooltip).append("' class='o_icon ").append(icon).append("'> </i>"); + } +} diff --git a/src/main/resources/META-INF/persistence.xml b/src/main/resources/META-INF/persistence.xml index 6334b4de02a544bf51f5046ca3f3175ac464653c..da33e6673055b759b5c0999cb61c0834ef172e70 100644 --- a/src/main/resources/META-INF/persistence.xml +++ b/src/main/resources/META-INF/persistence.xml @@ -161,6 +161,7 @@ <class>org.olat.modules.curriculum.model.CurriculumElementImpl</class> <class>org.olat.modules.curriculum.model.CurriculumElementTypeImpl</class> <class>org.olat.modules.curriculum.model.CurriculumElementTypeToTypeImpl</class> + <class>org.olat.modules.curriculum.model.CurriculumRepositoryEntryRelationImpl</class> <class>org.olat.modules.fo.model.ForumImpl</class> <class>org.olat.modules.fo.model.MessageImpl</class> <class>org.olat.modules.fo.model.MessageRefImpl</class> diff --git a/src/main/resources/database/mysql/alter_12_4_x_to_13_0_0.sql b/src/main/resources/database/mysql/alter_12_4_x_to_13_0_0.sql index b7df40b7ddb14ae08e5bc2ddbca7e7acf9263db7..a62a2a3da20244ce1b92cd669690a99400f0e0f3 100644 --- a/src/main/resources/database/mysql/alter_12_4_x_to_13_0_0.sql +++ b/src/main/resources/database/mysql/alter_12_4_x_to_13_0_0.sql @@ -114,10 +114,12 @@ create table o_cur_curriculum_element ( c_begin datetime, c_end datetime, c_external_id varchar(64), + c_m_path_keys varchar(255), c_managed_flags varchar(255), fk_group bigint not null, fk_parent bigint, fk_curriculum bigint not null, + fk_type bigint, primary key (id) ); alter table o_cur_curriculum_element ENGINE = InnoDB; @@ -125,6 +127,7 @@ alter table o_cur_curriculum_element ENGINE = InnoDB; alter table o_cur_curriculum_element add constraint cur_el_to_group_idx foreign key (fk_group) references o_bs_group (id); alter table o_cur_curriculum_element add constraint cur_el_to_cur_el_idx foreign key (fk_parent) references o_cur_curriculum_element (id); alter table o_cur_curriculum_element add constraint cur_el_to_cur_idx foreign key (fk_curriculum) references o_cur_curriculum (id); +alter table o_cur_curriculum_element add constraint cur_el_type_to_el_type_idx foreign key (fk_type) references o_cur_element_type (id); create table o_cur_element_type_to_type ( id bigint not null auto_increment, @@ -137,6 +140,21 @@ alter table o_cur_element_type_to_type ENGINE = InnoDB; alter table o_cur_element_type_to_type add constraint cur_type_to_type_idx foreign key (fk_type) references o_cur_element_type (id); alter table o_cur_element_type_to_type add constraint cur_type_to_sub_type_idx foreign key (fk_allowed_sub_type) references o_cur_element_type (id); +create table o_re_to_curriculum_element ( + id bigint not null auto_increment, + creationdate datetime not null, + lastmodified datetime not null, + c_master bit default 0, + fk_entry bigint not null, + fk_curriculum_element bigint not null, + primary key (id) +); +alter table o_re_to_curriculum_element ENGINE = InnoDB; + +alter table o_re_to_curriculum_element add constraint rel_cur_el_to_re_idx foreign key (fk_entry) references o_repositoryentry (repositoryentry_id); +alter table o_re_to_curriculum_element add constraint rel_cur_el_to_cur_el_idx foreign key (fk_curriculum_element) references o_cur_curriculum_element (id); + + -- drop policy alter table o_bs_policy drop foreign key FK9A1C5101E2E76DB; @@ -187,3 +205,8 @@ alter table o_eva_form_session add constraint eva_sess_to_part_idx foreign key ( create index idx_eva_resp_report_idx on o_eva_form_response (fk_session, e_responseidentifier, e_no_response); + +-- membership +alter table o_bs_group_member add column g_inheritance_mode varchar(16) default 'none' not null; + + diff --git a/src/main/resources/database/oracle/alter_12_4_x_to_13_0_0.sql b/src/main/resources/database/oracle/alter_12_4_x_to_13_0_0.sql index 71dc21dd606a5108c7a76f9fdd8e3f7ac88669fa..405f0a16261c9e51ce20fd3962bbb11a8a925b33 100644 --- a/src/main/resources/database/oracle/alter_12_4_x_to_13_0_0.sql +++ b/src/main/resources/database/oracle/alter_12_4_x_to_13_0_0.sql @@ -116,10 +116,12 @@ create table o_cur_curriculum_element ( c_begin date, c_end date, c_external_id varchar(64), + c_m_path_keys varchar(255), c_managed_flags varchar(255), fk_group number(20) not null, fk_parent number(20), fk_curriculum number(20) not null, + fk_type number(20), primary key (id) ); @@ -129,6 +131,8 @@ alter table o_cur_curriculum_element add constraint cur_el_to_cur_el_idx foreign create index idx_cur_el_to_cur_el_idx on o_cur_curriculum_element (fk_parent); alter table o_cur_curriculum_element add constraint cur_el_to_cur_idx foreign key (fk_curriculum) references o_cur_curriculum (id); create index idx_cur_el_to_cur_idx on o_cur_curriculum_element (fk_curriculum); +alter table o_cur_curriculum_element add constraint cur_el_type_to_el_type_idx foreign key (fk_type) references o_cur_element_type (id); +create index idx_cur_el_type_to_el_type_idx on o_cur_curriculum_element (fk_type); create table o_cur_element_type_to_type ( id number(20) generated always as identity, @@ -142,6 +146,22 @@ create index idx_cur_type_to_type_idx on o_cur_element_type_to_type (fk_type); alter table o_cur_element_type_to_type add constraint cur_type_to_sub_type_idx foreign key (fk_allowed_sub_type) references o_cur_element_type (id); create index idx_cur_type_to_sub_type_idx on o_cur_element_type_to_type (fk_allowed_sub_type); +create table o_re_to_curriculum_element ( + id number(20) generated always as identity, + creationdate date not null, + lastmodified date not null, + c_master number default 0, + fk_entry number(20) not null, + fk_curriculum_element number(20) not null, + primary key (id) +); + +alter table o_re_to_curriculum_element add constraint rel_cur_el_to_re_idx foreign key (fk_entry) references o_repositoryentry (repositoryentry_id); +create index idx_rel_cur_el_to_re_idx on o_re_to_curriculum_element (fk_entry); +alter table o_re_to_curriculum_element add constraint rel_cur_el_to_cur_el_idx foreign key (fk_curriculum_element) references o_cur_curriculum_element (id); +create index idx_rel_cur_el_to_cur_el_idx on o_re_to_curriculum_element (fk_curriculum_element); + + -- evaluation forms create table o_eva_form_survey ( id number(20) GENERATED ALWAYS AS IDENTITY, @@ -186,3 +206,7 @@ alter table o_eva_form_session add constraint eva_sess_to_part_idx foreign key ( create index idx_eva_resp_report_idx on o_eva_form_response (fk_session, e_responseidentifier, e_no_response); + +-- membership +alter table o_bs_group_member add g_inheritance_mode varchar(16) default 'none' not null; + diff --git a/src/main/resources/database/oracle/setupDatabase.sql b/src/main/resources/database/oracle/setupDatabase.sql index c738febb6e7113289a2e3d05497adffa1919ebae..b7ea6f8180a33a59011d24e1c83a9861f8e9e079 100644 --- a/src/main/resources/database/oracle/setupDatabase.sql +++ b/src/main/resources/database/oracle/setupDatabase.sql @@ -55,6 +55,7 @@ CREATE TABLE o_bs_group_member ( creationdate date not null, lastmodified date not null, g_role varchar2(50 char) not null, + g_inheritance_mode varchar2(16 char) default 'none' not null, fk_group_id number(20) not null, fk_identity_id number(20) not null, PRIMARY KEY (id) @@ -2513,10 +2514,12 @@ create table o_cur_curriculum_element ( c_begin date, c_end date, c_external_id varchar(64), + c_m_path_keys varchar(255), c_managed_flags varchar(255), fk_group number(20) not null, fk_parent number(20), fk_curriculum number(20) not null, + fk_type number(20), primary key (id) ); @@ -2527,6 +2530,16 @@ create table o_cur_element_type_to_type ( primary key (id) ); +create table o_re_to_curriculum_element ( + id number(20) generated always as identity, + creationdate date not null, + lastmodified date not null, + c_master number default 0, + fk_entry number(20) not null, + fk_curriculum_element number(20) not null, + primary key (id) +); + -- user view create view o_bs_identity_short_v as ( select @@ -3621,12 +3634,19 @@ alter table o_cur_curriculum_element add constraint cur_el_to_cur_el_idx foreign create index idx_cur_el_to_cur_el_idx on o_cur_curriculum_element (fk_parent); alter table o_cur_curriculum_element add constraint cur_el_to_cur_idx foreign key (fk_curriculum) references o_cur_curriculum (id); create index idx_cur_el_to_cur_idx on o_cur_curriculum_element (fk_curriculum); +alter table o_cur_curriculum_element add constraint cur_el_type_to_el_type_idx foreign key (fk_type) references o_cur_element_type (id); +create index idx_cur_el_type_to_el_type_idx on o_cur_curriculum_element (fk_type); alter table o_cur_element_type_to_type add constraint cur_type_to_type_idx foreign key (fk_type) references o_cur_element_type (id); create index idx_cur_type_to_type_idx on o_cur_element_type_to_type (fk_type); alter table o_cur_element_type_to_type add constraint cur_type_to_sub_type_idx foreign key (fk_allowed_sub_type) references o_cur_element_type (id); create index idx_cur_type_to_sub_type_idx on o_cur_element_type_to_type (fk_allowed_sub_type); +alter table o_re_to_curriculum_element add constraint rel_cur_el_to_re_idx foreign key (fk_entry) references o_repositoryentry (repositoryentry_id); +create index idx_rel_cur_el_to_re_idx on o_re_to_curriculum_element (fk_entry); +alter table o_re_to_curriculum_element add constraint rel_cur_el_to_cur_el_idx foreign key (fk_curriculum_element) references o_cur_curriculum_element (id); +create index idx_rel_cur_el_to_cur_el_idx on o_re_to_curriculum_element (fk_curriculum_element); + -- o_logging_table create index log_target_resid_idx on o_loggingtable(targetresid); create index log_ptarget_resid_idx on o_loggingtable(parentresid); diff --git a/src/main/resources/database/postgresql/alter_12_4_x_to_13_0_0.sql b/src/main/resources/database/postgresql/alter_12_4_x_to_13_0_0.sql index 1569884b288081b863f602744f8e229ad7efe0b7..f2feb3bf0f769d8cf02cbe306918891aba117051 100644 --- a/src/main/resources/database/postgresql/alter_12_4_x_to_13_0_0.sql +++ b/src/main/resources/database/postgresql/alter_12_4_x_to_13_0_0.sql @@ -116,10 +116,12 @@ create table o_cur_curriculum_element ( c_begin timestamp, c_end timestamp , c_external_id varchar(64), + c_m_path_keys varchar(255), c_managed_flags varchar(255), fk_group int8 not null, fk_parent int8, fk_curriculum int8 not null, + fk_type int8, primary key (id) ); @@ -129,6 +131,9 @@ alter table o_cur_curriculum_element add constraint cur_el_to_cur_el_idx foreign create index idx_cur_el_to_cur_el_idx on o_cur_curriculum_element (fk_parent); alter table o_cur_curriculum_element add constraint cur_el_to_cur_idx foreign key (fk_curriculum) references o_cur_curriculum (id); create index idx_cur_el_to_cur_idx on o_cur_curriculum_element (fk_curriculum); +alter table o_cur_curriculum_element add constraint cur_el_type_to_el_type_idx foreign key (fk_type) references o_cur_element_type (id); +create index idx_cur_el_type_to_el_type_idx on o_cur_curriculum_element (fk_type); + create table o_cur_element_type_to_type ( id bigserial, @@ -142,6 +147,22 @@ create index idx_cur_type_to_type_idx on o_cur_element_type_to_type (fk_type); alter table o_cur_element_type_to_type add constraint cur_type_to_sub_type_idx foreign key (fk_allowed_sub_type) references o_cur_element_type (id); create index idx_cur_type_to_sub_type_idx on o_cur_element_type_to_type (fk_allowed_sub_type); +create table o_re_to_curriculum_element ( + id bigserial, + creationdate timestamp not null, + lastmodified timestamp not null, + c_master bool default false, + fk_entry int8 not null, + fk_curriculum_element int8 not null, + primary key (id) +); + +alter table o_re_to_curriculum_element add constraint rel_cur_el_to_re_idx foreign key (fk_entry) references o_repositoryentry (repositoryentry_id); +create index idx_rel_cur_el_to_re_idx on o_re_to_curriculum_element (fk_entry); +alter table o_re_to_curriculum_element add constraint rel_cur_el_to_cur_el_idx foreign key (fk_curriculum_element) references o_cur_curriculum_element (id); +create index idx_rel_cur_el_to_cur_el_idx on o_re_to_curriculum_element (fk_curriculum_element); + + -- drop policy alter table o_bs_policy drop constraint FK9A1C5101E2E76DB; @@ -191,3 +212,7 @@ create unique index idx_eva_sess_to_part_idx on o_eva_form_session (fk_participa create index idx_eva_resp_report_idx on o_eva_form_response (fk_session, e_responseidentifier, e_no_response); + +-- membership +alter table o_bs_group_member add column g_inheritance_mode varchar(16) default 'none' not null; + diff --git a/src/main/resources/database/postgresql/setupDatabase.sql b/src/main/resources/database/postgresql/setupDatabase.sql index 31b8ab1cf6d4342ccd86a78ae1704272a601a192..a6899f7b7bceeb168d309bbd34e5ccb6890531f1 100644 --- a/src/main/resources/database/postgresql/setupDatabase.sql +++ b/src/main/resources/database/postgresql/setupDatabase.sql @@ -49,6 +49,7 @@ create table o_bs_group_member ( creationdate timestamp not null, lastmodified timestamp not null, g_role varchar(50) not null, + g_inheritance_mode varchar(16) default 'none' not null, fk_group_id int8 not null, fk_identity_id int8 not null, primary key (id) @@ -2466,10 +2467,12 @@ create table o_cur_curriculum_element ( c_begin timestamp, c_end timestamp , c_external_id varchar(64), + c_m_path_keys varchar(255), c_managed_flags varchar(255), fk_group int8 not null, fk_parent int8, fk_curriculum int8 not null, + fk_type int8, primary key (id) ); @@ -2480,6 +2483,16 @@ create table o_cur_element_type_to_type ( primary key (id) ); +create table o_re_to_curriculum_element ( + id bigserial, + creationdate timestamp not null, + lastmodified timestamp not null, + c_master bool default false, + fk_entry int8 not null, + fk_curriculum_element int8 not null, + primary key (id) +); + -- user view create view o_bs_identity_short_v as ( select @@ -3475,12 +3488,19 @@ alter table o_cur_curriculum_element add constraint cur_el_to_cur_el_idx foreign create index idx_cur_el_to_cur_el_idx on o_cur_curriculum_element (fk_parent); alter table o_cur_curriculum_element add constraint cur_el_to_cur_idx foreign key (fk_curriculum) references o_cur_curriculum (id); create index idx_cur_el_to_cur_idx on o_cur_curriculum_element (fk_curriculum); +alter table o_cur_curriculum_element add constraint cur_el_type_to_el_type_idx foreign key (fk_type) references o_cur_element_type (id); +create index idx_cur_el_type_to_el_type_idx on o_cur_curriculum_element (fk_type); alter table o_cur_element_type_to_type add constraint cur_type_to_type_idx foreign key (fk_type) references o_cur_element_type (id); create index idx_cur_type_to_type_idx on o_cur_element_type_to_type (fk_type); alter table o_cur_element_type_to_type add constraint cur_type_to_sub_type_idx foreign key (fk_allowed_sub_type) references o_cur_element_type (id); create index idx_cur_type_to_sub_type_idx on o_cur_element_type_to_type (fk_allowed_sub_type); +alter table o_re_to_curriculum_element add constraint rel_cur_el_to_re_idx foreign key (fk_entry) references o_repositoryentry (repositoryentry_id); +create index idx_rel_cur_el_to_re_idx on o_re_to_curriculum_element (fk_entry); +alter table o_re_to_curriculum_element add constraint rel_cur_el_to_cur_el_idx foreign key (fk_curriculum_element) references o_cur_curriculum_element (id); +create index idx_rel_cur_el_to_cur_el_idx on o_re_to_curriculum_element (fk_curriculum_element); + -- o_logging_table create index log_target_resid_idx on o_loggingtable(targetresid); create index log_ptarget_resid_idx on o_loggingtable(parentresid); diff --git a/src/main/webapp/static/themes/light/modules/_icons.scss b/src/main/webapp/static/themes/light/modules/_icons.scss index d3b5b105139ee69930a6a46ae5a99d1c04efa787..6d496ee561518ce4259bdb2af3409a2580235f55 100644 --- a/src/main/webapp/static/themes/light/modules/_icons.scss +++ b/src/main/webapp/static/themes/light/modules/_icons.scss @@ -132,6 +132,9 @@ $fa-css-prefix: "o_icon" !default; .o_icon_info:before { content: $fa-var-info-circle; color: $brand-info} .o_icon_info_msg:before { content: $fa-var-exclamation-circle; color: $brand-danger} .o_icon_info_resource:before { content: $fa-var-info-circle;} +.o_icon_inheritance_root:before { content: $fa-var-arrow-circle-down; } +.o_icon_inheritance_inherited:before { content: $fa-var-arrow-circle-o-down; } +.o_icon_inheritance_none:before { content: $fa-var-circle-o; } .o_icon_inline_editable:before { content: $fa-var-edit; } .o_icon_institution:before { content: $fa-var-bank; } .o_icon_italic:before { content: $fa-var-italic; } diff --git a/src/main/webapp/static/themes/light/theme.css b/src/main/webapp/static/themes/light/theme.css index e8ab76c2dc4f54fd897e65e38874b5ddc9b99c39..dd85c2bc9942a71de1a74d98b7d74f82226cb88b 100644 --- a/src/main/webapp/static/themes/light/theme.css +++ b/src/main/webapp/static/themes/light/theme.css @@ -22,5 +22,5 @@ * @author gnaegi, www.frentix.com * @date April. 2014 * ======================================================== -**//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail,.o_form .o_filepreview img,.o_feed .o_media{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,.o_cal .fc-header-title h2,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h1 .small,h2 small,h2 .small,h3 small,h3 .small,h4 small,.o_cal .fc-header-title h2 small,h4 .small,.o_cal .fc-header-title h2 .small,h5 small,h5 .small,h6 small,h6 .small,.h1 small,.h1 .small,.h2 small,.h2 .small,.h3 small,.h3 .small,.h4 small,.h4 .small,.h5 small,.h5 .small,.h6 small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,h1 .small,.h1 small,.h1 .small,h2 small,h2 .small,.h2 small,.h2 .small,h3 small,h3 .small,.h3 small,.h3 .small{font-size:65%}h4,.o_cal .fc-header-title h2,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.o_cal .fc-header-title h2 small,h4 .small,.o_cal .fc-header-title h2 .small,.h4 small,.h4 .small,h5 small,h5 .small,.h5 small,.h5 .small,h6 small,h6 .small,.h6 small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.o_cal .fc-header-title h2,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width: 768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff}.bg-primary{background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ul ol,ol ul,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width: 768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.428571429;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container:before,.container:after{content:" ";display:table}.container:after{clear:both}@media (min-width: 768px){.container{width:750px}}@media (min-width: 992px){.container{width:970px}}@media (min-width: 1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container-fluid:before,.container-fluid:after{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}@media (min-width: 768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}}@media (min-width: 992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}}@media (min-width: 1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width: 767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;-o-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#fafafa;opacity:1}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio: 0){input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:34px}input[type="date"].input-sm,.input-group-sm>input[type="date"].form-control,.input-group-sm>input[type="date"].input-group-addon,.input-group-sm>.input-group-btn>input[type="date"].btn,input[type="time"].input-sm,.input-group-sm>input[type="time"].form-control,.input-group-sm>input[type="time"].input-group-addon,.input-group-sm>.input-group-btn>input[type="time"].btn,input[type="datetime-local"].input-sm,.input-group-sm>input[type="datetime-local"].form-control,.input-group-sm>input[type="datetime-local"].input-group-addon,.input-group-sm>.input-group-btn>input[type="datetime-local"].btn,input[type="month"].input-sm,.input-group-sm>input[type="month"].form-control,.input-group-sm>input[type="month"].input-group-addon,.input-group-sm>.input-group-btn>input[type="month"].btn{line-height:30px}input[type="date"].input-lg,.input-group-lg>input[type="date"].form-control,.input-group-lg>input[type="date"].input-group-addon,.input-group-lg>.input-group-btn>input[type="date"].btn,input[type="time"].input-lg,.input-group-lg>input[type="time"].form-control,.input-group-lg>input[type="time"].input-group-addon,.input-group-lg>.input-group-btn>input[type="time"].btn,input[type="datetime-local"].input-lg,.input-group-lg>input[type="datetime-local"].form-control,.input-group-lg>input[type="datetime-local"].input-group-addon,.input-group-lg>.input-group-btn>input[type="datetime-local"].btn,input[type="month"].input-lg,.input-group-lg>input[type="month"].form-control,.input-group-lg>input[type="month"].input-group-addon,.input-group-lg>.input-group-btn>input[type="month"].btn{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="radio"].disabled,fieldset[disabled] input[type="radio"],input[type="checkbox"][disabled],input[type="checkbox"].disabled,fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,fieldset[disabled] .radio-inline,.checkbox-inline.disabled,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,fieldset[disabled] .radio label,.checkbox.disabled label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn,.form-group-sm .form-control{height:30px;line-height:30px}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,.form-group-sm .form-control,select[multiple].input-sm,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>.input-group-btn>select[multiple].btn,.form-group-sm .form-control{height:auto}.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn,.form-group-lg .form-control{height:46px;line-height:46px}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,.form-group-lg .form-control,select[multiple].input-lg,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>.input-group-btn>select[multiple].btn,.form-group-lg .form-control{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label ~ .form-control-feedback{top:25px}.has-feedback label.sr-only ~ .form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width: 768px){.form-inline .form-group,.o_navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control,.o_navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static,.o_navbar-form .form-control-static{display:inline-block}.form-inline .input-group,.o_navbar-form .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.o_navbar-form .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.o_navbar-form .input-group .input-group-btn,.form-inline .input-group .form-control,.o_navbar-form .input-group .form-control{width:auto}.form-inline .input-group>.form-control,.o_navbar-form .input-group>.form-control{width:100%}.form-inline .control-label,.o_navbar-form .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.o_navbar-form .radio,.form-inline .checkbox,.o_navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.o_navbar-form .radio label,.form-inline .checkbox label,.o_navbar-form .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.o_navbar-form .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"],.o_navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback,.o_navbar-form .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}@media (min-width: 768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width: 768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width: 768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn.focus,.btn:active:focus,.btn:active.focus,.btn.active:focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled,.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled.active,.btn-default[disabled],.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled].active,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled,.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled.active,.btn-primary[disabled],.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary.active{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled,.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled.active,.btn-success[disabled],.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled].active,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled,.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled.active,.btn-info[disabled],.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled].active,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled,.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled.active,.btn-warning[disabled],.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled,.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled.active,.btn-danger[disabled],.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width: 768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 768px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{content:" ";display:table}.navbar:after{clear:both}@media (min-width: 768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{content:" ";display:table}.navbar-header:after{clear:both}@media (min-width: 768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width: 768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;visibility:visible !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width: 480px) and (orientation: landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width: 768px){.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width: 768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width: 768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width: 768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width: 768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width: 767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width: 768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width: 768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width: 767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width: 768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm,.btn-group-sm>.navbar-btn.btn{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs,.btn-group-xs>.navbar-btn.btn{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width: 768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width: 768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right ~ .navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width: 767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:hover,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#090909;color:#fff}@media (max-width: 767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:hover,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.428571429;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.jumbotron,.o_repo_details .o_lead{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.o_repo_details .o_lead h1,.jumbotron .h1,.o_repo_details .o_lead .h1{color:inherit}.jumbotron p,.o_repo_details .o_lead p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr,.o_repo_details .o_lead>hr{border-top-color:#d5d5d5}.container .jumbotron,.container .o_repo_details .o_lead,.o_repo_details .container .o_lead,.container-fluid .jumbotron,.container-fluid .o_repo_details .o_lead,.o_repo_details .container-fluid .o_lead{border-radius:6px}.jumbotron .container,.o_repo_details .o_lead .container{max-width:100%}@media screen and (min-width: 768px){.jumbotron,.o_repo_details .o_lead{padding:48px 0}.container .jumbotron,.container .o_repo_details .o_lead,.o_repo_details .container .o_lead,.container-fluid .jumbotron,.container-fluid .o_repo_details .o_lead,.o_repo_details .container-fluid .o_lead{padding-left:60px;padding-right:60px}.jumbotron h1,.o_repo_details .o_lead h1,.jumbotron .h1,.o_repo_details .o_lead .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;-o-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4,.alert .o_cal .fc-header-title h2,.o_cal .fc-header-title .alert h2{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table,.panel-collapse>.table,.panel-collapse>.table-responsive>.table,.panel-collapse>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption,.panel-collapse>.table caption,.panel-collapse>.table-responsive>.table caption,.panel-collapse>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child,.panel-collapse>.table:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child,.panel-collapse>.table:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body,.panel-collapse>.panel-body+.table,.panel-collapse>.panel-body+.table-responsive,.panel-collapse>.table+.panel-body,.panel-collapse>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td,.panel-collapse>.table>tbody:first-child>tr:first-child th,.panel-collapse>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered,.panel-collapse>.table-bordered,.panel-collapse>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel-collapse>.table-bordered>thead>tr>th:first-child,.panel-collapse>.table-bordered>thead>tr>td:first-child,.panel-collapse>.table-bordered>tbody>tr>th:first-child,.panel-collapse>.table-bordered>tbody>tr>td:first-child,.panel-collapse>.table-bordered>tfoot>tr>th:first-child,.panel-collapse>.table-bordered>tfoot>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel-collapse>.table-bordered>thead>tr>th:last-child,.panel-collapse>.table-bordered>thead>tr>td:last-child,.panel-collapse>.table-bordered>tbody>tr>th:last-child,.panel-collapse>.table-bordered>tbody>tr>td:last-child,.panel-collapse>.table-bordered>tfoot>tr>th:last-child,.panel-collapse>.table-bordered>tfoot>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel-collapse>.table-bordered>thead>tr:first-child>td,.panel-collapse>.table-bordered>thead>tr:first-child>th,.panel-collapse>.table-bordered>tbody>tr:first-child>td,.panel-collapse>.table-bordered>tbody>tr:first-child>th,.panel-collapse>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel-collapse>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel-collapse>.table-bordered>tbody>tr:last-child>td,.panel-collapse>.table-bordered>tbody>tr:last-child>th,.panel-collapse>.table-bordered>tfoot>tr:last-child>td,.panel-collapse>.table-bordered>tfoot>tr:last-child>th,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive,.panel-collapse>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.428571429px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width: 992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;visibility:visible;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:normal;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width: 767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width: 767px){.visible-xs-block{display:block !important}}@media (max-width: 767px){.visible-xs-inline{display:inline !important}}@media (max-width: 767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-block{display:block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline{display:inline !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-block{display:block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline{display:inline !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width: 1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width: 1200px){.visible-lg-block{display:block !important}}@media (min-width: 1200px){.visible-lg-inline{display:inline !important}}@media (min-width: 1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width: 767px){.hidden-xs{display:none !important}}@media (min-width: 768px) and (max-width: 991px){.hidden-sm{display:none !important}}@media (min-width: 992px) and (max-width: 1199px){.hidden-md{display:none !important}}@media (min-width: 1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}body .modal{position:absolute;overflow:visible}body div.tooltip-inner{max-width:400px}body div.popover{max-width:450px}body .modal-body.alert{border-radius:0}body .progress{margin-bottom:0}.panel-body:nth-child(n+2){border-top:1px solid #ddd}.panel .panel-heading[data-toggle="collapse"]{cursor:pointer}#o_ajax_busy_backdrop{bottom:0;z-index:1020}.form-control-feedback{top:10px}.form-horizontal .has-feedback .form-control-feedback{top:10px}.btn.btn-primary.o_disabled{color:#fff !important}body .progress-bar[aria-valuenow="1"],body .progress-bar[aria-valuenow="2"]{min-width:1px}td.text-left>div.form-inline>label.checkbox-inline>input[type='checkbox'],td.text-left>div.o_navbar-form>label.checkbox-inline>input[type='checkbox']{position:relative}@-moz-document url-prefix(){fieldset{display:table-cell}}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.form-control,.ui-widget input,.ui-widget select,.ui-widget textarea{font-size:16px}}}@font-face{font-family:'openolat';src:url("../light/fonts/openolat/openolat.eot?4yacgg");src:url("../light/fonts/openolat/openolat.eot?#iefix4yacgg") format("embedded-opentype"),url("../light/fonts/openolat/openolat.woff?4yacgg") format("woff"),url("../light/fonts/openolat/openolat.ttf?4yacgg") format("truetype"),url("../light/fonts/openolat/openolat.svg?4yacgg#openolat") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:'FontAwesome';src:url("../../font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0");src:url("../../font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"),url("../../font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),url("../../font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),url("../../font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"),url("../../font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.o_icon{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.o_icon-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.o_icon-2x{font-size:2em}.o_icon-3x{font-size:3em}.o_icon-4x{font-size:4em}.o_icon-5x{font-size:5em}.o_icon-fw{width:1.2857142857em;text-align:center}.o_icon-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.o_icon-ul>li{position:relative}.o_icon-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.o_icon-li.o_icon-lg{left:-1.8571428571em}.o_icon-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.o_icon-pull-left{float:left}.o_icon-pull-right{float:right}.o_icon.o_icon-pull-left{margin-right:.3em}.o_icon.o_icon-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.o_icon.pull-left{margin-right:.3em}.o_icon.pull-right{margin-left:.3em}.o_icon-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.o_icon-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.o_icon-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.o_icon-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.o_icon-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.o_icon-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.o_icon-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .o_icon-rotate-90,:root .o_icon-rotate-180,:root .o_icon-rotate-270,:root .o_icon-flip-horizontal,:root .o_icon-flip-vertical{filter:none}.o_icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.o_icon-stack-1x,.o_icon-stack-2x{position:absolute;left:0;width:100%;text-align:center}.o_icon-stack-1x{line-height:inherit}.o_icon-stack-2x{font-size:2em}.o_icon-inverse{color:#fff}.o_icon_accepted:before{content:"ï…¤"}.o_icon_accessibility:before{content:""}.o_icon_actions:before{content:"ï‚…"}.o_icon_add_html:before{content:"ï„¡"}.o_icon_archive_tool:before{content:""}.o_icon_assessment_mode:before{content:"ï„"}.o_icon_assessment_tool:before{content:"ï‚‘"}.o_icon_assignment:before{content:"";color:#d9534f}.o_icon_attempt_limit:before{content:""}.o_icon_accept:before{content:"";color:#5cb85c}.o_icon_add:before{content:"ï•"}.o_icon_add_member:before{content:""}.o_icon_add_search:before{content:""}.o_icon_audio:before{content:""}.o_icon_back:before{content:"ï“"}.o_icon_back_history:before{content:""}.o_icon_banned:before{content:"";color:#d9534f}.o_icon_bold:before{content:""}.o_icon_booking:before{content:"ïº"}.o_icon_bookmark:before{content:"";color:#bc2d0c}.o_icon_bookmark_add:before{content:"ï‚—"}.o_icon_bookmark_header:before{content:""}.o_icon_browse:before{content:""}.o_icon_brush:before{content:""}.o_icon_browsercheck:before{content:"ï…¤"}.o_icon_busy:before{content:"ï„"}.o_icon_calendar:before{content:"ï³"}.o_icon_calendar_enabled:before{content:"ï†"}.o_icon_calendar_disabled:before{content:"ï‚–"}.o_icon_calendar:before{content:"ï³"}.o_icon_calendar_sync:before{content:""}.o_icon_cancelled:before{content:"ïž"}.o_icon_caret:before{content:""}.o_icon_caret_right:before{content:""}.o_icon_catalog:before{content:""}.o_icon_catalog_sub:before{content:"ï»"}.o_icon_certificate:before{content:"ï‚£"}.o_icon_chat:before{content:""}.o_icon_check:before{content:""}.o_icon_check_off:before{content:"ï‚–"}.o_icon_check_on:before{content:"ï†"}.o_icon_checkbox:before{content:"ï‚–"}.o_icon_checkbox_checked:before{content:"ï…Š"}.o_icon_circle:before{content:""}.o_icon_circle_color:before{content:"ï„‘"}.o_icon_citation:before{content:"ï„"}.o_icon_cleanup:before{content:""}.o_icon_clear_all:before{content:""}.o_icon_close:before{content:"ï€"}.o_icon_close_resource:before{content:""}.o_icon_close_tab:before{content:"ï€"}.o_icon_close_tool:before{content:"ï€"}.o_icon_close_tree:before{content:""}.o_icon_close_togglebox:before,.o_togglebox_wrapper .o_opener.o_in i:before,.o_search_result .o_opener.o_in i:before{content:""}.o_icon_code:before{content:"ï„¡"}.o_icon_color_picker:before{content:"ïƒ"}.o_icon_copy:before{content:""}.o_icon_courseareas:before{content:""}.o_icon_coursedb:before{content:""}.o_icon_courseeditor:before{content:"ï„"}.o_icon_coursefolder:before{content:"ï„”"}.o_icon_courserun:before{content:""}.o_icon_comments:before{content:""}.o_icon_comments_none:before{content:""}.o_icon_compress:before{content:"ï¦"}.o_icon_compulsory:before{content:"ï©"}.o_icon_content_popup:before{content:"ï‚Ž"}.o_icon_correct_answer:before{content:"";color:#5cb85c}.o_icon_correction:before{content:"ï€"}.o_icon_customize:before{content:""}.o_icon_delete_item:before{content:""}.o_icon_delete:before{content:"ï–";color:#A87E7E}.o_icon_deleted:before{content:""}.o_icon_details:before{content:""}.o_icon_description:before{content:"ïš"}.o_icon_dev:before{content:""}.o_icon_disabled:before{content:"ï„Œ"}.o_icon_download:before{content:""}.o_icon_edit:before{content:"ï„"}.o_icon_edit_file:before{content:"ï„"}.o_icon_edit_metadata:before{content:""}.o_icon_element_after:before{content:"ï£"}.o_icon_element_before:before{content:"ï¢"}.o_icon_enabled:before{content:"ï„‘"}.o_icon_enlarge:before{content:""}.o_icon_eportfolio_add:before{content:"ï„®"}.o_icon_eportfolio_link:before{content:"ï„®"}.o_icon_eraser:before{content:"ï„"}.o_icon_error:before{content:"ïª";color:#d9534f}.o_icon_expand:before{content:"ï¥"}.o_icon_expenditure:before{content:""}.o_icon_export:before{content:"ï…"}.o_icon_external_link:before{content:"ï‚Ž"}.o_icon_extra_time:before{content:""}.o_icon_failed:before{content:"ï—"}.o_icon_files:before{content:""}.o_icon_fileupload:before{content:""}.o_icon_filter:before{content:"ï‚°"}.o_icon_graduate:before{content:"ï†"}.o_icon_group:before,.o_BusinessGroup_icon:before{content:""}.o_icon_header:before{content:""}.o_icon_help:before{content:"ï™";cursor:help}.o_icon_home:before{content:""}.o_icon_image:before{content:""}.o_icon_impress:before{content:"ïš"}.o_icon_important:before{content:"ï±";color:#f0ad4e}.o_icon_import:before{content:"ï‚“"}.o_icon_info:before{content:"ïš";color:#5bc0de}.o_icon_info_msg:before{content:"ïª";color:#d9534f}.o_icon_info_resource:before{content:"ïš"}.o_icon_inline_editable:before{content:"ï„"}.o_icon_institution:before{content:""}.o_icon_italic:before{content:""}.o_icon_landingpage:before{content:"ï…€"}.o_icon_language:before{content:""}.o_icon_layout:before{content:""}.o_icon_lecture:before{content:"ï€"}.o_icon_levels:before{content:""}.o_icon_line:before{content:""}.o_icon_link:before{content:"ïƒ"}.o_icon_link_extern:before{content:"ï‚Ž"}.o_icon_list:before{content:""}.o_icon_list_num:before{content:""}.o_icon_lifecycle:before{content:""}.o_icon_lifecycle_date:before{content:"ï³"}.o_icon_locked:before{content:""}.o_icon_log:before{content:"ï…œ"}.o_icon_login:before{content:"ï‚"}.o_icon_logout:before{content:"ï‚‹"}.o_icon_mandatory:before{content:"ï©";color:#f0ad4e}.o_icon_managed:before{content:"ï¹";color:#777}.o_icon_manual:before{content:"ï€";cursor:help}.o_icon_mail:before{content:""}.o_icon_math:before{content:"\03a3"}.o_icon_media:before{content:""}.o_icon_mediacenter:before{content:"ï¼"}.o_icon_membersmanagement:before{content:""}.o_icon_menuhandel:before{content:""}.o_icon_message:before{content:"ïƒ "}.o_icon_mobile:before{content:"ï„‹"}.o_icon_move:before{content:"ï‡"}.o_icon_move_down:before{content:""}.o_icon_move_left:before{content:"ï„€"}.o_icon_move_right:before{content:"ï„"}.o_icon_move_up:before{content:"ï„‚"}.o_icon_new:before{content:"ï©";color:#5cb85c}.o_icon_new_document:before{content:"ï…œ"}.o_icon_new_folder:before{content:"ï»"}.o_icon_new_portfolio:before{content:"ï€"}.o_icon_news:before{content:"ïš"}.o_icon_next:before{content:""}.o_icon_next_step:before{content:"ï„"}.o_icon_next_page:before{content:"ï„"}.o_icon_next_toolbar:before{content:""}.o_icon_node_after:before{content:"ï…µ"}.o_icon_node_before:before{content:"ï…¶"}.o_icon_node_under:before{content:"ï„’"}.o_icon_notes:before{content:""}.o_icon_notification:before{content:"ï‚ž"}.o_icon_ok:before{content:"";color:#5cb85c}.o_icon_open_tree:before{content:""}.o_icon_open_togglebox:before,.o_togglebox_wrapper .o_opener i:before,.o_search_result .o_opener i:before{content:""}.o_icon_openolat:before,.o_icon_provider_olat:before{content:"\E600";font-family:openolat;font-size:10px}.o_icon_options:before{content:""}.o_icon_others:before{content:""}.o_icon_pageing:before{content:"ï…"}.o_icon_paragraph:before{content:"ï‡"}.o_icon_passed:before{content:"ï˜"}.o_icon_password:before{content:""}.o_icon_pending:before{content:"ï„"}.o_icon_phone:before{content:"ï‚•"}.o_icon_post:before{content:""}.o_icon_preview:before{content:"ï®"}.o_icon_previous:before{content:"ï„·"}.o_icon_previous_page:before{content:"ï„€"}.o_icon_previous_step:before{content:"ï„€"}.o_icon_previous_toolbar:before{content:""}.o_icon_print:before{content:""}.o_icon_private:before{content:""}.o_icon_progress_success:before{content:"";color:#e5efe5}.o_icon_progress_danger:before{content:"ï€";color:#efe5e5}.o_icon_provider_adfs:before{content:"ï…º"}.o_icon_provider_facebook:before{content:"ï‚š"}.o_icon_provider_google:before{content:""}.o_icon_provider_guest:before{content:""}.o_icon_provider_ldap:before{content:""}.o_icon_provider_linkedin:before{content:""}.o_icon_provider_oauth:before{content:""}.o_icon_provider_openid:before{content:""}.o_icon_provider_performx:before{content:""}.o_icon_provider_shibboleth:before{content:""}.o_icon_provider_tequila:before{content:""}.o_icon_provider_twitter:before{content:"ï‚™"}.o_icon_publish:before{content:"ï¤"}.o_icon_pull:before{content:""}.o_icon_quota:before{content:""}.o_icon_qrcode:before{content:""}.o_icon_quickview:before{content:"ï®"}.o_icon_radio_off:before{content:"ï„Œ"}.o_icon_radio_on:before{content:"ï"}.o_icon_rating_on:before,.o_rating .o_rating_items.o_enabled .o_icon:hover:before{content:""}.o_icon_rating_off:before{content:""}.o_icon_read:before{content:"ï„Œ"}.o_icon_readonly:before{content:"ï„";color:red}.o_icon_readwrite:before{content:"ï„"}.o_icon_recycle:before{content:""}.o_icon_rectangle:before{content:"ï‚–"}.o_icon_redo:before{content:""}.o_icon_refresh:before{content:""}.o_icon_reject:before{content:"ï€";color:#d9534f}.o_icon_rejected:before{content:"ï…¥"}.o_icon_reminder:before{content:""}.o_icon_remove:before{content:"ï€"}.o_icon_remove_filters:before{content:"ï—"}.o_icon_reopen:before{content:"ï„’"}.o_icon_replace:before{content:""}.o_icon_reply:before{content:"ï„’"}.o_icon_reply_with_quote:before{content:"ï„¢"}.o_icon_reset:before{content:"ïˆ"}.o_icon_response_feedback:before{content:""}.o_icon_restore:before{content:"ï…¤"}.o_icon_results_visible:before{content:"ï®"}.o_icon_results_hidden:before{content:"ï°"}.o_icon_reviewer:before{content:""}.o_icon_rss:before{content:"ï‚ž"}.o_icon_rss_unsubscribe:before{content:"ï‚ž";color:#996633}.o_icon_rubric:before{content:""}.o_icon_save:before{content:""}.o_icon_search:before{content:""}.o_icon_select:before{content:""}.o_icon_send:before{content:"ïƒ "}.o_icon_settings:before{content:"ï‚…"}.o_icon_share:before{content:"ï¤"}.o_icon_show_more:before{content:"ï…"}.o_icon_show_less:before{content:"ï…‘"}.o_icon_show_send:before{content:""}.o_icon_sign_out:before{content:"ï‚‹"}.o_icon_slide_down:before{content:"ï¸"}.o_icon_slide_up:before{content:"ï·"}.o_icon_spacer:before{content:"ï¾"}.o_icon_split:before{content:""}.o_icon_sort:before{content:""}.o_icon_sort_asc:before{content:""}.o_icon_sort_desc:before{content:"ïƒ"}.o_icon_sort_amount_asc:before{content:"ï… "}.o_icon_sort_amount_desc:before{content:"ï…¡"}.o_icon_sort_menu:before{content:"ï… "}.o_icon_start:before{content:"ï”"}.o_icon_status_available:before{content:"ï„‘";color:#063}.o_icon_status_chat:before{content:"ïµ"}.o_icon_status_dnd:before{content:"";color:#cc3}.o_icon_status_unavailable:before{content:"ïœ";color:#963}.o_icon_status_not_started:before{content:"ï„Œ"}.o_icon_status_in_progress:before{content:"ï‹"}.o_icon_status_in_review:before{content:""}.o_icon_status_done:before{content:"ï˜"}.o_icon_statistics_tool:before{content:"ï‚€"}.o_icon_submit:before{content:""}.o_icon_table:before{content:""}.o_icon_table_custom:before{content:""}.o_icon_table_large:before{content:""}.o_icon_tags:before{content:""}.o_icon_textinput:before{content:""}.o_icon_time:before{content:""}.o_icon_timelimit:before{content:""}.o_icon_timelimit_start:before{content:""}.o_icon_timelimit_half:before{content:""}.o_icon_timelimit_end:before{content:""}.o_icon_toggle:before{content:"ï„‘"}.o_icon_toggle_on:before{content:""}.o_icon_toggle_off:before{content:""}.o_icon_to_read:before{content:"ï„‘"}.o_icon_tool:before{content:""}.o_icon_tools:before{content:"ï‚"}.o_icon_top:before{content:"ï·"}.o_icon_translation_item:before{content:""}.o_icon_translation_package:before{content:"ï„•"}.o_icon_undo:before{content:""}.o_icon_user:before{content:""}.o_icon_user_vip:before{content:"ï†"}.o_icon_user_anonymous:before{content:""}.o_icon_upload:before{content:"ï‚“"}.o_icon_version:before{content:""}.o_icon_video:before{content:""}.o_icon_visitingcard.o_icon_waiting:before{content:""}.o_icon_warn:before{content:"ï±";color:#f0ad4e}.o_icon_wizard:before{content:"ïƒ"}.o_icon_xing:before{content:"ï…¨";color:#cfdc00}.o_BinderTemplate_icon:before{content:""}.o_CourseModule_icon:before,.o_course_icon:before{content:""}.o_EPStructuredMapTemplate_icon:before{content:"ï„®"}.o_FileResource-BLOG_icon:before{content:"ï‚¡"}.o_FileResource-IMSCP_icon:before{content:""}.o_FileResource-FORM_icon:before{content:""}.o_FileResource-PODCAST_icon:before{content:""}.o_FileResource-SHAREDFOLDER:before{content:"ï‚Ž"}.o_FileResource-SCORMCP_icon:before{content:""}.o_FileResource-SURVEY_icon:before{content:"ï„š"}.o_FileResource-TEST_icon:before{content:"ï„"}.o_FileResource-IMSQTI21_icon:before{content:"ï…‹"}.o_FileResource-WIKI_icon:before{content:""}.o_FileResource-SHAREDFOLDER_icon:before{content:"ï„•"}.o_FileResource-GLOSSARY_icon:before{content:"ï†"}.o_FileResource-PDF_icon:before{content:"ï‡"}.o_FileResource-XLS_icon:before{content:""}.o_FileResource-PPT_icon:before{content:""}.o_FileResource-DOC_icon:before{content:""}.o_FileResource-ANIM_icon:before{content:""}.o_FileResource-IMAGE_icon:before{content:""}.o_FileResource-SOUND_icon:before{content:""}.o_FileResource-MOVIE_icon:before{content:""}.o_FileResource-FILE_icon:before{content:""}.o_FileResource-VIDEO_icon:before{content:""}.o_CourseModule_icon_closed:before{content:"ïž"}.o_sp_icon:before{content:""}.o_st_icon:before{content:""}.o_tu_icon:before{content:"ï‚Ž"}.o_bc_icon:before{content:"ï„•"}.o_lti_icon:before{content:"ï‚Ž"}.o_cp_icon:before{content:""}.o_cp_item:before{content:""}.o_scorm_icon:before{content:""}.o_en_icon:before{content:"ï‚"}.o_fo_icon:before{content:""}.o_co_icon:before{content:""}.o_infomsg_icon:before{content:"ïš"}.o_cal_icon:before{content:"ï³"}.o_wiki_icon:before{content:""}.o_podcast_icon:before{content:""}.o_pf_icon:before{content:""}.o_blog_icon:before{content:"ï‚¡"}.o_ep_icon:before{content:""}.o_ep_icon_v1:before{content:"ï„®"}.o_iqtest_icon:before{content:"ï„"}.o_iqself_icon:before{content:"ï„"}.o_iqsurv_icon:before{content:"ï„š"}.o_survey_icon:before{content:"ï„š"}.o_qtiassessment_icon:before{content:"ï…‹"}.o_ta_icon:before{content:"ï‚®"}.o_gta_icon:before{content:"ï‚®"}.o_ms_icon:before{content:""}.o_dialog_icon:before{content:""}.o_projectbroker_icon:before{content:"ï„Œ"}.o_ll_icon:before{content:"ïƒ"}.o_den_icon:before{content:""}.o_cmembers_icon:before{content:""}.o_cl_icon:before{content:"ï†"}.o_vc_icon:before{content:""}.o_video_icon:before{content:""}.o_vitero_icon:before{content:""}.o_openmeetings_icon:before{content:""}.o_gotomeeting_icon:before{content:""}.o_card2brain_icon:before{content:"\E800";font-family:openolat;font-size:120%}.o_edubase_icon:before{content:"\E885";font-family:openolat}.o_portlet_infomsg_icon:before{content:"ïš"}.o_portlet_quickstart_icon:before{content:""}.o_portlet_bookmark_icon:before{content:""}.o_portlet_groups_icon:before{content:""}.o_portlet_notes_icon:before{content:""}.o_portlet_noti_icon:before{content:"ï‚ž"}.o_portlet_eff_icon:before{content:"ï‚£"}.o_portlet_repository_student_icon:before{content:""}.o_portlet_repository_teacher_icon:before{content:"ï†"}.o_portlet_iframe_icon:before{content:""}.o_portlet_sysinfo_icon:before{content:""}.o_portlet_dyk_icon:before{content:""}.o_portlet_infomessages_icon:before{content:""}.o_portlet_cal_icon:before{content:"ï³"}.o_portlet_institutions_icon:before{content:""}.o_portlet_links_icon:before{content:"ïƒ"}.o_portlet_shibboleth_icon:before{content:"ï‚"}.o_icon_qpool:before{content:""}.o_icon_pool_private:before{content:"ï‚–"}.o_icon_pool_public:before{content:"ï†"}.o_icon_pool_my_items:before{content:""}.o_icon_pool_favorits:before{content:""}.o_icon_pool_collection:before{content:""}.o_icon_pool_pool:before{content:""}.o_icon_pool_share:before{content:""}.o_icon_qitem_commands:before{content:"ï‚…"}.o_icon_qitem_convert:before{content:""}.o_icon_qitem_copy:before{content:""}.o_icon_qitem_delete:before{content:""}.o_icon_qitem_draft:before{content:"ï€"}.o_icon_qitem_endOfLife:before{content:""}.o_icon_qitem_finalVersion:before{content:""}.o_icon_qitem_export:before{content:""}.o_icon_qitem_hide_metadata:before{content:""}.o_icon_qitem_import:before{content:"ï‚“"}.o_icon_qitem_new:before{content:"ï•"}.o_icon_qitem_review:before{content:""}.o_icon_qitem_revised:before{content:""}.o_icon_qitem_share:before{content:"ï¤"}.o_icon_qitem_show_metadata:before{content:""}.o_icon_qitem_status:before{content:"ï¡"}.o_forum_message_icon:before{content:""}.o_calendar_icon:before{content:"ï³"}.o_icon_pf_section_draft:before{content:"ï°";color:#f0ad4e}.o_icon_pf_section_progress:before{content:"";color:#f0ad4e}.o_icon_pf_section_submitted:before{content:"";color:#337ab7}.o_icon_pf_section_closed:before{content:"";color:#5cb85c}.o_icon_pf_binder:before{content:""}.o_icon_pf_entry:before{content:"ï…›"}.o_icon_pf_entry_draft:before{content:"ï„‘";color:#f0ad4e}.o_icon_pf_entry_published:before{content:"ï„‘";color:#337ab7}.o_icon_pf_entry_revision:before{content:"ï„‘";color:#d9534f}.o_icon_pf_entry_closed:before{content:"ï„‘";color:#5cb85c}.o_icon_pf_entry_deleted:before{content:"";color:#000}.o_icon_pf_history:before{content:""}.o_icon_pf_my_shares:before{content:"ï‡ "}.o_icon_pf_quick_links:before{content:"ï¤"}.o_icon_pf_page:before{content:""}.o_icon_pf_section:before{content:""}.o_icon_pf_shared_with_me:before{content:""}.o_forum_status_thread_icon:before{content:""}.o_forum_status_sticky_closed_icon:before{content:"ïž"}.o_forum_status_sticky_icon:before{content:""}.o_forum_status_closed_icon:before{content:"ïž";color:#a94442}.o_forum_status_opened_icon:before{content:"ïž";color:#3c763d}.o_forum_status_hidden_icon:before{content:"ï°";color:#a94442}.o_forum_status_visible_icon:before{content:"ï®";color:#3c763d}.o_forum_all_icon:before{content:""}.o_forum_all_flat_icon:before{content:""}.o_forum_one_icon:before{content:"ï®"}.o_forum_marked_icon:before{content:""}.o_forum_new_icon:before{content:"ï©"}.o_mi_qpool_import:before{content:""}.o_mi_qtidrawing:before{content:""}.o_mi_qtisection:before{content:""}.o_mi_qtisc:before{content:""}.o_mi_qtimatch:before{content:""}.o_mi_qtimatch_draganddrop:before{content:"ï‰"}.o_mi_qtimatch_truefalse:before{content:""}.o_mi_qtimc:before{content:"ï†"}.o_mi_qtikprim:before{content:"ï…Š"}.o_mi_qtifib:before{content:"ï…"}.o_mi_qtinumerical:before{content:""}.o_mi_qtihotspot:before{content:""}.o_mi_qtihottext:before{content:"ï"}.o_mi_qtiessay:before{content:""}.o_mi_qtiunkown:before{content:""}.o_mi_qtiupload:before{content:"ï‚“"}.o_as_mode_leadtime:before{content:""}.o_as_mode_assessment:before{content:"ï‹"}.o_as_mode_followup:before{content:"ïž"}.o_as_mode_closed:before{content:'-'}.o_icon_qti_notPresented:before{content:"";color:#ddd}.o_icon_qti_notAnswered:before{content:"ï…„";color:#f0ad4e}.o_icon_qti_answered:before{content:"ï˜";color:#5cb85c}.o_icon_qti_ended:before{content:"ïž";color:#5bc0de}.o_icon_qti_invalid:before{content:"ïª";color:#d9534f}.o_icon_qti_review:before{content:"ï®";color:#5bc0de}.o_icon_qti_reviewNotSeen:before,.o_icon_qti_reviewNotAnswered:before,.o_icon_qti_reviewInvalid:before{content:"ï°";color:#5bc0de}.o_icon_qti_end_testpart:before{content:""}.o_icon_qti_close_test:before{content:"ï‹“"}.o_icon_qti_cancel:before{content:"ï"}.o_icon_qti_suspend:before{content:"ïŒ"}.o_icon_qti_close_results:before{content:"ï‹“"}.o_icon_qti_hint:before{content:"ï™"}.o_icon_qti_summary_notAnswered:before{content:"ï„‘";color:#f0ad4e}.o_icon_qti_summary_ended:before{content:"ï—";color:#d9534f}.o_icon_qti_summary_correct:before{content:"ï˜";color:#5cb85c}.o_lectures_current:before{content:"ï„‘";color:#f0ad4e}.o_lectures_next:before{content:""}.o_lectures_pending:before{content:"ï„‘";color:#d9534f}.o_lectures_closed:before{content:"ï„‘"}.o_lectures_rollcall_ok:before{content:"ï„‘";color:#5cb85c}.o_lectures_rollcall_warning:before{content:"ï‚";color:#f0ad4e}.o_lectures_rollcall_danger:before{content:"ï„Œ";color:#d9534f}.o_lectures_rollcall_free:before{content:"ï„‘";color:#969696}.o_lectures_attended:before{content:"ï„‘";color:#5cb85c}.o_lectures_authorized:before{content:"ï„‘";color:#f0ad4e}.o_lectures_absent:before{content:"ï„‘";color:#d9534f}.o_icon_taxonomy:before{content:""}.o_icon_taxonomy_level:before{content:""}.o_icon_taxonomy_level_leaf:before{content:"ï„•"}.o_icon_taxonomy_templates:before{content:""}.o_icon_taxonomy_levels:before{content:""}.o_black_led:before{content:"ï„‘";color:#337ab7}.o_green_led:before{content:"ï„‘";color:#5cb85c}.o_yellow_led:before{content:"ï„‘";color:#f0ad4e}.o_red_led:before{content:"ï„‘";color:#d9534f}.o_ac_token_icon:before{content:"ï‚„"}.o_ac_free_icon:before{content:"ï«"}.o_ac_group_icon:before{content:""}.o_ac_membersonly_icon:before{content:""}.o_ac_paypal_icon:before{content:""}.o_ac_status_canceled_icon:before{content:"ï¨";color:#f0ad4e}.o_ac_status_error_icon:before{content:"ï€";color:#d9534f}.o_ac_status_new_icon:before{content:"ï©";color:#337ab7}.o_ac_status_success_icon:before{content:"";color:#5cb85c}.o_ac_status_waiting_icon:before{content:"";color:#337ab7}.o_ac_order_status_new_icon:before{content:"ï©";color:#337ab7}.o_ac_order_status_prepayment_icon:before{content:"";color:#5bc0de}.o_ac_order_status_payed_icon:before{content:"";color:#5cb85c}.o_ac_order_status_canceled_icon:before{content:"ï¨";color:#f0ad4e}.o_ac_order_status_error_icon:before{content:"ï€";color:#d9534f}.o_ac_order_status_warning_icon:before{content:"";color:#f0ad4e}.o_scorm_org:before{content:""}.o_scorm_item:before{content:""}.o_scorm_completed:before,.o_scorm_passed:before{content:"ï˜"}.o_scorm_failed:before{content:"ï±"}.o_scorm_incomplete:before{content:"ï±"}.o_scorm_not_attempted:before{background:none}.o_midpub:before{content:"ï˜"}.o_midwarn:before{content:"ï±"}.o_midlock:before{content:""}.o_miderr:before{content:"ïª"}.o_middel:before{content:"ï„"}.o_filetype_file:before,.o_filetype_ico:before{content:""}.o_filetype_folder:before{content:"ï„”"}.o_filetype_folder_open:before{content:"ï„•"}.o_filetype_zip:before,.o_filetype_gz:before,.o_filetype_tar:before,.o_filetype_tgz:before{content:""}.o_filetype_css:before,.o_filetype_js:before,.o_filetype_java:before,.o_filetype_numbers:before,.o_filetype_ods:before,.o_filetype_xml:before,.o_filetype_xsl:before{content:""}.o_filetype_bat_icon:before,.o_filetype_bat:before,.o_filetype_exe:before,.o_filetype_app:before,.o_filetype_sh:before{content:""}.o_filetype_xls:before,.o_filetype_xlsx:before{content:""}.o_filetype_png:before,.o_filetype_tiff:before,.o_filetype_webp:before,.o_filetype_gif:before,.o_filetype_ico:before,.o_filetype_jpeg:before,.o_filetype_bmp:before,.o_filetype_odg:before,.o_filetype_eps:before,.o_filetype_jpg:before{content:""}.o_filetype_psd:before,.o_filetype_avi:before,.o_filetype_dvi:before,.o_filetype_mp4:before,.o_filetype_m4v:before,.o_filetype_webm:before,.o_filetype_ogg:before,.o_filetype_video:before,.o_filetype_mov:before,.o_filetype_mpeg:before,.o_filetype_mpg:before,.o_filetype_qt:before,.o_filetype_ra:before,.o_filetype_ram:before,.o_filetype_swf:before,.o_filetype_flv:before{content:""}.o_filetype_midi:before,.o_filetype_audio:before,.o_filetype_mp3:before,.o_filetype_m3u:before,.o_filetype_wav:before{content:""}.o_filetype_ps:before,.o_filetype_pdf:before{content:"ï‡"}.o_filetype_key:before,.o_filetype_odp:before,.o_filetype_ppt:before,.o_filetype_pptx:before{content:""}.o_filetype_odf:before,.o_filetype_rtf:before,.o_filetype_readme:before,.o_filetype_README:before,.o_filetype_log:before,.o_filetype_txt:before,.o_filetype_htm:before,.o_filetype_html:before{content:""}.o_filetype_odt:before,.o_filetype_pages:before,.o_filetype_doc:before,.o_filetype_docx:before{content:""}.o_icon_share_social:before{content:"ï…"}.o_icon_apple:before{content:"ï…¹"}.o_icon_facebook:before{content:"ï‚‚"}.o_icon_twitter:before{content:"ï‚"}.o_icon_google:before{content:""}.o_icon_delicious:before{content:""}.o_icon_digg:before{content:""}.o_icon_mailto:before{content:""}.o_icon_link:before{content:"ïƒ"}.o_icon_yahoo:before{content:""}.o_icon_eva_disclaimer:before{content:""}.o_icon_eva_general_info:before{content:"ï„©"}.o_icon_eva_mc:before{content:"ï†"}.o_icon_eva_sc:before{content:""}.o_icon_surv_commands:before{content:""}.o_icon_surv_delete_all_data:before{content:""}.o_icon_lic_add:before{content:"ï•"}.o_icon_lic_public_domain:before{content:"\E810";font-family:openolat;font-size:120%}.o_icon_lic_cc0:before{content:"\E811";font-family:openolat;font-size:120%}.o_icon_lic_by:before{content:"\E812";font-family:openolat;font-size:120%}.o_icon_lic_by_sa:before{content:"\E813";font-family:openolat;font-size:120%}.o_icon_lic_by_nd:before{content:"\E814";font-family:openolat;font-size:120%}.o_icon_lic_by_nc:before{content:"\E815";font-family:openolat;font-size:120%}.o_icon_lic_by_nc_sa:before{content:"\E817";font-family:openolat;font-size:120%}.o_icon_lic_by_nc_nd:before{content:"\E819";font-family:openolat;font-size:120%}.o_icon_lic_all_rights_reserved:before{content:""}.o_icon_lic_freetext:before{content:""}.o_icon_lic_general:before{content:""}a.o_icon:hover,a.o_icon:focus{text-decoration:none}img.o_emoticons_angel{background:url(../light/images/emoticons/smiley-angel.png);width:16px;height:16px}img.o_emoticons_angry{background:url(../light/images/emoticons/smiley-mad.png);width:16px;height:16px}img.o_emoticons_blushing{background:url(../light/images/emoticons/smiley-red.png);width:16px;height:16px}img.o_emoticons_confused{background:url(../light/images/emoticons/smiley-confuse.png);width:16px;height:16px}img.o_emoticons_cool{background:url(../light/images/emoticons/smiley-cool.png);width:16px;height:16px}img.o_emoticons_cry{background:url(../light/images/emoticons/smiley-cry.png);width:16px;height:16px}img.o_emoticons_devil{background:url(../light/images/emoticons/smiley-evil.png);width:16px;height:16px}img.o_emoticons_grin{background:url(../light/images/emoticons/smiley-grin.png);width:16px;height:16px}img.o_emoticons_kiss{background:url(../light/images/emoticons/smiley-kiss.png);width:16px;height:16px}img.o_emoticons_ohoh{background:url(../light/images/emoticons/smiley-eek.png);width:16px;height:16px}img.o_emoticons_sad{background:url(../light/images/emoticons/smiley-sad.png);width:16px;height:16px}img.o_emoticons_sick{background:url(../light/images/emoticons/smiley-sad-blue.png);width:16px;height:16px}img.o_emoticons_smile{background:url(../light/images/emoticons/smiley.png);width:16px;height:16px}img.o_emoticons_tongue{background:url(../light/images/emoticons/smiley-razz.png);width:16px;height:16px}img.o_emoticons_ugly{background:url(../light/images/emoticons/smiley-money.png);width:16px;height:16px}img.o_emoticons_weird{background:url(../light/images/emoticons/smiley-nerd.png);width:16px;height:16px}img.o_emoticons_wink{background:url(../light/images/emoticons/smiley-wink.png);width:16px;height:16px}img.o_emoticons_worried{background:url(../light/images/emoticons/smiley-roll-blue.png);width:16px;height:16px}img.o_emoticons_up{background:url(../light/images/emoticons/thumb-up.png);width:16px;height:16px}img.o_emoticons_down{background:url(../light/images/emoticons/thumb.png);width:16px;height:16px}.o_block_bottom,.o_block,.o_button_group,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry,.o_header_with_buttons,.o_search_result{margin-bottom:1em}.o_block_top,.o_block,.o_button_group,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry{margin-top:1em}.o_block_small_bottom,.o_block_small{margin-bottom:0.5em}.o_block_small_top,.o_block_small{margin-top:0.5em}.o_block_large_bottom,.o_block_large,.o_block_with_datecomp,.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file,.o_pf_content .o_forum,.o_pf_content .o_image,.o_pf_content .o_video,.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_wiki,.o_login .o_login_footer_wrapper,.o_portlet{margin-bottom:2em}.o_block_large_top,.o_block_large,.o_block_with_datecomp,.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file,.o_pf_content .o_forum,.o_pf_content .o_image,.o_pf_content .o_video,.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_wiki,.o_login .o_login_footer_wrapper,.o_portlet{margin-top:2em}.o_block_inline,.o_block_inline_left,.o_block_inline_both,.o_block_inline_right{display:inline-block}.o_block_inline_left,.o_block_inline_both{margin-left:0.5em}.o_block_inline_right,.o_block_inline_both{margin-right:0.5em}.o_block_centered_wrapper{display:table;width:100%;height:100%}.o_block_centered_content{display:table-cell;vertical-align:middle;text-align:center}.o_block_imagebg{background-repeat:no-repeat;background-position:center;background-size:cover}.o_block_imagebg span{padding:2px;background-color:rgba(255,255,255,0.8)}.o_block_imagebg h1,.o_block_imagebg h2,.o_block_imagebg h3,.o_block_imagebg h4,.o_block_imagebg .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_block_imagebg h2,.o_block_imagebg h5,.o_block_imagebg p{padding:2px;background-color:rgba(255,255,255,0.8);display:inline-block}.o_block_imagebg h1:after,.o_block_imagebg h2:after,.o_block_imagebg h3:after,.o_block_imagebg h4:after,.o_block_imagebg .o_cal .fc-header-title h2:after,.o_cal .fc-header-title .o_block_imagebg h2:after,.o_block_imagebg h5:after,.o_block_imagebg p:after{content:' ';display:block}.o_scrollblock,div.b_scrollblock{overflow-x:auto;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.o_button_group{text-align:center}.o_button_group a,.o_button_group input,.o_button_group button,.o_button_group .btn-group{margin-right:5px;margin-bottom:0.5em}.o_button_group a:last-child,.o_button_group input:last-child,.o_button_group button:last-child,.o_button_group .btn-group:last-child{margin-right:0}.o_button_group .btn-group a,.o_button_group .btn-group input,.o_button_group .btn-group button{margin-right:0;margin-bottom:0}.o_button_group .dropdown-menu{text-align:left}.o_button_group_left{text-align:left}.o_button_group_right{text-align:right}.o_button_group_top{margin-top:0}.o_header_with_buttons:before,.o_header_with_buttons:after{content:" ";display:table}.o_header_with_buttons:after{clear:both}.o_header_with_buttons h1,.o_header_with_buttons h2,.o_header_with_buttons h3,.o_header_with_buttons h4,.o_header_with_buttons .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_header_with_buttons h2,.o_header_with_buttons h5,.o_header_with_buttons h6{display:inline-block}.o_header_with_buttons .o_button_group{margin-bottom:0;float:right}.o_header_with_buttons h1+.o_button_group{margin-top:28px}.o_header_with_buttons h2+.o_button_group{margin-top:24px}.o_header_with_buttons h3+.o_button_group{margin-top:20px}.o_header_with_buttons h4+.o_button_group,.o_header_with_buttons .o_cal .fc-header-title h2+.o_button_group,.o_cal .fc-header-title .o_header_with_buttons h2+.o_button_group{margin-top:10px}.o_header_with_buttons h5+.o_button_group{margin-top:6.6666666667px}.o_header_with_buttons h6+.o_button_group{margin-top:5px}#o_main_center .o_header_with_buttons h2+.o_button_group{margin-top:0}.panel-heading.o_header_with_buttons{margin-bottom:0}.o_button_textstyle:before{content:'['}.o_button_textstyle:after{content:']'}.panel-imagebg{background-repeat:no-repeat;background-position:center;background-size:cover}.panel-imagebg.panel-default>.panel-heading{background-color:rgba(255,255,255,0.8);border-bottom:transparent}.panel-imagebg .panel-body span{padding:2px;background-color:rgba(255,255,255,0.8)}.panel-placeholder{border-width:2px;border-style:dashed;border-color:#78acd9;border-radius:10px}.panel-placeholder .panel-body{padding:10px}.panel-placeholder .panel-body:nth-child(n+2){border-top:none}.panel-placeholder .panel-body h3:nth-child(1),.panel-placeholder .panel-body h4:nth-child(1),.panel-placeholder .panel-body .o_cal .fc-header-title h2:nth-child(1),.o_cal .fc-header-title .panel-placeholder .panel-body h2:nth-child(1),.panel-placeholder .panel-body h5:nth-child(1){margin-top:0}.panel-placeholder .panel-body .o_button_group{margin-bottom:0}.panel-placeholder .panel-heading{border-top-right-radius:8px;border-top-left-radius:8px;border-width:2px;border-style:dashed;border-color:#78acd9;border-top:none;border-left:none;border-right:none;color:#337ab7;font-weight:bold}.panel-placeholder .panel-footer{border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-width:2px;border-style:dashed;border-color:#78acd9;border-bottom:none;border-left:none;border-right:none}.o_xsmall,.b_xsmall,p.b_xsmall,div.b_xsmall{font-size:12px}.o_small,.b_small,p.b_small,div.b_small,.o_comments .o_comment_wrapper h5,.o_comments .o_comment_wrapper .o_comment,.o_bc_meta,.tooltip,.o_htmleditor .o_metadata .o_lastmodified,.o_noti,.o_block_with_datecomp .o_meta,.o_togglebox_wrapper div.o_togglebox_content .o_hide,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_state,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_label,.o_course_run .o_toc .o_entry,.o_assessment_test_results .o_qti_to_overview{font-size:12px}.o_large,.b_large,p.b_large,div.b_large{font-size:18px}.o_xlarge,.b_xlarge,p.b_xlarge,div.b_xlarge{font-size:18px}.o_disabled,.b_disabled,p.b_disabled,div.b_disabled{color:#777 !important;cursor:default}.o_disabled:hover,.b_disabled:hover{color:#777 !important}.o_dimmed,.b_dimmed,p.b_dimmed,div.b_dimmed{opacity:.4;filter:alpha(opacity=40)}.o_selected,.b_selected,p.b_selected,div.b_selected{font-weight:bold}.o_deleted,.b_deleted,p.b_deleted,div.b_deleted{text-decoration:line-through}.o_highlight_on_hover:hover{background-color:#f5f5f5}.o_clickable{cursor:pointer}.o_ochre{color:#c8a959}.o_blue{color:#12223F}.o_undecorated:hover,.o_undecorated:focus,.o_disabled:hover,.b_disabled:hover,#o_main_wrapper #o_toplink:hover,#o_footer_powered a:hover,#o_share a:hover,#o_share_social_container a:hover,.o_toolbar .o_tools_container a:hover,.o_button_toggle:hover,.o_im_message_group .o_im_from:hover,.o_noti .o_label:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:hover,.o_catalog .o_level .o_meta .o_title a:hover,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:hover,.o_repo_details .o_social .o_comments:hover,.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a:hover,.o_login .o_login_register:hover,.o_disabled:focus,.b_disabled:focus,#o_main_wrapper #o_toplink:focus,#o_footer_powered a:focus,#o_share a:focus,#o_share_social_container a:focus,.o_toolbar .o_tools_container a:focus,.o_button_toggle:focus,.o_im_message_group .o_im_from:focus,.o_noti .o_label:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:focus,.o_catalog .o_level .o_meta .o_title a:focus,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:focus,.o_repo_details .o_social .o_comments:focus,.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a:focus,.o_login .o_login_register:focus{text-decoration:none}.o_copy_code,.b_copy_code,p.b_copy_code,div.b_copy_code,code,pre{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}.o_copy_code input,.o_copy_code textarea,.b_copy_code input,code input,pre input,.b_copy_code textarea,code textarea,pre textarea{border:0;width:90%;background:transparent}.o_nowrap,.b_copy_code,p.b_copy_code,div.b_copy_code,code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o_titled_wrapper .o_content{margin-top:20px}.o_video,.o_video video,.b_video,.o_video_wrapper{display:inline-block;max-width:100%;height:auto;max-width:100%}.o_image,.o_image img,img,.b_image{display:inline-block;max-width:100%;height:auto;max-width:100%}.o_figure_caption_bottom{display:inline-block;min-width:50%}.o_figure_caption_bottom figure{display:table}.o_figure_caption_bottom figcaption{display:table-caption;caption-side:bottom;font-size:90%;font-style:italic;text-align:center}.o_image_vertical_center_helper{display:inline-block;height:100%;vertical-align:middle}.o_image_vertical_center_helper+.o_image img{vertical-align:middle}.o_with_hyphens{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.o_page_margins{padding:25px}h1{color:#337ab7}h2{color:#337ab7}h3{color:#337ab7}h4,.o_cal .fc-header-title h2{color:#337ab7}h5{color:#337ab7}h5{color:#337ab7}fieldset legend{color:#333}.o_user_content_block a{color:#337ab7;text-decoration:none}.o_user_content_block a:hover,.o_user_content_block a:focus{color:#23527c;text-decoration:underline}.b_border_box,p.b_border_box,div.b_border_box{border:1px solid #777;padding:1em;border-top-right-radius:3px;border-top-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}table td{vertical-align:top}table.b_grid{width:99.5%;background:transparent;border-collapse:separate}table.b_grid td,table.b_grid th{padding:1px 5px;border:1px solid #777}table.b_grid thead td,table.b_grid th{background:#eee;font-weight:bold}table.b_border{width:99.5%;background:transparent;border-collapse:collapse}table.b_border td,table.b_border th{padding:1px 5px;border:1px solid #777}table.b_border thead td,table.b_border th{background:#eee;font-weight:bold}table.b_borderless{width:99.5%;background:transparent;border-collapse:separate}table.b_borderless td,table.b_borderless th{padding:1px 5px;border:0}table.b_borderless thead td,table.b_borderless th{font-weight:bold}table.b_full{width:99.5%}table.b_middle{background:transparent}table.b_middle td{vertical-align:middle}table.b_gray{border-collapse:collapse}table.b_gray td,table.b_gray th{padding:1px 5px;background:#eee;border:1px solid #fff}table.b_gray thead td,table.b_gray th{background:#d5d5d5;font-weight:bold}table.b_blue{border-collapse:collapse}table.b_blue td,table.b_blue th{padding:1px 5px;background:#d9edf7;border:1px solid #fff}table.b_blue thead td,table.b_blue th{background:#afd9ee;font-weight:bold}table.b_green{border-collapse:collapse}table.b_green td,table.b_green th{padding:1px 5px;background:#dff0d8;border:1px solid #fff}table.b_green thead td,table.b_green th{background:#c1e2b3;font-weight:bold}table.b_yellow{border-collapse:collapse}table.b_yellow td,table.b_yellow th{padding:1px 5px;background:#fcf8e3;border:1px solid #fff}table.b_yellow thead td,table.b_yellow th{background:#f7ecb5;font-weight:bold}table.b_red{border-collapse:collapse}table.b_red td,table.b_red th{padding:1px 5px;background:#f2dede;border:1px solid #fff}table.b_red thead td,table.b_red th{background:#e4b9b9;font-weight:bold}.b_align_normal{text-align:left}.b_align_center{text-align:center}.b_align_inverse{text-align:right}.b_align_justified{text-align:justify}a.b_link_extern{color:#337ab7}a.b_link_extern:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:"ï‚Ž"}a.b_link_mailto{color:#337ab7}a.b_link_mailto:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:""}a.b_link_forward{color:#337ab7}a.b_link_forward:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:"ï¤"}img.b_float_left{float:left;margin:0 2em 2em 0}img.b_float_left_clear{clear:both;margin:0 2em 2em 0;display:block}img.b_float_right{float:right;margin:0 0 2em 2em}img.b_float_right_clear{clear:both;display:block;margin:0 0 2em auto}img.b_float_left_clear_nomargin{float:left;display:block;margin:0 0 0 0}img.b_centered{clear:both;display:block;margin:0 auto 2em auto}img.b_circle{border-radius:50%}img.b_with_border{border:1px solid #ddd;padding:3px;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}p.b_figure_title{margin:20px 0 5px 0;font-size:85%;font-family:inherit}p.b_figure_caption{clear:both;margin:5px 0 20px 0;font-size:85%;font-family:inherit}.b_clear_float,p.b_clear_float,div.b_clear_float{clear:both}figure.align-left{float:left}figure.align-right{float:right}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}img.align-left{float:left}img.align-right{float:right}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}figure.image.align-center{display:block;text-align:center}figure.image.align-left{float:none;display:block;text-align:left}figure.image.align-left figcaption{text-align:left}figure.image.align-right{float:none;display:block;text-align:right}figure.image.align-right figcaption{text-align:right}figure.image{margin:2em 0 2em 0;border:0;background:none}figure.image img.b_float_left,figure.image img.b_float_left_clear,figure.image img.b_float_right,figure.image img.b_float_right_clear,figure.image img.b_float_left_clear_nomargin,figure.image img.b_centered{float:none;display:inline-block;margin:0}figure.image figcaption{font-size:90%;font-style:italic}.radial-progress{margin:10px;width:120px;height:120px;background-color:#eee;border-radius:50%;display:inline-block;position:relative}.radial-progress .circle .mask,.radial-progress .circle .fill,.radial-progress .circle .shadow{width:100%;height:100%;position:absolute;border-radius:50%}.radial-progress .circle .shadow{box-shadow:none inset}.radial-progress .circle .mask,.radial-progress .circle .fill{-webkit-backface-visibility:hidden;transition:-webkit-transform 1s;transition:-ms-transform 1s;transition:transform 1s;border-radius:50%}.radial-progress .circle .mask{clip:rect(0px, 120px, 120px, 60px)}.radial-progress .circle .mask .fill{clip:rect(0px, 60px, 120px, 0px);background-color:#337ab7}.radial-progress .inset{width:90px;height:90px;position:absolute;border-radius:50%;margin-left:15px;margin-top:15px;overflow:hidden;background-color:#fff;box-shadow:none;font-size:21.6px}.radial-progress .inset .bgIcon{position:absolute;font-size:80px;top:5px;left:-5px;opacity:0;transition:opacity 0;transition-delay:1s}.radial-progress .inset .percentage{height:80%;width:80%;position:absolute;top:10%;left:10%;display:table;line-height:1}.radial-progress .inset .percentage .centeredWrapper{display:table-cell;vertical-align:middle;text-align:center}.radial-progress .inset .percentage .centeredWrapper .number{font-weight:800;color:#337ab7}.radial-progress .inset .percentage .centeredWrapper .addon{color:#777;margin-top:5px}.radial-progress .inset .percentage .centeredWrapper .addon div:nth-of-type(1){font-size:0.55em;font-weight:bold}.radial-progress .inset .percentage .centeredWrapper .addon div:nth-of-type(2){margin-top:2px;font-size:0.45em}.radial-progress[data-progress="0"] .circle .mask.full,.radial-progress[data-progress="0"] .circle .fill{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.radial-progress[data-progress="0"] .circle .fill.fix{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.radial-progress[data-progress="1"] .circle .mask.full,.radial-progress[data-progress="1"] .circle .fill{-webkit-transform:rotate(1.8deg);-ms-transform:rotate(1.8deg);transform:rotate(1.8deg)}.radial-progress[data-progress="1"] .circle .fill.fix{-webkit-transform:rotate(3.6deg);-ms-transform:rotate(3.6deg);transform:rotate(3.6deg)}.radial-progress[data-progress="2"] .circle .mask.full,.radial-progress[data-progress="2"] .circle .fill{-webkit-transform:rotate(3.6deg);-ms-transform:rotate(3.6deg);transform:rotate(3.6deg)}.radial-progress[data-progress="2"] .circle .fill.fix{-webkit-transform:rotate(7.2deg);-ms-transform:rotate(7.2deg);transform:rotate(7.2deg)}.radial-progress[data-progress="3"] .circle .mask.full,.radial-progress[data-progress="3"] .circle .fill{-webkit-transform:rotate(5.4deg);-ms-transform:rotate(5.4deg);transform:rotate(5.4deg)}.radial-progress[data-progress="3"] .circle .fill.fix{-webkit-transform:rotate(10.8deg);-ms-transform:rotate(10.8deg);transform:rotate(10.8deg)}.radial-progress[data-progress="4"] .circle .mask.full,.radial-progress[data-progress="4"] .circle .fill{-webkit-transform:rotate(7.2deg);-ms-transform:rotate(7.2deg);transform:rotate(7.2deg)}.radial-progress[data-progress="4"] .circle .fill.fix{-webkit-transform:rotate(14.4deg);-ms-transform:rotate(14.4deg);transform:rotate(14.4deg)}.radial-progress[data-progress="5"] .circle .mask.full,.radial-progress[data-progress="5"] .circle .fill{-webkit-transform:rotate(9deg);-ms-transform:rotate(9deg);transform:rotate(9deg)}.radial-progress[data-progress="5"] .circle .fill.fix{-webkit-transform:rotate(18deg);-ms-transform:rotate(18deg);transform:rotate(18deg)}.radial-progress[data-progress="6"] .circle .mask.full,.radial-progress[data-progress="6"] .circle .fill{-webkit-transform:rotate(10.8deg);-ms-transform:rotate(10.8deg);transform:rotate(10.8deg)}.radial-progress[data-progress="6"] .circle .fill.fix{-webkit-transform:rotate(21.6deg);-ms-transform:rotate(21.6deg);transform:rotate(21.6deg)}.radial-progress[data-progress="7"] .circle .mask.full,.radial-progress[data-progress="7"] .circle .fill{-webkit-transform:rotate(12.6deg);-ms-transform:rotate(12.6deg);transform:rotate(12.6deg)}.radial-progress[data-progress="7"] .circle .fill.fix{-webkit-transform:rotate(25.2deg);-ms-transform:rotate(25.2deg);transform:rotate(25.2deg)}.radial-progress[data-progress="8"] .circle .mask.full,.radial-progress[data-progress="8"] .circle .fill{-webkit-transform:rotate(14.4deg);-ms-transform:rotate(14.4deg);transform:rotate(14.4deg)}.radial-progress[data-progress="8"] .circle .fill.fix{-webkit-transform:rotate(28.8deg);-ms-transform:rotate(28.8deg);transform:rotate(28.8deg)}.radial-progress[data-progress="9"] .circle .mask.full,.radial-progress[data-progress="9"] .circle .fill{-webkit-transform:rotate(16.2deg);-ms-transform:rotate(16.2deg);transform:rotate(16.2deg)}.radial-progress[data-progress="9"] .circle .fill.fix{-webkit-transform:rotate(32.4deg);-ms-transform:rotate(32.4deg);transform:rotate(32.4deg)}.radial-progress[data-progress="10"] .circle .mask.full,.radial-progress[data-progress="10"] .circle .fill{-webkit-transform:rotate(18deg);-ms-transform:rotate(18deg);transform:rotate(18deg)}.radial-progress[data-progress="10"] .circle .fill.fix{-webkit-transform:rotate(36deg);-ms-transform:rotate(36deg);transform:rotate(36deg)}.radial-progress[data-progress="11"] .circle .mask.full,.radial-progress[data-progress="11"] .circle .fill{-webkit-transform:rotate(19.8deg);-ms-transform:rotate(19.8deg);transform:rotate(19.8deg)}.radial-progress[data-progress="11"] .circle .fill.fix{-webkit-transform:rotate(39.6deg);-ms-transform:rotate(39.6deg);transform:rotate(39.6deg)}.radial-progress[data-progress="12"] .circle .mask.full,.radial-progress[data-progress="12"] .circle .fill{-webkit-transform:rotate(21.6deg);-ms-transform:rotate(21.6deg);transform:rotate(21.6deg)}.radial-progress[data-progress="12"] .circle .fill.fix{-webkit-transform:rotate(43.2deg);-ms-transform:rotate(43.2deg);transform:rotate(43.2deg)}.radial-progress[data-progress="13"] .circle .mask.full,.radial-progress[data-progress="13"] .circle .fill{-webkit-transform:rotate(23.4deg);-ms-transform:rotate(23.4deg);transform:rotate(23.4deg)}.radial-progress[data-progress="13"] .circle .fill.fix{-webkit-transform:rotate(46.8deg);-ms-transform:rotate(46.8deg);transform:rotate(46.8deg)}.radial-progress[data-progress="14"] .circle .mask.full,.radial-progress[data-progress="14"] .circle .fill{-webkit-transform:rotate(25.2deg);-ms-transform:rotate(25.2deg);transform:rotate(25.2deg)}.radial-progress[data-progress="14"] .circle .fill.fix{-webkit-transform:rotate(50.4deg);-ms-transform:rotate(50.4deg);transform:rotate(50.4deg)}.radial-progress[data-progress="15"] .circle .mask.full,.radial-progress[data-progress="15"] .circle .fill{-webkit-transform:rotate(27deg);-ms-transform:rotate(27deg);transform:rotate(27deg)}.radial-progress[data-progress="15"] .circle .fill.fix{-webkit-transform:rotate(54deg);-ms-transform:rotate(54deg);transform:rotate(54deg)}.radial-progress[data-progress="16"] .circle .mask.full,.radial-progress[data-progress="16"] .circle .fill{-webkit-transform:rotate(28.8deg);-ms-transform:rotate(28.8deg);transform:rotate(28.8deg)}.radial-progress[data-progress="16"] .circle .fill.fix{-webkit-transform:rotate(57.6deg);-ms-transform:rotate(57.6deg);transform:rotate(57.6deg)}.radial-progress[data-progress="17"] .circle .mask.full,.radial-progress[data-progress="17"] .circle .fill{-webkit-transform:rotate(30.6deg);-ms-transform:rotate(30.6deg);transform:rotate(30.6deg)}.radial-progress[data-progress="17"] .circle .fill.fix{-webkit-transform:rotate(61.2deg);-ms-transform:rotate(61.2deg);transform:rotate(61.2deg)}.radial-progress[data-progress="18"] .circle .mask.full,.radial-progress[data-progress="18"] .circle .fill{-webkit-transform:rotate(32.4deg);-ms-transform:rotate(32.4deg);transform:rotate(32.4deg)}.radial-progress[data-progress="18"] .circle .fill.fix{-webkit-transform:rotate(64.8deg);-ms-transform:rotate(64.8deg);transform:rotate(64.8deg)}.radial-progress[data-progress="19"] .circle .mask.full,.radial-progress[data-progress="19"] .circle .fill{-webkit-transform:rotate(34.2deg);-ms-transform:rotate(34.2deg);transform:rotate(34.2deg)}.radial-progress[data-progress="19"] .circle .fill.fix{-webkit-transform:rotate(68.4deg);-ms-transform:rotate(68.4deg);transform:rotate(68.4deg)}.radial-progress[data-progress="20"] .circle .mask.full,.radial-progress[data-progress="20"] .circle .fill{-webkit-transform:rotate(36deg);-ms-transform:rotate(36deg);transform:rotate(36deg)}.radial-progress[data-progress="20"] .circle .fill.fix{-webkit-transform:rotate(72deg);-ms-transform:rotate(72deg);transform:rotate(72deg)}.radial-progress[data-progress="21"] .circle .mask.full,.radial-progress[data-progress="21"] .circle .fill{-webkit-transform:rotate(37.8deg);-ms-transform:rotate(37.8deg);transform:rotate(37.8deg)}.radial-progress[data-progress="21"] .circle .fill.fix{-webkit-transform:rotate(75.6deg);-ms-transform:rotate(75.6deg);transform:rotate(75.6deg)}.radial-progress[data-progress="22"] .circle .mask.full,.radial-progress[data-progress="22"] .circle .fill{-webkit-transform:rotate(39.6deg);-ms-transform:rotate(39.6deg);transform:rotate(39.6deg)}.radial-progress[data-progress="22"] .circle .fill.fix{-webkit-transform:rotate(79.2deg);-ms-transform:rotate(79.2deg);transform:rotate(79.2deg)}.radial-progress[data-progress="23"] .circle .mask.full,.radial-progress[data-progress="23"] .circle .fill{-webkit-transform:rotate(41.4deg);-ms-transform:rotate(41.4deg);transform:rotate(41.4deg)}.radial-progress[data-progress="23"] .circle .fill.fix{-webkit-transform:rotate(82.8deg);-ms-transform:rotate(82.8deg);transform:rotate(82.8deg)}.radial-progress[data-progress="24"] .circle .mask.full,.radial-progress[data-progress="24"] .circle .fill{-webkit-transform:rotate(43.2deg);-ms-transform:rotate(43.2deg);transform:rotate(43.2deg)}.radial-progress[data-progress="24"] .circle .fill.fix{-webkit-transform:rotate(86.4deg);-ms-transform:rotate(86.4deg);transform:rotate(86.4deg)}.radial-progress[data-progress="25"] .circle .mask.full,.radial-progress[data-progress="25"] .circle .fill{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.radial-progress[data-progress="25"] .circle .fill.fix{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.radial-progress[data-progress="26"] .circle .mask.full,.radial-progress[data-progress="26"] .circle .fill{-webkit-transform:rotate(46.8deg);-ms-transform:rotate(46.8deg);transform:rotate(46.8deg)}.radial-progress[data-progress="26"] .circle .fill.fix{-webkit-transform:rotate(93.6deg);-ms-transform:rotate(93.6deg);transform:rotate(93.6deg)}.radial-progress[data-progress="27"] .circle .mask.full,.radial-progress[data-progress="27"] .circle .fill{-webkit-transform:rotate(48.6deg);-ms-transform:rotate(48.6deg);transform:rotate(48.6deg)}.radial-progress[data-progress="27"] .circle .fill.fix{-webkit-transform:rotate(97.2deg);-ms-transform:rotate(97.2deg);transform:rotate(97.2deg)}.radial-progress[data-progress="28"] .circle .mask.full,.radial-progress[data-progress="28"] .circle .fill{-webkit-transform:rotate(50.4deg);-ms-transform:rotate(50.4deg);transform:rotate(50.4deg)}.radial-progress[data-progress="28"] .circle .fill.fix{-webkit-transform:rotate(100.8deg);-ms-transform:rotate(100.8deg);transform:rotate(100.8deg)}.radial-progress[data-progress="29"] .circle .mask.full,.radial-progress[data-progress="29"] .circle .fill{-webkit-transform:rotate(52.2deg);-ms-transform:rotate(52.2deg);transform:rotate(52.2deg)}.radial-progress[data-progress="29"] .circle .fill.fix{-webkit-transform:rotate(104.4deg);-ms-transform:rotate(104.4deg);transform:rotate(104.4deg)}.radial-progress[data-progress="30"] .circle .mask.full,.radial-progress[data-progress="30"] .circle .fill{-webkit-transform:rotate(54deg);-ms-transform:rotate(54deg);transform:rotate(54deg)}.radial-progress[data-progress="30"] .circle .fill.fix{-webkit-transform:rotate(108deg);-ms-transform:rotate(108deg);transform:rotate(108deg)}.radial-progress[data-progress="31"] .circle .mask.full,.radial-progress[data-progress="31"] .circle .fill{-webkit-transform:rotate(55.8deg);-ms-transform:rotate(55.8deg);transform:rotate(55.8deg)}.radial-progress[data-progress="31"] .circle .fill.fix{-webkit-transform:rotate(111.6deg);-ms-transform:rotate(111.6deg);transform:rotate(111.6deg)}.radial-progress[data-progress="32"] .circle .mask.full,.radial-progress[data-progress="32"] .circle .fill{-webkit-transform:rotate(57.6deg);-ms-transform:rotate(57.6deg);transform:rotate(57.6deg)}.radial-progress[data-progress="32"] .circle .fill.fix{-webkit-transform:rotate(115.2deg);-ms-transform:rotate(115.2deg);transform:rotate(115.2deg)}.radial-progress[data-progress="33"] .circle .mask.full,.radial-progress[data-progress="33"] .circle .fill{-webkit-transform:rotate(59.4deg);-ms-transform:rotate(59.4deg);transform:rotate(59.4deg)}.radial-progress[data-progress="33"] .circle .fill.fix{-webkit-transform:rotate(118.8deg);-ms-transform:rotate(118.8deg);transform:rotate(118.8deg)}.radial-progress[data-progress="34"] .circle .mask.full,.radial-progress[data-progress="34"] .circle .fill{-webkit-transform:rotate(61.2deg);-ms-transform:rotate(61.2deg);transform:rotate(61.2deg)}.radial-progress[data-progress="34"] .circle .fill.fix{-webkit-transform:rotate(122.4deg);-ms-transform:rotate(122.4deg);transform:rotate(122.4deg)}.radial-progress[data-progress="35"] .circle .mask.full,.radial-progress[data-progress="35"] .circle .fill{-webkit-transform:rotate(63deg);-ms-transform:rotate(63deg);transform:rotate(63deg)}.radial-progress[data-progress="35"] .circle .fill.fix{-webkit-transform:rotate(126deg);-ms-transform:rotate(126deg);transform:rotate(126deg)}.radial-progress[data-progress="36"] .circle .mask.full,.radial-progress[data-progress="36"] .circle .fill{-webkit-transform:rotate(64.8deg);-ms-transform:rotate(64.8deg);transform:rotate(64.8deg)}.radial-progress[data-progress="36"] .circle .fill.fix{-webkit-transform:rotate(129.6deg);-ms-transform:rotate(129.6deg);transform:rotate(129.6deg)}.radial-progress[data-progress="37"] .circle .mask.full,.radial-progress[data-progress="37"] .circle .fill{-webkit-transform:rotate(66.6deg);-ms-transform:rotate(66.6deg);transform:rotate(66.6deg)}.radial-progress[data-progress="37"] .circle .fill.fix{-webkit-transform:rotate(133.2deg);-ms-transform:rotate(133.2deg);transform:rotate(133.2deg)}.radial-progress[data-progress="38"] .circle .mask.full,.radial-progress[data-progress="38"] .circle .fill{-webkit-transform:rotate(68.4deg);-ms-transform:rotate(68.4deg);transform:rotate(68.4deg)}.radial-progress[data-progress="38"] .circle .fill.fix{-webkit-transform:rotate(136.8deg);-ms-transform:rotate(136.8deg);transform:rotate(136.8deg)}.radial-progress[data-progress="39"] .circle .mask.full,.radial-progress[data-progress="39"] .circle .fill{-webkit-transform:rotate(70.2deg);-ms-transform:rotate(70.2deg);transform:rotate(70.2deg)}.radial-progress[data-progress="39"] .circle .fill.fix{-webkit-transform:rotate(140.4deg);-ms-transform:rotate(140.4deg);transform:rotate(140.4deg)}.radial-progress[data-progress="40"] .circle .mask.full,.radial-progress[data-progress="40"] .circle .fill{-webkit-transform:rotate(72deg);-ms-transform:rotate(72deg);transform:rotate(72deg)}.radial-progress[data-progress="40"] .circle .fill.fix{-webkit-transform:rotate(144deg);-ms-transform:rotate(144deg);transform:rotate(144deg)}.radial-progress[data-progress="41"] .circle .mask.full,.radial-progress[data-progress="41"] .circle .fill{-webkit-transform:rotate(73.8deg);-ms-transform:rotate(73.8deg);transform:rotate(73.8deg)}.radial-progress[data-progress="41"] .circle .fill.fix{-webkit-transform:rotate(147.6deg);-ms-transform:rotate(147.6deg);transform:rotate(147.6deg)}.radial-progress[data-progress="42"] .circle .mask.full,.radial-progress[data-progress="42"] .circle .fill{-webkit-transform:rotate(75.6deg);-ms-transform:rotate(75.6deg);transform:rotate(75.6deg)}.radial-progress[data-progress="42"] .circle .fill.fix{-webkit-transform:rotate(151.2deg);-ms-transform:rotate(151.2deg);transform:rotate(151.2deg)}.radial-progress[data-progress="43"] .circle .mask.full,.radial-progress[data-progress="43"] .circle .fill{-webkit-transform:rotate(77.4deg);-ms-transform:rotate(77.4deg);transform:rotate(77.4deg)}.radial-progress[data-progress="43"] .circle .fill.fix{-webkit-transform:rotate(154.8deg);-ms-transform:rotate(154.8deg);transform:rotate(154.8deg)}.radial-progress[data-progress="44"] .circle .mask.full,.radial-progress[data-progress="44"] .circle .fill{-webkit-transform:rotate(79.2deg);-ms-transform:rotate(79.2deg);transform:rotate(79.2deg)}.radial-progress[data-progress="44"] .circle .fill.fix{-webkit-transform:rotate(158.4deg);-ms-transform:rotate(158.4deg);transform:rotate(158.4deg)}.radial-progress[data-progress="45"] .circle .mask.full,.radial-progress[data-progress="45"] .circle .fill{-webkit-transform:rotate(81deg);-ms-transform:rotate(81deg);transform:rotate(81deg)}.radial-progress[data-progress="45"] .circle .fill.fix{-webkit-transform:rotate(162deg);-ms-transform:rotate(162deg);transform:rotate(162deg)}.radial-progress[data-progress="46"] .circle .mask.full,.radial-progress[data-progress="46"] .circle .fill{-webkit-transform:rotate(82.8deg);-ms-transform:rotate(82.8deg);transform:rotate(82.8deg)}.radial-progress[data-progress="46"] .circle .fill.fix{-webkit-transform:rotate(165.6deg);-ms-transform:rotate(165.6deg);transform:rotate(165.6deg)}.radial-progress[data-progress="47"] .circle .mask.full,.radial-progress[data-progress="47"] .circle .fill{-webkit-transform:rotate(84.6deg);-ms-transform:rotate(84.6deg);transform:rotate(84.6deg)}.radial-progress[data-progress="47"] .circle .fill.fix{-webkit-transform:rotate(169.2deg);-ms-transform:rotate(169.2deg);transform:rotate(169.2deg)}.radial-progress[data-progress="48"] .circle .mask.full,.radial-progress[data-progress="48"] .circle .fill{-webkit-transform:rotate(86.4deg);-ms-transform:rotate(86.4deg);transform:rotate(86.4deg)}.radial-progress[data-progress="48"] .circle .fill.fix{-webkit-transform:rotate(172.8deg);-ms-transform:rotate(172.8deg);transform:rotate(172.8deg)}.radial-progress[data-progress="49"] .circle .mask.full,.radial-progress[data-progress="49"] .circle .fill{-webkit-transform:rotate(88.2deg);-ms-transform:rotate(88.2deg);transform:rotate(88.2deg)}.radial-progress[data-progress="49"] .circle .fill.fix{-webkit-transform:rotate(176.4deg);-ms-transform:rotate(176.4deg);transform:rotate(176.4deg)}.radial-progress[data-progress="50"] .circle .mask.full,.radial-progress[data-progress="50"] .circle .fill{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.radial-progress[data-progress="50"] .circle .fill.fix{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.radial-progress[data-progress="51"] .circle .mask.full,.radial-progress[data-progress="51"] .circle .fill{-webkit-transform:rotate(91.8deg);-ms-transform:rotate(91.8deg);transform:rotate(91.8deg)}.radial-progress[data-progress="51"] .circle .fill.fix{-webkit-transform:rotate(183.6deg);-ms-transform:rotate(183.6deg);transform:rotate(183.6deg)}.radial-progress[data-progress="52"] .circle .mask.full,.radial-progress[data-progress="52"] .circle .fill{-webkit-transform:rotate(93.6deg);-ms-transform:rotate(93.6deg);transform:rotate(93.6deg)}.radial-progress[data-progress="52"] .circle .fill.fix{-webkit-transform:rotate(187.2deg);-ms-transform:rotate(187.2deg);transform:rotate(187.2deg)}.radial-progress[data-progress="53"] .circle .mask.full,.radial-progress[data-progress="53"] .circle .fill{-webkit-transform:rotate(95.4deg);-ms-transform:rotate(95.4deg);transform:rotate(95.4deg)}.radial-progress[data-progress="53"] .circle .fill.fix{-webkit-transform:rotate(190.8deg);-ms-transform:rotate(190.8deg);transform:rotate(190.8deg)}.radial-progress[data-progress="54"] .circle .mask.full,.radial-progress[data-progress="54"] .circle .fill{-webkit-transform:rotate(97.2deg);-ms-transform:rotate(97.2deg);transform:rotate(97.2deg)}.radial-progress[data-progress="54"] .circle .fill.fix{-webkit-transform:rotate(194.4deg);-ms-transform:rotate(194.4deg);transform:rotate(194.4deg)}.radial-progress[data-progress="55"] .circle .mask.full,.radial-progress[data-progress="55"] .circle .fill{-webkit-transform:rotate(99deg);-ms-transform:rotate(99deg);transform:rotate(99deg)}.radial-progress[data-progress="55"] .circle .fill.fix{-webkit-transform:rotate(198deg);-ms-transform:rotate(198deg);transform:rotate(198deg)}.radial-progress[data-progress="56"] .circle .mask.full,.radial-progress[data-progress="56"] .circle .fill{-webkit-transform:rotate(100.8deg);-ms-transform:rotate(100.8deg);transform:rotate(100.8deg)}.radial-progress[data-progress="56"] .circle .fill.fix{-webkit-transform:rotate(201.6deg);-ms-transform:rotate(201.6deg);transform:rotate(201.6deg)}.radial-progress[data-progress="57"] .circle .mask.full,.radial-progress[data-progress="57"] .circle .fill{-webkit-transform:rotate(102.6deg);-ms-transform:rotate(102.6deg);transform:rotate(102.6deg)}.radial-progress[data-progress="57"] .circle .fill.fix{-webkit-transform:rotate(205.2deg);-ms-transform:rotate(205.2deg);transform:rotate(205.2deg)}.radial-progress[data-progress="58"] .circle .mask.full,.radial-progress[data-progress="58"] .circle .fill{-webkit-transform:rotate(104.4deg);-ms-transform:rotate(104.4deg);transform:rotate(104.4deg)}.radial-progress[data-progress="58"] .circle .fill.fix{-webkit-transform:rotate(208.8deg);-ms-transform:rotate(208.8deg);transform:rotate(208.8deg)}.radial-progress[data-progress="59"] .circle .mask.full,.radial-progress[data-progress="59"] .circle .fill{-webkit-transform:rotate(106.2deg);-ms-transform:rotate(106.2deg);transform:rotate(106.2deg)}.radial-progress[data-progress="59"] .circle .fill.fix{-webkit-transform:rotate(212.4deg);-ms-transform:rotate(212.4deg);transform:rotate(212.4deg)}.radial-progress[data-progress="60"] .circle .mask.full,.radial-progress[data-progress="60"] .circle .fill{-webkit-transform:rotate(108deg);-ms-transform:rotate(108deg);transform:rotate(108deg)}.radial-progress[data-progress="60"] .circle .fill.fix{-webkit-transform:rotate(216deg);-ms-transform:rotate(216deg);transform:rotate(216deg)}.radial-progress[data-progress="61"] .circle .mask.full,.radial-progress[data-progress="61"] .circle .fill{-webkit-transform:rotate(109.8deg);-ms-transform:rotate(109.8deg);transform:rotate(109.8deg)}.radial-progress[data-progress="61"] .circle .fill.fix{-webkit-transform:rotate(219.6deg);-ms-transform:rotate(219.6deg);transform:rotate(219.6deg)}.radial-progress[data-progress="62"] .circle .mask.full,.radial-progress[data-progress="62"] .circle .fill{-webkit-transform:rotate(111.6deg);-ms-transform:rotate(111.6deg);transform:rotate(111.6deg)}.radial-progress[data-progress="62"] .circle .fill.fix{-webkit-transform:rotate(223.2deg);-ms-transform:rotate(223.2deg);transform:rotate(223.2deg)}.radial-progress[data-progress="63"] .circle .mask.full,.radial-progress[data-progress="63"] .circle .fill{-webkit-transform:rotate(113.4deg);-ms-transform:rotate(113.4deg);transform:rotate(113.4deg)}.radial-progress[data-progress="63"] .circle .fill.fix{-webkit-transform:rotate(226.8deg);-ms-transform:rotate(226.8deg);transform:rotate(226.8deg)}.radial-progress[data-progress="64"] .circle .mask.full,.radial-progress[data-progress="64"] .circle .fill{-webkit-transform:rotate(115.2deg);-ms-transform:rotate(115.2deg);transform:rotate(115.2deg)}.radial-progress[data-progress="64"] .circle .fill.fix{-webkit-transform:rotate(230.4deg);-ms-transform:rotate(230.4deg);transform:rotate(230.4deg)}.radial-progress[data-progress="65"] .circle .mask.full,.radial-progress[data-progress="65"] .circle .fill{-webkit-transform:rotate(117deg);-ms-transform:rotate(117deg);transform:rotate(117deg)}.radial-progress[data-progress="65"] .circle .fill.fix{-webkit-transform:rotate(234deg);-ms-transform:rotate(234deg);transform:rotate(234deg)}.radial-progress[data-progress="66"] .circle .mask.full,.radial-progress[data-progress="66"] .circle .fill{-webkit-transform:rotate(118.8deg);-ms-transform:rotate(118.8deg);transform:rotate(118.8deg)}.radial-progress[data-progress="66"] .circle .fill.fix{-webkit-transform:rotate(237.6deg);-ms-transform:rotate(237.6deg);transform:rotate(237.6deg)}.radial-progress[data-progress="67"] .circle .mask.full,.radial-progress[data-progress="67"] .circle .fill{-webkit-transform:rotate(120.6deg);-ms-transform:rotate(120.6deg);transform:rotate(120.6deg)}.radial-progress[data-progress="67"] .circle .fill.fix{-webkit-transform:rotate(241.2deg);-ms-transform:rotate(241.2deg);transform:rotate(241.2deg)}.radial-progress[data-progress="68"] .circle .mask.full,.radial-progress[data-progress="68"] .circle .fill{-webkit-transform:rotate(122.4deg);-ms-transform:rotate(122.4deg);transform:rotate(122.4deg)}.radial-progress[data-progress="68"] .circle .fill.fix{-webkit-transform:rotate(244.8deg);-ms-transform:rotate(244.8deg);transform:rotate(244.8deg)}.radial-progress[data-progress="69"] .circle .mask.full,.radial-progress[data-progress="69"] .circle .fill{-webkit-transform:rotate(124.2deg);-ms-transform:rotate(124.2deg);transform:rotate(124.2deg)}.radial-progress[data-progress="69"] .circle .fill.fix{-webkit-transform:rotate(248.4deg);-ms-transform:rotate(248.4deg);transform:rotate(248.4deg)}.radial-progress[data-progress="70"] .circle .mask.full,.radial-progress[data-progress="70"] .circle .fill{-webkit-transform:rotate(126deg);-ms-transform:rotate(126deg);transform:rotate(126deg)}.radial-progress[data-progress="70"] .circle .fill.fix{-webkit-transform:rotate(252deg);-ms-transform:rotate(252deg);transform:rotate(252deg)}.radial-progress[data-progress="71"] .circle .mask.full,.radial-progress[data-progress="71"] .circle .fill{-webkit-transform:rotate(127.8deg);-ms-transform:rotate(127.8deg);transform:rotate(127.8deg)}.radial-progress[data-progress="71"] .circle .fill.fix{-webkit-transform:rotate(255.6deg);-ms-transform:rotate(255.6deg);transform:rotate(255.6deg)}.radial-progress[data-progress="72"] .circle .mask.full,.radial-progress[data-progress="72"] .circle .fill{-webkit-transform:rotate(129.6deg);-ms-transform:rotate(129.6deg);transform:rotate(129.6deg)}.radial-progress[data-progress="72"] .circle .fill.fix{-webkit-transform:rotate(259.2deg);-ms-transform:rotate(259.2deg);transform:rotate(259.2deg)}.radial-progress[data-progress="73"] .circle .mask.full,.radial-progress[data-progress="73"] .circle .fill{-webkit-transform:rotate(131.4deg);-ms-transform:rotate(131.4deg);transform:rotate(131.4deg)}.radial-progress[data-progress="73"] .circle .fill.fix{-webkit-transform:rotate(262.8deg);-ms-transform:rotate(262.8deg);transform:rotate(262.8deg)}.radial-progress[data-progress="74"] .circle .mask.full,.radial-progress[data-progress="74"] .circle .fill{-webkit-transform:rotate(133.2deg);-ms-transform:rotate(133.2deg);transform:rotate(133.2deg)}.radial-progress[data-progress="74"] .circle .fill.fix{-webkit-transform:rotate(266.4deg);-ms-transform:rotate(266.4deg);transform:rotate(266.4deg)}.radial-progress[data-progress="75"] .circle .mask.full,.radial-progress[data-progress="75"] .circle .fill{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.radial-progress[data-progress="75"] .circle .fill.fix{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.radial-progress[data-progress="76"] .circle .mask.full,.radial-progress[data-progress="76"] .circle .fill{-webkit-transform:rotate(136.8deg);-ms-transform:rotate(136.8deg);transform:rotate(136.8deg)}.radial-progress[data-progress="76"] .circle .fill.fix{-webkit-transform:rotate(273.6deg);-ms-transform:rotate(273.6deg);transform:rotate(273.6deg)}.radial-progress[data-progress="77"] .circle .mask.full,.radial-progress[data-progress="77"] .circle .fill{-webkit-transform:rotate(138.6deg);-ms-transform:rotate(138.6deg);transform:rotate(138.6deg)}.radial-progress[data-progress="77"] .circle .fill.fix{-webkit-transform:rotate(277.2deg);-ms-transform:rotate(277.2deg);transform:rotate(277.2deg)}.radial-progress[data-progress="78"] .circle .mask.full,.radial-progress[data-progress="78"] .circle .fill{-webkit-transform:rotate(140.4deg);-ms-transform:rotate(140.4deg);transform:rotate(140.4deg)}.radial-progress[data-progress="78"] .circle .fill.fix{-webkit-transform:rotate(280.8deg);-ms-transform:rotate(280.8deg);transform:rotate(280.8deg)}.radial-progress[data-progress="79"] .circle .mask.full,.radial-progress[data-progress="79"] .circle .fill{-webkit-transform:rotate(142.2deg);-ms-transform:rotate(142.2deg);transform:rotate(142.2deg)}.radial-progress[data-progress="79"] .circle .fill.fix{-webkit-transform:rotate(284.4deg);-ms-transform:rotate(284.4deg);transform:rotate(284.4deg)}.radial-progress[data-progress="80"] .circle .mask.full,.radial-progress[data-progress="80"] .circle .fill{-webkit-transform:rotate(144deg);-ms-transform:rotate(144deg);transform:rotate(144deg)}.radial-progress[data-progress="80"] .circle .fill.fix{-webkit-transform:rotate(288deg);-ms-transform:rotate(288deg);transform:rotate(288deg)}.radial-progress[data-progress="81"] .circle .mask.full,.radial-progress[data-progress="81"] .circle .fill{-webkit-transform:rotate(145.8deg);-ms-transform:rotate(145.8deg);transform:rotate(145.8deg)}.radial-progress[data-progress="81"] .circle .fill.fix{-webkit-transform:rotate(291.6deg);-ms-transform:rotate(291.6deg);transform:rotate(291.6deg)}.radial-progress[data-progress="82"] .circle .mask.full,.radial-progress[data-progress="82"] .circle .fill{-webkit-transform:rotate(147.6deg);-ms-transform:rotate(147.6deg);transform:rotate(147.6deg)}.radial-progress[data-progress="82"] .circle .fill.fix{-webkit-transform:rotate(295.2deg);-ms-transform:rotate(295.2deg);transform:rotate(295.2deg)}.radial-progress[data-progress="83"] .circle .mask.full,.radial-progress[data-progress="83"] .circle .fill{-webkit-transform:rotate(149.4deg);-ms-transform:rotate(149.4deg);transform:rotate(149.4deg)}.radial-progress[data-progress="83"] .circle .fill.fix{-webkit-transform:rotate(298.8deg);-ms-transform:rotate(298.8deg);transform:rotate(298.8deg)}.radial-progress[data-progress="84"] .circle .mask.full,.radial-progress[data-progress="84"] .circle .fill{-webkit-transform:rotate(151.2deg);-ms-transform:rotate(151.2deg);transform:rotate(151.2deg)}.radial-progress[data-progress="84"] .circle .fill.fix{-webkit-transform:rotate(302.4deg);-ms-transform:rotate(302.4deg);transform:rotate(302.4deg)}.radial-progress[data-progress="85"] .circle .mask.full,.radial-progress[data-progress="85"] .circle .fill{-webkit-transform:rotate(153deg);-ms-transform:rotate(153deg);transform:rotate(153deg)}.radial-progress[data-progress="85"] .circle .fill.fix{-webkit-transform:rotate(306deg);-ms-transform:rotate(306deg);transform:rotate(306deg)}.radial-progress[data-progress="86"] .circle .mask.full,.radial-progress[data-progress="86"] .circle .fill{-webkit-transform:rotate(154.8deg);-ms-transform:rotate(154.8deg);transform:rotate(154.8deg)}.radial-progress[data-progress="86"] .circle .fill.fix{-webkit-transform:rotate(309.6deg);-ms-transform:rotate(309.6deg);transform:rotate(309.6deg)}.radial-progress[data-progress="87"] .circle .mask.full,.radial-progress[data-progress="87"] .circle .fill{-webkit-transform:rotate(156.6deg);-ms-transform:rotate(156.6deg);transform:rotate(156.6deg)}.radial-progress[data-progress="87"] .circle .fill.fix{-webkit-transform:rotate(313.2deg);-ms-transform:rotate(313.2deg);transform:rotate(313.2deg)}.radial-progress[data-progress="88"] .circle .mask.full,.radial-progress[data-progress="88"] .circle .fill{-webkit-transform:rotate(158.4deg);-ms-transform:rotate(158.4deg);transform:rotate(158.4deg)}.radial-progress[data-progress="88"] .circle .fill.fix{-webkit-transform:rotate(316.8deg);-ms-transform:rotate(316.8deg);transform:rotate(316.8deg)}.radial-progress[data-progress="89"] .circle .mask.full,.radial-progress[data-progress="89"] .circle .fill{-webkit-transform:rotate(160.2deg);-ms-transform:rotate(160.2deg);transform:rotate(160.2deg)}.radial-progress[data-progress="89"] .circle .fill.fix{-webkit-transform:rotate(320.4deg);-ms-transform:rotate(320.4deg);transform:rotate(320.4deg)}.radial-progress[data-progress="90"] .circle .mask.full,.radial-progress[data-progress="90"] .circle .fill{-webkit-transform:rotate(162deg);-ms-transform:rotate(162deg);transform:rotate(162deg)}.radial-progress[data-progress="90"] .circle .fill.fix{-webkit-transform:rotate(324deg);-ms-transform:rotate(324deg);transform:rotate(324deg)}.radial-progress[data-progress="91"] .circle .mask.full,.radial-progress[data-progress="91"] .circle .fill{-webkit-transform:rotate(163.8deg);-ms-transform:rotate(163.8deg);transform:rotate(163.8deg)}.radial-progress[data-progress="91"] .circle .fill.fix{-webkit-transform:rotate(327.6deg);-ms-transform:rotate(327.6deg);transform:rotate(327.6deg)}.radial-progress[data-progress="92"] .circle .mask.full,.radial-progress[data-progress="92"] .circle .fill{-webkit-transform:rotate(165.6deg);-ms-transform:rotate(165.6deg);transform:rotate(165.6deg)}.radial-progress[data-progress="92"] .circle .fill.fix{-webkit-transform:rotate(331.2deg);-ms-transform:rotate(331.2deg);transform:rotate(331.2deg)}.radial-progress[data-progress="93"] .circle .mask.full,.radial-progress[data-progress="93"] .circle .fill{-webkit-transform:rotate(167.4deg);-ms-transform:rotate(167.4deg);transform:rotate(167.4deg)}.radial-progress[data-progress="93"] .circle .fill.fix{-webkit-transform:rotate(334.8deg);-ms-transform:rotate(334.8deg);transform:rotate(334.8deg)}.radial-progress[data-progress="94"] .circle .mask.full,.radial-progress[data-progress="94"] .circle .fill{-webkit-transform:rotate(169.2deg);-ms-transform:rotate(169.2deg);transform:rotate(169.2deg)}.radial-progress[data-progress="94"] .circle .fill.fix{-webkit-transform:rotate(338.4deg);-ms-transform:rotate(338.4deg);transform:rotate(338.4deg)}.radial-progress[data-progress="95"] .circle .mask.full,.radial-progress[data-progress="95"] .circle .fill{-webkit-transform:rotate(171deg);-ms-transform:rotate(171deg);transform:rotate(171deg)}.radial-progress[data-progress="95"] .circle .fill.fix{-webkit-transform:rotate(342deg);-ms-transform:rotate(342deg);transform:rotate(342deg)}.radial-progress[data-progress="96"] .circle .mask.full,.radial-progress[data-progress="96"] .circle .fill{-webkit-transform:rotate(172.8deg);-ms-transform:rotate(172.8deg);transform:rotate(172.8deg)}.radial-progress[data-progress="96"] .circle .fill.fix{-webkit-transform:rotate(345.6deg);-ms-transform:rotate(345.6deg);transform:rotate(345.6deg)}.radial-progress[data-progress="97"] .circle .mask.full,.radial-progress[data-progress="97"] .circle .fill{-webkit-transform:rotate(174.6deg);-ms-transform:rotate(174.6deg);transform:rotate(174.6deg)}.radial-progress[data-progress="97"] .circle .fill.fix{-webkit-transform:rotate(349.2deg);-ms-transform:rotate(349.2deg);transform:rotate(349.2deg)}.radial-progress[data-progress="98"] .circle .mask.full,.radial-progress[data-progress="98"] .circle .fill{-webkit-transform:rotate(176.4deg);-ms-transform:rotate(176.4deg);transform:rotate(176.4deg)}.radial-progress[data-progress="98"] .circle .fill.fix{-webkit-transform:rotate(352.8deg);-ms-transform:rotate(352.8deg);transform:rotate(352.8deg)}.radial-progress[data-progress="99"] .circle .mask.full,.radial-progress[data-progress="99"] .circle .fill{-webkit-transform:rotate(178.2deg);-ms-transform:rotate(178.2deg);transform:rotate(178.2deg)}.radial-progress[data-progress="99"] .circle .fill.fix{-webkit-transform:rotate(356.4deg);-ms-transform:rotate(356.4deg);transform:rotate(356.4deg)}.radial-progress[data-progress="100"] .circle .mask.full,.radial-progress[data-progress="100"] .circle .fill{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.radial-progress[data-progress="100"] .circle .fill.fix{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}.radial-progress:not([data-progress="0"]) .inset .bgIcon{opacity:1}.radial-progress.radial-progress-success .circle .mask .fill{background-color:#5cb85c}.radial-progress.radial-progress-success .inset .percentage .number span{color:#5cb85c}.radial-progress.radial-progress-info .circle .mask .fill{background-color:#5bc0de}.radial-progress.radial-progress-info .inset .percentage .number span{color:#5bc0de}.radial-progress.radial-progress-danger .circle .mask .fill{background-color:#d9534f}.radial-progress.radial-progress-danger .inset .percentage .number span{color:#d9534f}.radial-progress.radial-progress-warning .circle .mask .fill{background-color:#f0ad4e}.radial-progress.radial-progress-warning .inset .percentage .number span{color:#f0ad4e}.radial-progress.radial-progress-sm{width:80px;height:80px}.radial-progress.radial-progress-sm .circle .mask{clip:rect(0px, 80px, 80px, 40px)}.radial-progress.radial-progress-sm .circle .mask .fill{clip:rect(0px, 40px, 80px, 0px)}.radial-progress.radial-progress-sm .inset{width:60px;height:60px;margin-left:10px;margin-top:10px;font-size:14.4px}.radial-progress.radial-progress-sm .inset .bgIcon{position:absolute;font-size:50px;top:5px;left:-2px}.radial-progress.radial-progress-lg{width:180px;height:180px}.radial-progress.radial-progress-lg .circle .mask{clip:rect(0px, 180px, 180px, 90px)}.radial-progress.radial-progress-lg .circle .mask .fill{clip:rect(0px, 90px, 180px, 0px)}.radial-progress.radial-progress-lg .inset{width:135px;height:135px;margin-left:22.5px;margin-top:22.5px;font-size:32.4px}.radial-progress.radial-progress-lg .inset .bgIcon{position:absolute;font-size:115px;top:5px;left:-6px}html{position:relative;min-height:100%}body{min-height:100%;margin-bottom:80px}#o_main_wrapper{background:#fff;z-index:3}#o_main_wrapper #o_main_container{background:#fff}#o_main_wrapper #o_main_container #o_main_left{float:left;z-index:2;position:relative;background:#fff}#o_main_wrapper #o_main_container #o_main_left #o_main_left_content{padding:0 0 0 15px}#o_main_wrapper #o_main_container #o_main_left #o_main_left_toggle{position:absolute;display:none;right:0;top:70px;margin-right:-30px;font-size:25px;line-height:35px;text-align:center;width:30px;height:35px;z-index:3;border:1px solid #ddd;border-left:none;border-bottom-right-radius:4px;border-top-right-radius:4px;background-color:#fbfbfb;-webkit-box-shadow:2px 0px 4px 1px rgba(0,0,0,0.15);box-shadow:2px 0px 4px 1px rgba(0,0,0,0.15);color:#337ab7}#o_main_wrapper #o_main_container #o_main_left.o_offcanvas{background:#fbfbfb;-webkit-box-shadow:0px 0px 6px 1px rgba(0,0,0,0.2);box-shadow:0px 0px 6px 1px rgba(0,0,0,0.2);min-width:250px}#o_main_wrapper #o_main_container #o_main_left.o_offcanvas #o_main_left_content{padding:0 0 0 0}#o_main_wrapper #o_main_container #o_main_right{float:right;z-index:2;position:relative;background:inherit}#o_main_wrapper #o_main_container #o_main_right #o_main_right_content{padding:0 15px 0 0}#o_main_wrapper #o_main_container #o_main_center{position:relative;z-index:1;background:inherit}#o_main_wrapper #o_main_container #o_main_center h2:first-child{margin-top:0}@media screen and (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center{margin-left:0 !important}}#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:0 15px}#o_main_wrapper #o_main_container #o_main_center #o_main_center_content #o_main_center_content_inner{padding-bottom:15px}#o_main_wrapper #o_toplink{position:absolute;bottom:0;right:15px;text-align:center;z-index:3}@media (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:15px}}#o_back_wrapper,#o_preview_wrapper{margin-top:10px}#o_back_wrapper.o_toolbar .o_breadcrumb .breadcrumb,#o_preview_wrapper.o_toolbar .o_breadcrumb .breadcrumb{font-size:14px}body.o_message #o_main_center_content_inner{min-height:150px;max-width:500px;padding:15px;margin:60px auto}#o_footer_wrapper{position:absolute;bottom:0;width:100%;height:70px;overflow:hidden;background-color:#f5f5f5;color:#999;line-height:16px;font-size:12px}#o_footer_wrapper a{color:#999}#o_footer_wrapper a:hover{color:#000}#o_footer_container{position:relative;padding-top:10px;min-height:70px;background:#f5f5f5;z-index:1}#o_footer_user{position:absolute;left:15px;top:10px;z-index:1}#o_footer_user #o_counter{white-space:nowrap}#o_footer_user #o_username{white-space:nowrap;margin-right:1em}#o_footer_version{position:absolute;right:15px;top:10px;text-align:right;z-index:1}@media (max-width: 767px){#o_footer_version{padding-top:10px;text-align:left}}#o_footer_powered{position:absolute;top:30px;right:15px;z-index:1}#o_footer_powered img{opacity:.6;filter:alpha(opacity=60)}#o_footer_powered img:hover{opacity:1;filter:alpha(opacity=100)}#o_footer_impressum{position:absolute;top:10px;width:100%;text-align:center;z-index:-1}#o_footer_impressum i{display:none}#o_footer_textline{position:absolute;top:30px;width:100%;text-align:center;z-index:-1}#o_share{margin-top:10px}#o_share a{opacity:.6;filter:alpha(opacity=60)}#o_share a:hover{opacity:1;filter:alpha(opacity=100)}#o_share a,#o_share_social_container a{color:#999;margin:0 0.25em 0 0}#o_share a:hover,#o_share_social_container a:hover{color:#000}@media (max-width: 767px){#o_counter,#o_footer_version,#o_share{display:none}#o_footer_impressum{top:30px;text-align:left}#o_footer_textline{top:50px;text-align:left}#o_footer_powered{top:10px}#o_footer_powered a:after{content:"\221E";font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:14px}#o_footer_powered img{display:none}}#o_navbar_wrapper{z-index:4;border-top:1px solid #e7e7e7;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1)}#o_navbar_wrapper #o_navbar_container{position:relative}a.o_disabled.navbar-text{margin:0}.o_navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid #e7e7e7;background-color:#f8f8f8}.o_navbar:before,.o_navbar:after{content:" ";display:table}.o_navbar:after{clear:both}.o_navbar .o_navbar_tabs li{max-width:150px}.o_navbar .o_navbar_tabs li a{padding-right:30px}.o_navbar .o_navbar_tabs li a:first-child span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.o_navbar .o_navbar_tabs .o_icon-fw{position:absolute;top:15px;left:0.5em;padding-top:3px;width:1em;height:1em;display:none}.o_navbar .o_navbar_tabs .o_navbar_tab_close{position:absolute;top:15px;right:0.5em;padding:0;width:1em;height:1em}.o_navbar .o_navbar_tabs .o_navbar_tab_close i:before{color:#d9534f}.o_navbar .o_navbar_tabs .o_navbar_tab_close:hover i:before{color:#c9302c}.o_navbar .o_custom_navbar-brand{background-position:5px 0;background-repeat:no-repeat;height:50px;width:120px}.o_navbar #o_navbar_langchooser{color:#777;padding:7px 15px}.o_navbar #o_navbar_langchooser form span+div{display:inline}.o_navbar #o_navbar_tools_permanent #o_navbar_print a,.o_navbar #o_navbar_tools_permanent #o_navbar_impress a,.o_navbar #o_navbar_tools_permanent #o_navbar_help a{color:#777;padding-right:0}.o_navbar #o_navbar_tools_permanent #o_navbar_login a{color:#f0ad4e}.o_navbar .o_navbar_tools>#o_navbar_tools_permanent>li>a>span{display:none}@media (min-width: 768px){.o_navbar .o_navbar_tools li.o_portrait>a>span{display:inline}}.o_navbar #o_navbar_tools_personal .o_navbar_tool a,.o_navbar #o_navbar_tools_permanent .o_navbar_tool a{padding-right:5px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu a,.o_navbar #o_navbar_tools_permanent #o_navbar_my_menu a{padding-left:45px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu .dropdown-menu a,.o_navbar #o_navbar_tools_permanent #o_navbar_my_menu .dropdown-menu a{padding-left:15px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu .o_portrait,.o_navbar #o_navbar_tools_permanent #o_navbar_my_menu .o_portrait{position:absolute;left:7px;top:10px}.o_navbar #o_navbar_tools_personal .o_logout,.o_navbar #o_navbar_tools_permanent .o_logout{color:#d9534f}.o_navbar.o_navbar-offcanvas .o_navbar_tab_close{top:10px;right:10px}.o_navbar.o_navbar-offcanvas .o_navbar-right a{padding:3px 20px;color:#9d9d9d}.o_navbar.o_navbar-offcanvas .o_navbar-right a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-right a:focus{color:#fff;background-color:transparent}.o_navbar.o_navbar-offcanvas .o_navbar-right a.o_logout{color:#d9534f}.o_navbar.o_navbar-offcanvas .o_navbar-right a.o_logout:hover,.o_navbar.o_navbar-offcanvas .o_navbar-right a.o_logout:focus{color:#c9302c}.o_navbar.o_navbar-offcanvas .o_navbar-right a .o_icon-lg{font-size:1.0em;vertical-align:baseline}.o_navbar.o_navbar-offcanvas .o_navbar-right .divider{height:1px;margin:9px 0;overflow:hidden;background-color:none}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-header{padding-left:15px}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-toggle{display:none}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-menu{box-shadow:none;position:relative;top:0;left:0;display:block;float:none;background-color:#222;color:#9d9d9d;font-size:14px;border:none}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-menu .divider{background:none}.o_navbar.o_navbar-offcanvas .o_navbar-nav a{color:#9d9d9d;text-shadow:none}.o_navbar.o_navbar-offcanvas .o_navbar-nav a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav a:focus{background-color:transparent;color:#fff}.o_navbar.o_navbar-offcanvas .o_navbar-nav .active a,.o_navbar.o_navbar-offcanvas .o_navbar-nav .active a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .active a:focus{background-color:#090909;color:#fff}.o_navbar.o_navbar-offcanvas .o_navbar-nav .o_navbar-link{color:#9d9d9d}.o_navbar.o_navbar-offcanvas .o_navbar-nav .o_navbar-link:hover{color:#fff}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>li>a{color:#777}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>li>a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.active>a,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.active>a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.disabled>a,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.disabled>a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}#o_navbar_impress a span,#o_navbar_search_opener a span{display:none}body.o_dmz #o_navbar_print a span,body.o_dmz #o_navbar_impress a span,body.o_dmz #o_navbar_help a span,body.o_dmz #o_navbar_search_opener a span{display:inline}.o_navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;-webkit-overflow-scrolling:touch}.o_navbar-collapse:before,.o_navbar-collapse:after{content:" ";display:table}.o_navbar-collapse:after{clear:both}.o_navbar-collapse.o_collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.o_navbar-offcanvas .o_navbar-collapse{width:auto;box-shadow:none;margin-top:10px;margin-right:-15px;margin-left:-15px}.o_navbar-brand{float:left;font-size:18px;line-height:20px;height:50px;color:#777}.o_navbar-brand:hover,.o_navbar-brand:focus{text-decoration:none;color:#5e5e5e;background-color:transparent}.o_navbar-toggle{position:relative;margin-right:15px;margin-left:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;border:1px solid #ddd;border-radius:4px;background-color:transparent;background-image:none}.o_navbar-toggle:hover,.o_navbar-toggle:focus{outline:none;background-color:#ddd}.o_navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px;background-color:#888}.o_navbar-toggle .icon-bar+.icon-bar{margin-top:4px}#o_navbar_left-toggle{float:left}#o_navbar_right-toggle{float:right}.o_navbar-link{color:#777}.o_navbar-link:hover{color:#333}.o_navbar-nav{margin:7.5px -15px}.o_navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px;color:#777}.o_navbar-nav>li>a:hover,.o_navbar-nav>li>a:focus{color:#333;background-color:transparent}.o_navbar-nav>.active>a,.o_navbar-nav>.active>a:hover,.o_navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.o_navbar-nav>.disabled>a,.o_navbar-nav>.disabled>a:hover,.o_navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.o_navbar-nav>.open>a,.o_navbar-nav>.open>a:hover,.o_navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}.o_collapse .o_navbar-nav{float:left;margin:0}.o_collapse .o_navbar-nav>li{float:left}.o_collapse .o_navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.o_collapse .o_navbar-nav.o_navbar-right:last-child{margin-right:-15px}.o_collapse.o_navbar-collapse .o_navbar-left{float:left !important}.o_collapse.o_navbar-collapse .o_navbar-right{float:right !important}.o_navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (max-width: 767px){.o_navbar-form .form-group{margin-bottom:5px}}.o_collapse .o_navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.o_collapse .o_navbar-form.o_navbar-right:last-child{margin-right:-15px}.o_navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.o_navbar-fixed-bottom .o_navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.o_navbar-btn{margin-top:8px;margin-bottom:8px}.o_navbar-btn.btn-sm,.btn-group-sm>.o_navbar-btn.btn{margin-top:10px;margin-bottom:10px}.o_navbar-btn.btn-xs,.btn-group-xs>.o_navbar-btn.btn{margin-top:14px;margin-bottom:14px}.o_navbar-text{margin-top:15px;margin-bottom:15px;color:#777}.o_collapse .o_navbar-text{float:left;margin-left:15px;margin-right:15px}.o_collapse .o_navbar-text.o_navbar-right:last-child{margin-right:0}.o_dropdown_tab{position:relative}.o_dropdown_tab>a:first-child{padding-right:30px}.o_dropdown_tab>a:first-child .o_icon-fw{display:none;position:absolute;top:0;left:10px;padding-top:3px;line-height:20px}.o_dropdown_tab>a:first-child span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.o_dropdown_tab .o_navbar_tab_close{position:absolute;top:0px;right:10px;padding-left:0px;padding-right:0px;color:#d9534f;background-color:inherit}.o_dropdown_tab .o_navbar_tab_close:focus,.o_dropdown_tab .o_navbar_tab_close:hover{color:#c9302c;background-color:inherit}#o_navbar_more .dropdown-menu .divider:last-child{display:none}@media (min-width: 768px){#o_navbar_more .dropdown-menu{max-width:300px}}@media (max-width: 767px){#o_navbar_more>li{position:inherit}#o_navbar_more .dropdown-menu{left:0px;right:0px}#o_navbar_more .dropdown-menu a,#o_navbar_more .dropdown-menu i{line-height:30px}#o_navbar_more .dropdown-menu .o_navbar_tab_close{line-height:inherit}}.o_body_popup #o_topnav_printview{display:inline-block}.o_body_popup #o_topnav_close{float:right}.o_body_popup #o_topnav_close span{display:block}.o_body_popup #o_navbar_tools_permanent li>a{background-color:transparent}.o_toolbar{position:relative;margin-bottom:20px;margin-top:-10px;border:1px solid #e7e7e7}.o_toolbar:before,.o_toolbar:after{content:" ";display:table}.o_toolbar:after{clear:both}@media (min-width: 768px){.o_toolbar{border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}}.o_toolbar .o_breadcrumb:before,.o_toolbar .o_breadcrumb:after{content:" ";display:table}.o_toolbar .o_breadcrumb:after{clear:both}.o_toolbar .o_breadcrumb .breadcrumb{margin-bottom:0;padding:5px 9px;font-size:11px;line-height:15px;border-radius:0;background:#f5f5f5;border-top-right-radius:4px;border-top-left-radius:4px}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close{float:right;position:relative;margin:0 0 0 15px;vertical-align:middle}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a{line-height:15px;color:#d9534f}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a:hover{color:#b52b27}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a i{font-size:16px}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a span{display:none}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close:before{content:none}.o_toolbar .o_tools_container{text-align:center;min-height:37px;position:relative;background-color:#f8f8f8;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.o_toolbar .o_tools_container:before,.o_toolbar .o_tools_container:after{content:" ";display:table}.o_toolbar .o_tools_container:after{clear:both}@media (max-width: 991px){.o_toolbar .o_tools_container{min-height:35px}}@media (max-width: 767px){.o_toolbar .o_tools_container{min-height:22px;text-align:left}}.o_toolbar .o_tools_container span.o_tool_text{color:#777;display:inline-block}.o_toolbar .o_tools_container a{color:#777;display:inline-block}.o_toolbar .o_tools_container a:hover{color:#333}.o_toolbar .o_tools_container a.o_disabled{color:#aaa !important}.o_toolbar .o_tools_container a.o_disabled:hover{color:#aaa !important}.o_toolbar .o_tools_container a.active{color:#337ab7;background-color:transparent}.o_toolbar .o_tools_container a.btn-primary{color:#fff}.o_toolbar .o_tools_container .dropdown-menu a{display:block}.o_toolbar .o_tools_container .dropdown-menu a.active{color:#337ab7;background-color:transparent}.o_toolbar .o_breadcrumb+.o_tools_container{border-top:1px solid #e7e7e7}.o_toolbar .o_tools{margin-top:8px;margin-bottom:5px}.o_toolbar .o_tool,.o_toolbar .o_text{position:relative;margin:0 10px}.o_toolbar .o_tool:first-child,.o_toolbar .o_text:first-child{margin-left:0}.o_toolbar .o_tool:last-child,.o_toolbar .o_text:last-child{margin-right:0}.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:18px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{display:block;font-size:12px}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{position:absolute;right:50%;top:-18px;margin-right:-12px;font-size:13px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:16px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{font-size:11px}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{top:-16.5px;margin-right:-11px;font-size:12px}}@media (max-width: 767px){.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:20px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{display:none}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{display:block;position:relative;top:0;left:0;margin-right:0}}.o_toolbar .o_tool .o_chelp,.o_toolbar .o_text .o_chelp{position:relative;top:-1em;vertical-align:top;color:#fff}.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{padding:0;margin-top:5px;border:1px solid #ccc;background-color:#eee}.o_toolbar .o_tool_next a,.o_toolbar .o_tool_previous a{color:#777}.o_toolbar .o_tool_next a:hover,.o_toolbar .o_tool_previous a:hover{color:#333}.o_toolbar .o_tool_next a.o_disabled,.o_toolbar .o_tool_previous a.o_disabled{color:#aaa !important}.o_toolbar .o_tool_next a.o_disabled:hover,.o_toolbar .o_tool_previous a.o_disabled:hover{color:#aaa !important}.o_toolbar .o_tool_next i,.o_toolbar .o_tool_previous i{font-size:21px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{margin-top:4px}.o_toolbar .o_tool_next i,.o_toolbar .o_tool_previous i{font-size:18px}}@media (max-width: 767px){.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{margin-top:0}.o_toolbar .o_tool_next i,.o_toolbar .o_tool_previous i{font-size:20px}}.o_toolbar .o_tool_previous{margin-left:10px;border-bottom-left-radius:4px;border-top-left-radius:4px;border-right:0}.o_toolbar .o_tool_next{border-bottom-right-radius:4px;border-top-right-radius:4px}.o_toolbar .o_tool_dropdown{margin:0 10px}.o_toolbar .o_tool_dropdown:first-child{margin-left:0}.o_toolbar .o_tool_dropdown:last-child{margin-right:0}.o_toolbar .o_tool_dropdown a.dropdown-toggle{position:relative}.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:18px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span{display:block;font-size:12px}.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{position:absolute;right:50%;top:4px;margin-right:-20px;font-size:14px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:16px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span,.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{font-size:11px}.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{top:4px;margin-right:-18px;font-size:12px}}@media (max-width: 767px){.o_toolbar .o_tool_dropdown a.dropdown-toggle{padding:0 10px 0 5px}.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:20px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span{display:none}}.o_toolbar .o_tool_dropdown .dropdown-menu{text-align:left}.o_toolbar .o_tools_left{float:left}.o_toolbar .o_tools_right{float:right}.o_toolbar .o_tools_right_edge{float:right}.o_toolbar .o_tools_center{float:both;width:50%;margin-left:auto;margin-right:auto}.o_toolbar .o_tools_segments{margin:0 auto -1.1em auto}.o_toolbar .o_tools_segments.o_tools_segments_alone{margin-top:1.5em}@media (max-width: 991px){.o_toolbar .o_tools{margin-top:6px;margin-bottom:4px}.o_toolbar .o_tools.o_tools_segments{margin:0 auto -1.1em auto}.o_toolbar .o_tool span{max-width:10em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_toolbar .o_tools_segments .o_tool span{display:block}.o_toolbar .o_tool,.o_toolbar .o_text,.o_toolbar .o_tool_dropdown{margin:0 5px}}@media (max-width: 767px){.o_toolbar .o_tools{margin-top:6px;margin-bottom:4px}.o_toolbar .o_tools .o_chelp{top:0;vertical-align:top}.o_toolbar .o_tools.o_tools_segments{margin:0 auto -1.1em auto;text-align:center}.o_toolbar .o_tools_center{float:left}.o_toolbar .o_tool,.o_toolbar .o_text,.o_toolbar .o_tool_dropdown{margin:0 0;position:static}.o_toolbar .o_tool_dropdown .dropdown-menu{left:0px;right:0px}.o_toolbar .o_tool_dropdown .dropdown-menu a,.o_toolbar .o_tool_dropdown .dropdown-menu i{line-height:30px}.o_toolbar .o_tool_dropdown .dropdown-menu .o_navbar_tab_close{line-height:inherit}}#o_main_container .o_toolbar_message{display:table;margin:0 auto 20px auto}#o_main_container .o_toolbar_message.o_warning{padding-top:5px;padding-bottom:5px;border:1px solid #8a6d3b;border-radius:3px}.o_edit_mode .o_toolbar .o_tools_container{background:repeating-linear-gradient(300deg, #fff0d9, #fff0d9 10px, #fcfcfc 10px, #fcfcfc 20px)}.o_edit_mode .o_toolbar .o_edit_mode .o_tools_container{background:#f8f8f8}body{overflow-x:hidden}.o_container_offcanvas{position:relative;max-width:1324px;-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;-m-transition:all .25s ease-in-out;transition:all .25s ease-in-out}#o_offcanvas_right{position:absolute;top:0;right:-250px;width:250px;padding:15px 15px;background-color:#222;color:#9d9d9d;border:1px solid #090909;-webkit-box-shadow:0px 0px 4px 3px rgba(0,0,0,0.25);box-shadow:0px 0px 4px 3px rgba(0,0,0,0.25);min-height:100%;z-index:10;display:none}#o_offcanvas_right:before,#o_offcanvas_right:after{content:" ";display:table}#o_offcanvas_right:after{clear:both}@media screen and (max-width: 767px){.row-offcanvas{position:relative;-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;transition:all .25s ease-out}.row-offcanvas-right{right:0}.row-offcanvas-right .sidebar-offcanvas{right:-50%}.row-offcanvas-right.active{right:50%}.row-offcanvas-left{left:0}.row-offcanvas-left .sidebar-offcanvas{left:-50%}.row-offcanvas-left.active{left:50%}.sidebar-offcanvas{position:absolute;top:0;width:50%}}.o_info,.b_info,p.b_info,div.b_info,.o_form .o_info,.o_togglebox_wrapper div.o_togglebox_content,div.o_qti_item_itemfeedback,.o_assessmentitem_wrapper .modalFeedback .o_info{margin:20px 0;padding:20px;border-left:3px solid #777;background-color:#eee}.o_info h2,.o_info h3,.o_info h4,.o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_info h2,.o_info h5,.b_info h2,.o_form .o_info h2,.o_togglebox_wrapper div.o_togglebox_content h2,div.o_qti_item_itemfeedback h2,.o_assessmentitem_wrapper .modalFeedback .o_info h2,.b_info h3,.o_form .o_info h3,.o_togglebox_wrapper div.o_togglebox_content h3,div.o_qti_item_itemfeedback h3,.o_assessmentitem_wrapper .modalFeedback .o_info h3,.b_info h4,.o_form .o_info h4,.o_togglebox_wrapper div.o_togglebox_content h4,div.o_qti_item_itemfeedback h4,.o_assessmentitem_wrapper .modalFeedback .o_info h4,.b_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_info h2,.o_form .o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_info h2,.o_togglebox_wrapper div.o_togglebox_content .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_togglebox_wrapper div.o_togglebox_content h2,div.o_qti_item_itemfeedback .o_cal .fc-header-title h2,.o_cal .fc-header-title div.o_qti_item_itemfeedback h2,.o_assessmentitem_wrapper .modalFeedback .o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info h2,.b_info h5,.o_form .o_info h5,.o_togglebox_wrapper div.o_togglebox_content h5,div.o_qti_item_itemfeedback h5,.o_assessmentitem_wrapper .modalFeedback .o_info h5{color:#777}.o_note,.b_note,p.b_note,div.b_note,.o_form .o_desc,.o_course_run .o_statusinfo,.o_course_stats .o_desc,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment{margin:20px 0;padding:20px;border-left:3px solid #31708f;background-color:#d9edf7}.o_note h2,.o_note h3,.o_note h4,.o_note .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_note h2,.o_note h5,.b_note h2,.o_form .o_desc h2,.o_course_run .o_statusinfo h2,.o_course_stats .o_desc h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h2,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h2,.b_note h3,.o_form .o_desc h3,.o_course_run .o_statusinfo h3,.o_course_stats .o_desc h3,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h3,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h3,.b_note h4,.o_form .o_desc h4,.o_course_run .o_statusinfo h4,.o_course_stats .o_desc h4,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h4,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h4,.b_note .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_note h2,.o_form .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_desc h2,.o_course_run .o_statusinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_statusinfo h2,.o_course_stats .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_stats .o_desc h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h2,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h2,.b_note h5,.o_form .o_desc h5,.o_course_run .o_statusinfo h5,.o_course_stats .o_desc h5,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h5,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h5{color:#31708f}.o_important,.b_important,p.b_important,div.b_important,.o_bc_empty,.o_course_run .o_no_scoreinfo{margin:20px 0;padding:20px;border-left:3px solid #F4D000;background-color:#FFF1A4}.o_important h2,.o_important h3,.o_important h4,.o_important .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_important h2,.o_important h5,.b_important h2,.o_bc_empty h2,.o_course_run .o_no_scoreinfo h2,.b_important h3,.o_bc_empty h3,.o_course_run .o_no_scoreinfo h3,.b_important h4,.o_bc_empty h4,.o_course_run .o_no_scoreinfo h4,.b_important .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_important h2,.o_bc_empty .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_bc_empty h2,.o_course_run .o_no_scoreinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_no_scoreinfo h2,.b_important h5,.o_bc_empty h5,.o_course_run .o_no_scoreinfo h5{color:#F4D000}.o_success,.b_success,p.b_success,div.b_success,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback{margin:20px 0;padding:20px;border-left:3px solid #3c763d;background-color:#dff0d8}.o_success h2,.o_success h3,.o_success h4,.o_success .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_success h2,.o_success h5,.b_success h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h2,.b_success h3,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h3,.b_success h4,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h4,.b_success .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_success h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h2,.b_success h5,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h5{color:#3c763d}.o_warning,.b_warning,p.b_warning,div.b_warning,.o_instruction,.o_form .o_warning,p.o_gta_reopen_warning{margin:20px 0;padding:20px;border-left:3px solid #8a6d3b;background-color:#fcf8e3}.o_warning h2,.o_warning h3,.o_warning h4,.o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_warning h2,.o_warning h5,.b_warning h2,.o_instruction h2,.o_form .o_warning h2,p.o_gta_reopen_warning h2,.b_warning h3,.o_instruction h3,.o_form .o_warning h3,p.o_gta_reopen_warning h3,.b_warning h4,.o_instruction h4,.o_form .o_warning h4,p.o_gta_reopen_warning h4,.b_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_warning h2,.o_instruction .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_instruction h2,.o_form .o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_warning h2,p.o_gta_reopen_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title p.o_gta_reopen_warning h2,.b_warning h5,.o_instruction h5,.o_form .o_warning h5,p.o_gta_reopen_warning h5{color:#8a6d3b}.o_error,.b_error,p.b_error,div.b_error,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback{margin:20px 0;padding:20px;border-left:3px solid #a94442;background-color:#f2dede}.o_error h2,.o_error h3,.o_error h4,.o_error .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_error h2,.o_error h5,.b_error h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h2,.b_error h3,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h3,.b_error h4,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h4,.b_error .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_error h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h2,.b_error h5,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h5{color:#a94442}.o_instruction{margin-top:0px;border-left:none;padding-top:10px;padding-bottom:10px}.o_instruction>.o_button_group{margin-bottom:0px}div.o_callout_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1;background:#000;opacity:0;filter:alpha(opacity=0)}.o_alert_info{position:fixed;top:-100%;left:0;display:none;z-index:2000;width:100%;text-align:center}.o_alert_info .alert{position:relative;width:auto;margin:0 auto;text-align:left;-webkit-box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15);box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15)}.o_alert_info .alert .o_alert_close{float:right;color:#777}.o_alert_info .alert .o_alert_close:hover{color:#555}@media (min-width: 768px){.o_alert_info .alert{width:600px}}#o_msg_sticky,#o_msg_sticky_preview{position:relative;color:#a94442;background-color:#f2dede;border:1px solid #ebccd1;padding:10px 16px 10px 60px;min-height:40px;margin:-20px 0 20px 0}#o_msg_sticky .o_icon_info_msg,#o_msg_sticky_preview .o_icon_info_msg{position:absolute;left:10px;top:5px;font-size:40px}#o_msg_sticky.o_msg_sticky_fullscreen,#o_msg_sticky_preview.o_msg_sticky_fullscreen{margin-top:0}@media (min-width: 768px){.modal .o_modal_fullwidth{width:90%}}@media (min-width: 992px){.modal .o_modal_fullwidth{width:80%}}.modal .modal-header h4,.modal .modal-header .o_cal .fc-header-title h2,.o_cal .fc-header-title .modal .modal-header h2{color:#337ab7;font-weight:500;font-family:inherit;line-height:1.1}.o_tree{position:relative;display:block;background-color:none;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;overflow:hidden;font-size:14px}.o_tree a{color:#777;background-color:none}.o_tree a:hover,.o_tree a:focus{color:#333}.o_tree .o_tree_link{background-color:none}.o_tree .o_tree_link:hover,.o_tree .o_tree_link:focus{background-color:#f8f8f8}.o_tree .o_tree_link:first-child{background-color:transparent}.o_tree .o_tree_link:last-child:hover,.o_tree .o_tree_link:last-child:focus{background-color:#f8f8f8}.o_tree .o_insertion_point>a>span{padding:5px;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.o_tree .o_insertion_source>a>span.o_tree_item,.o_tree .o_insertion_source>a>span.o_dnd_item{border-bottom:solid #f90 4px;background-color:#fefbf6}.o_tree ul{margin:0;padding:0;list-style-type:none}.o_tree ul li{margin:0;padding:0;white-space:nowrap}.o_tree ul li div{position:relative;margin-bottom:-1px;border-bottom:1px solid #ddd}.o_tree ul li div.popover{position:absolute;left:auto;right:0}.o_tree ul li div a.o_tree_oc_l0{position:absolute;top:10px;left:-4px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l0,.o_tree ul .o_tree_level_close.b_tree_oc_l0{z-index:10}.o_tree ul li div a.o_tree_oc_l1{position:absolute;top:10px;left:11px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l1,.o_tree ul .o_tree_level_close.b_tree_oc_l1{z-index:10}.o_tree ul li div a.o_tree_oc_l2{position:absolute;top:10px;left:26px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l2,.o_tree ul .o_tree_level_close.b_tree_oc_l2{z-index:10}.o_tree ul li div a.o_tree_oc_l3{position:absolute;top:10px;left:41px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l3,.o_tree ul .o_tree_level_close.b_tree_oc_l3{z-index:10}.o_tree ul li div a.o_tree_oc_l4{position:absolute;top:10px;left:56px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l4,.o_tree ul .o_tree_level_close.b_tree_oc_l4{z-index:10}.o_tree ul li div a.o_tree_oc_l5{position:absolute;top:10px;left:71px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l5,.o_tree ul .o_tree_level_close.b_tree_oc_l5{z-index:10}.o_tree ul li div a.o_tree_oc_l6{position:absolute;top:10px;left:86px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l6,.o_tree ul .o_tree_level_close.b_tree_oc_l6{z-index:10}.o_tree ul li div a.o_tree_oc_l7{position:absolute;top:10px;left:101px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l7,.o_tree ul .o_tree_level_close.b_tree_oc_l7{z-index:10}.o_tree ul li div a.o_tree_oc_l8{position:absolute;top:10px;left:116px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l8,.o_tree ul .o_tree_level_close.b_tree_oc_l8{z-index:10}.o_tree ul li div a.o_tree_oc_l9{position:absolute;top:10px;left:131px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l9,.o_tree ul .o_tree_level_close.b_tree_oc_l9{z-index:10}.o_tree ul li div a.o_tree_oc_l10{position:absolute;top:10px;left:146px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l10,.o_tree ul .o_tree_level_close.b_tree_oc_l10{z-index:10}.o_tree ul li div a.o_tree_oc_l11{position:absolute;top:10px;left:161px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l11,.o_tree ul .o_tree_level_close.b_tree_oc_l11{z-index:10}.o_tree ul li div span.o_tree_l0{display:block;padding:10px 2px 10px 10px;z-index:9}.o_tree ul li div span.o_tree_l1{display:block;padding:10px 2px 10px 25px;z-index:9}.o_tree ul li div span.o_tree_l2{display:block;padding:10px 2px 10px 40px;z-index:9}.o_tree ul li div span.o_tree_l3{display:block;padding:10px 2px 10px 55px;z-index:9}.o_tree ul li div span.o_tree_l4{display:block;padding:10px 2px 10px 70px;z-index:9}.o_tree ul li div span.o_tree_l5{display:block;padding:10px 2px 10px 85px;z-index:9}.o_tree ul li div span.o_tree_l6{display:block;padding:10px 2px 10px 100px;z-index:9}.o_tree ul li div span.o_tree_l7{display:block;padding:10px 2px 10px 115px;z-index:9}.o_tree ul li div span.o_tree_l8{display:block;padding:10px 2px 10px 130px;z-index:9}.o_tree ul li div span.o_tree_l9{display:block;padding:10px 2px 10px 145px;z-index:9}.o_tree ul li div span.o_tree_l10{display:block;padding:10px 2px 10px 160px;z-index:9}.o_tree ul li div span.o_tree_l11{display:block;padding:10px 2px 10px 175px;z-index:9}.o_tree ul span.o_tree_leaf{display:none}.o_tree ul span.o_tree_link>input[type=checkbox]{margin-right:5px}.o_tree ul li .badge{position:absolute;font-size:70%}.o_tree ul li .badge:before{content:none}.o_tree ul li .badge.o_badge_1{top:3px;right:1px}.o_tree ul li .badge.o_badge_2{bottom:3px;right:1px}.o_tree ul li .badge.o_badge_3{top:3px;right:25px}.o_tree ul li .badge.o_badge_4{bottom:3px;right:25px}.o_tree ul li div.o_dnd_sibling{margin:0;padding:0;border-bottom:none}.o_tree ul li .active.o_tree_link{background-color:none;font-weight:bold}.o_tree ul li .active.o_tree_link a{color:#337ab7}.o_tree ul li .active.o_tree_link:hover,.o_tree ul li .active.o_tree_link:focus{background-color:#eee}.o_tree ul li .active.o_tree_link:hover a,.o_tree ul li .active.o_tree_link:focus a{color:#23527c}.o_tree ul li .active_parent.o_tree_link{font-weight:bold}.o_tree ul li .active_parent.o_tree_link a{color:#777}.o_tree ul li .active_parent.o_tree_link a:hover,.o_tree ul li .active_parent.o_tree_link a:focus{color:#333}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l0{left:6px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l1{left:21px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l2{left:36px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l3{left:51px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l4{left:66px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l5{left:81px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l6{left:96px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l7{left:111px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l8{left:126px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l9{left:141px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l10{left:156px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l11{left:171px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l0{padding:10px 2px 10px 20px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l1{padding:10px 2px 10px 35px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l2{padding:10px 2px 10px 50px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l3{padding:10px 2px 10px 65px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l4{padding:10px 2px 10px 80px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l5{padding:10px 2px 10px 95px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l6{padding:10px 2px 10px 110px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l7{padding:10px 2px 10px 125px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l8{padding:10px 2px 10px 140px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l9{padding:10px 2px 10px 155px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l10{padding:10px 2px 10px 170px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l11{padding:10px 2px 10px 185px}.o_tree .o_dnd_item{cursor:move;z-index:100}.o_tree .o_dnd_proxy{opacity:.4;filter:alpha(opacity=40);background-color:#f0ad4e;padding:5px 10px 5px 10px;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.o_tree .o_dnd_item.o_dnd_over{background-color:#ffff60}.o_tree .o_dnd_sibling{height:7px;width:100%}.o_tree .o_dnd_sibling.o_dnd_over{background:transparent url(../light/images/arrow_dd.png) top left no-repeat}.o_tree .o_dnd_l1{margin-left:0 !important}.o_tree .o_dnd_l2{margin-left:1em !important}.o_tree .o_dnd_l3{margin-left:2em !important}.o_tree .o_dnd_l4{margin-left:3em !important}.o_tree .o_dnd_l5{margin-left:4em !important}.o_tree .o_dnd_l6{margin-left:5em !important}.o_tree .o_dnd_l7{margin-left:6em !important}.o_tree .o_dnd_l8{margin-left:7em !important}.o_tree .o_dnd_l9{margin-left:8em !important}.o_tree .o_dnd_l10{margin-left:9em !important}.o_tree .o_dnd_l11{margin-left:10em !important}.o_tree.o_tree_insert_tool span.o_tree_link a{display:block}.o_offcanvas .o_tree{border:0}.o_selection_tree{position:relative;display:block;background-color:none;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;overflow:hidden;font-size:14px}.o_selection_tree ul{margin:0;padding:0;list-style-type:none}.o_selection_tree li{margin:0;padding:0;white-space:nowrap}.o_selection_tree li div{position:relative;margin-bottom:-1px;border-bottom:1px solid #ddd}.o_selection_tree li>div>span.o_tree_l0,.o_selection_tree li>div>div.checkbox.o_tree_l0,.o_selection_tree li>div>div.radio.o_tree_l0{display:block;padding:10px 2px 10px 10px;z-index:9}.o_selection_tree li>div>span.o_tree_l1,.o_selection_tree li>div>div.checkbox.o_tree_l1,.o_selection_tree li>div>div.radio.o_tree_l1{display:block;padding:10px 2px 10px 25px;z-index:9}.o_selection_tree li>div>span.o_tree_l2,.o_selection_tree li>div>div.checkbox.o_tree_l2,.o_selection_tree li>div>div.radio.o_tree_l2{display:block;padding:10px 2px 10px 40px;z-index:9}.o_selection_tree li>div>span.o_tree_l3,.o_selection_tree li>div>div.checkbox.o_tree_l3,.o_selection_tree li>div>div.radio.o_tree_l3{display:block;padding:10px 2px 10px 55px;z-index:9}.o_selection_tree li>div>span.o_tree_l4,.o_selection_tree li>div>div.checkbox.o_tree_l4,.o_selection_tree li>div>div.radio.o_tree_l4{display:block;padding:10px 2px 10px 70px;z-index:9}.o_selection_tree li>div>span.o_tree_l5,.o_selection_tree li>div>div.checkbox.o_tree_l5,.o_selection_tree li>div>div.radio.o_tree_l5{display:block;padding:10px 2px 10px 85px;z-index:9}.o_selection_tree li>div>span.o_tree_l6,.o_selection_tree li>div>div.checkbox.o_tree_l6,.o_selection_tree li>div>div.radio.o_tree_l6{display:block;padding:10px 2px 10px 100px;z-index:9}.o_selection_tree li>div>span.o_tree_l7,.o_selection_tree li>div>div.checkbox.o_tree_l7,.o_selection_tree li>div>div.radio.o_tree_l7{display:block;padding:10px 2px 10px 115px;z-index:9}.o_selection_tree li>div>span.o_tree_l8,.o_selection_tree li>div>div.checkbox.o_tree_l8,.o_selection_tree li>div>div.radio.o_tree_l8{display:block;padding:10px 2px 10px 130px;z-index:9}.o_selection_tree li>div>span.o_tree_l9,.o_selection_tree li>div>div.checkbox.o_tree_l9,.o_selection_tree li>div>div.radio.o_tree_l9{display:block;padding:10px 2px 10px 145px;z-index:9}.o_selection_tree li>div>span.o_tree_l10,.o_selection_tree li>div>div.checkbox.o_tree_l10,.o_selection_tree li>div>div.radio.o_tree_l10{display:block;padding:10px 2px 10px 160px;z-index:9}.o_selection_tree li>div>span.o_tree_l11,.o_selection_tree li>div>div.checkbox.o_tree_l11,.o_selection_tree li>div>div.radio.o_tree_l11{display:block;padding:10px 2px 10px 175px;z-index:9}.o_breadcrumb{position:relative}.o_breadcrumb .o_breadcrumb_close{float:right;position:relative;margin:0 0 0 15px;vertical-align:middle}.o_breadcrumb .o_breadcrumb_close a{line-height:15px;color:#d9534f}.o_breadcrumb .o_breadcrumb_close a:hover{color:#b52b27}.o_breadcrumb .o_breadcrumb_close a i{font-size:16px}.o_breadcrumb .o_breadcrumb_close a span{display:none}.o_breadcrumb .o_breadcrumb_close:before{content:none}.o_form .o_icon_mandatory{margin-right:0.25em}.o_form .o_form_chelp{padding-left:0.25em;margin-right:-1.25em}.o_form .o_form_example{font-size:90%}.o_form .o_error{margin-top:1px;margin-bottom:0;padding:10px}.o_form hr.o_spacer_noline{border-top:1px solid transparent}.o_form hr.o_spacer.form,.o_form hr.o_spacer_noline.form{margin-top:0px;margin-bottom:0px}.o_form .form-group.o_omit_margin{margin-bottom:0}.o_form .o_date{position:relative;padding-right:34px}.o_form .o_date.form-inline .form-group,.o_form .o_date.o_navbar-form .form-group{margin-left:0}.o_form input.o_date_ms{width:3em}.o_form .o_date.form-inline .o_date_ms.form-group,.o_form .o_date.o_navbar-form .o_date_ms.form-group{margin-left:25px}.o_form .has-feedback .o_date.form-inline .form-control.o_date_ms,.o_form .has-feedback .o_date.o_navbar-form .form-control.o_date_ms{padding-right:0}.o_form .o_form_element.form-inline .o_form_element.form-group,.o_form .o_form_element.o_navbar-form .o_form_element.form-group{margin-left:25px}.o_form .input-group.o_date_picker{width:12em}.o_form .o_filepreview{margin-bottom:10px}.o_form .o_fileinput{cursor:pointer;position:relative}.o_form .o_fileinput .o_fakechooser{position:relative;z-index:1}.o_form .o_fileinput .o_realchooser{position:absolute;top:0;right:0;z-index:2;opacity:0;filter:alpha(opacity=0)}.o_form .o_fileinput .o_realchooser.o_chooser_with_delete{right:38px}.o_form .o_fileElement.has-error .o_icon_error.form-control-feedback{display:none}.o_form .form-control.textarea_disabled{resize:both;overflow:auto;white-space:pre-wrap;background:#fafafa}.o_centered_form{text-align:center}.o_centered_form fieldset.o_form{display:inline-block;text-align:left}.o_choice_checkrow,.o_choice_textrow{vertical-align:text-top;padding-bottom:2px}.o_choice_textrow{padding-left:1em}.o_togglecheck a{white-space:nowrap}.o_catalog .o_catalog_delete_img{position:relative;top:-0.5em}.o_button_dirty{color:#fff;background-color:#f0ad4e;border-color:#eea236}.o_button_dirty:hover,.o_button_dirty:focus,.o_button_dirty.focus,.o_button_dirty:active,.o_button_dirty.active,.open>.o_button_dirty.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.o_button_dirty:active,.o_button_dirty.active,.open>.o_button_dirty.dropdown-toggle{background-image:none}.o_button_dirty.disabled,.o_button_dirty.disabled:hover,.o_button_dirty.disabled:focus,.o_button_dirty.disabled.focus,.o_button_dirty.disabled:active,.o_button_dirty.disabled.active,.o_button_dirty[disabled],.o_button_dirty[disabled]:hover,.o_button_dirty[disabled]:focus,.o_button_dirty[disabled].focus,.o_button_dirty[disabled]:active,.o_button_dirty[disabled].active,fieldset[disabled] .o_button_dirty,fieldset[disabled] .o_button_dirty:hover,fieldset[disabled] .o_button_dirty:focus,fieldset[disabled] .o_button_dirty.focus,fieldset[disabled] .o_button_dirty:active,fieldset[disabled] .o_button_dirty.active{background-color:#f0ad4e;border-color:#eea236}.o_button_dirty .badge{color:#f0ad4e;background-color:#fff}.o_button_toggle{border:1px solid #777;border-top-right-radius:9px;border-top-left-radius:9px;border-bottom-right-radius:9px;border-bottom-left-radius:9px;background:#eee;display:inline-block;height:18px;line-height:16px;font-size:16px;text-align:left;padding:0 0.5em 0 1px;margin:0}.o_button_toggle i{color:#777;text-shadow:1px 0 2px rgba(0,0,0,0.25)}.o_button_toggle span{line-height:16px;vertical-align:top;font-size:60%;color:#777;text-transform:uppercase}.o_button_toggle.o_on{text-align:right;padding:0 1px 0 0.5em}.o_button_toggle.o_on i{color:#337ab7;text-shadow:-1px 0 2px rgba(0,0,0,0.25)}.o_table_wrapper{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.o_table_wrapper.o_table_flexi .o_table_body{margin-top:20px}.o_table_wrapper.o_table_flexi .table{margin-top:20px}.o_table_wrapper.o_table_flexi .table td ul{margin:0}.o_table_wrapper.o_table_flexi.o_table_no_margin .table{margin:0}.o_table_wrapper.o_table_flexi tfoot{border-top:solid #ddd 2px}.o_table_wrapper.o_table_edit table tbody{border-top:solid #f90 4px;background-color:#fefbf6}.o_table_wrapper .o_table_search{max-width:50em}.o_table_wrapper .o_table_footer .o_table_pagination{text-align:center}.o_table_wrapper .o_table_rows_infos{float:left;padding-left:0;padding-right:20px;margin:20px 0}.o_table_wrapper .o_row_selected td{background-color:#dff0d8 !important}.o_table_wrapper .o_table{margin-bottom:0}.o_table_wrapper .o_marked{font-weight:bold}.o_table_wrapper .table{margin-bottom:0}.o_table_wrapper th a,.o_table_wrapper th a:hover{color:#333;text-decoration:none}.o_table_search a.btn.o_reset_quick_search{width:38px;margin-left:-38px;z-index:5;color:grey}.o_breadcrumb.o_table_flexi_breadcrumb ol.breadcrumb{margin:5px 0 0 0}div.o_table_flexi div.o_table_flexi_leaf{margin-left:1.55em}div.o_table_flexi div.o_table_flexi_l0{padding-left:0px}div.o_table_flexi div.o_table_flexi_l1{padding-left:15px}div.o_table_flexi div.o_table_flexi_l2{padding-left:30px}div.o_table_flexi div.o_table_flexi_l3{padding-left:45px}div.o_table_flexi div.o_table_flexi_l4{padding-left:60px}div.o_table_flexi div.o_table_flexi_l5{padding-left:75px}div.o_table_flexi div.o_table_flexi_l6{padding-left:90px}div.o_table_flexi div.o_table_flexi_l7{padding-left:105px}div.o_table_flexi div.o_table_flexi_l8{padding-left:120px}div.o_table_flexi div.o_table_flexi_l9{padding-left:135px}div.o_table_flexi div.o_table_flexi_l10{padding-left:150px}div.o_table_flexi div.o_table_flexi_l11{padding-left:165px}@media (max-width: 767px){.o_table_wrapper .o_table_rows_infos{clear:both}}a.o_orderby,a.o_orderby:hover{color:#333;text-decoration:none}a.o_orderby.o_orderby_asc,a.o_orderby.o_orderby_desc,a.o_orderby:hover.o_orderby_asc,a.o_orderby:hover.o_orderby_desc{border-bottom:1px solid #ddd}.o_table_row_count{padding-top:6px;padding-bottom:6px;vertical-align:middle}.o_table_row_details td{background-color:white !important}.o_table_config{font-size:12px}.o_table_buttons{text-align:center}.o_table_buttons input{margin-right:1em}.o_table_buttons input:last-child{margin-right:0}.o_table_tools{margin-left:6px}.o_table_tools_indications{margin-left:10px;padding-top:3px;font-size:80%}.o_table_tools_indications a{color:#d9534f}.o_table_toolbar_left .o_table_tools_indications{text-align:right}.o_table_count{max-width:20em;float:left;padding:0 15px}.o_info .table-bordered td,o_note .table-bordered td,o_important .table-bordered td,o_warning .table-bordered td,o_error .table-bordered td{border-color:#333}.panel .o_table_layout{border-top:1px solid #ddd;padding-top:6px}.panel .o_table_count{padding:0 15px}#o_navbar_imclient .o_im_messages{float:left}#o_navbar_imclient #o_im_message,#o_navbar_imclient #o_im_status,#o_navbar_imclient #o_im_summary{float:left;position:relative;padding:15px 3px}#o_navbar_imclient #o_im_status,#o_navbar_imclient #o_im_message{padding-left:15px}#o_navbar_imclient #o_im_summary .badge{color:#fff;background-color:#777}#o_navbar_imclient #o_im_status li>a>span{display:inline}#o_navbar_imclient #o_im_status div.o_chelp_wrapper{right:0.5em}#o_navbar_imclient #o_im_message a:hover,#o_navbar_imclient #o_im_message a:focus{text-decoration:none}#o_navbar_imclient #o_im_message .o_icon_message{color:#d9534f}#o_navbar_imclient #o_im_message .o_icon_message:hover{color:#f4c37d}.o_im_load_history{margin-bottom:6px}.o_im_load_history .o_label{font-size:12px;padding-right:0.5em;line-height:1.5em;color:#777}.o_im_chat_history{height:170px;font-size:90%;border:1px solid #eee;margin:0 0 1em 0;overflow:scroll;overflow-x:auto}.o_im_message_group{padding:3px 3px 3px 40px;min-height:40px;position:relative;border-top:1px solid #eee;background:#fff}.o_im_message_group.o_odd{background:#F4F4F4}.o_im_message_group .o_portrait{position:absolute;top:3px;left:3px}.o_im_message_group .o_im_from{color:#777;font-size:12px;font-weight:bold}.o_im_message_group .o_im_from:hover{color:#5e5e5e}.o_im_message_group div.o_im_body{padding:3px 0 3px 0;font-size:12px}.o_im_message_group div.o_im_body .o_date{float:right;color:#777;font-size:9px}.o_groupchat_roster{font-size:12px}.o_groupchat_roster li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333}.o_groupchat_roster li.o_vip{color:#3c763d}.o_groupchat_roster li.o_anonymous{color:#31708f}.o_im_buddieslist .o_im_buddieslist_toggler .btn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_im_buddieslist ul{font-size:12px}.o_im_buddieslist ul ul{padding-left:1em}.o_im_buddieslist ul a{color:#337ab7}.o_im_buddieslist ul a:hover{color:#23527c}.o_flag{position:relative;top:1px;display:inline-block;line-height:1;width:16px;height:16px;background-repeat:no-repeat;background-position:0 100%}option.o_with_flag{padding-left:23px;min-height:16px;background-repeat:no-repeat;background-position:2px 50%}.o_flag_en{background-image:url("../light/images/flags/gb.png")}.o_flag_de{background-image:url("../light/images/flags/de.png")}.o_flag_fr{background-image:url("../light/images/flags/fr.png")}.o_flag_it{background-image:url("../light/images/flags/it.png")}.o_flag_es{background-image:url("../light/images/flags/es.png")}.o_flag_da{background-image:url("../light/images/flags/dk.png")}.o_flag_cs{background-image:url("../light/images/flags/cz.png")}.o_flag_el{background-image:url("../light/images/flags/gr.png")}.o_flag_ee{background-image:url("../light/images/flags/ee.png")}.o_flag_ru{background-image:url("../light/images/flags/ru.png")}.o_flag_pl{background-image:url("../light/images/flags/pl.png")}.o_flag_zh_CN{background-image:url("../light/images/flags/cn.png")}.o_flag_zh_TW{background-image:url("../light/images/flags/tw.png")}.o_flag_lt{background-image:url("../light/images/flags/lt.png")}.o_flag_fa{background-image:url("../light/images/flags/ir.png")}.o_flag_pt_PT{background-image:url("../light/images/flags/pt.png")}.o_flag_pt_BR{background-image:url("../light/images/flags/br.png")}.o_flag_tr{background-image:url("../light/images/flags/tr.png")}.o_flag_hu{background-image:url("../light/images/flags/hu.png")}.o_flag_sq{background-image:url("../light/images/flags/al.png")}.o_flag_in{background-image:url("../light/images/flags/id.png")}.o_flag_ar{background-image:url("../light/images/flags/eg.png")}.o_flag_rm{background-image:url("../light/images/flags/rm.png")}.o_flag_af{background-image:url("../light/images/flags/za.png")}.o_flag_vi{background-image:url("../light/images/flags/vn.png")}.o_flag_mn{background-image:url("../light/images/flags/mn.png")}.o_flag_iw{background-image:url("../light/images/flags/il.png")}.o_flag_ko{background-image:url("../light/images/flags/kr.png")}.o_flag_nl_NL{background-image:url("../light/images/flags/nl.png")}.o_flag_jp{background-image:url("../light/images/flags/jp.png")}.o_flag_nb_NO{background-image:url("../light/images/flags/no.png")}.o_flag_et_EE{background-image:url("../light/images/flags/ee.png")}.o_flag_bg{background-image:url("../light/images/flags/bg.png")}.o_flag_hi_IN_ASIA{background-image:url("../light/images/flags/in.png")}.o_flag_ar_LB{background-image:url("../light/images/flags/lb.png")}.o_flag_gl_ES{background-image:url("../light/images/flags/galicia.png")}.o_flag_sk{background-image:url("../light/images/flags/sk.png")}.o_rating .o_rating_title{font-size:12px}.o_rating .o_rating_items{white-space:nowrap}.o_rating .o_rating_items .o_icon{color:#f0ad4e}.o_rating .o_rating_items .o_legend{margin-left:1em;font-size:12px;line-height:normal}.o_rating.o_rating_personal .o_rating_items .o_icon{color:#337ab7}.o_rating .o_rating_explanation{font-size:12px;color:#777}@media (max-width: 991px){.o_rating .o_rating_title,.o_rating .o_rating_explanation{display:none}}.o_comments .o_comment_wrapper .o_avatar{float:left;margin:0 1em 0 0}.o_comments .o_comment_wrapper .o_reply,.o_comments .o_comment_wrapper .o_delete{float:right}.o_comments .o_comment_wrapper .o_comment_wrapper{margin-left:16px}.o_ratings_and_comments .o_rating_wrapper{vertical-align:middle;display:inline-block}.o_ratings_and_comments a.o_comments{margin-left:10px;position:relative;top:0.1em}.d3chart .bar{shape-rendering:crispEdges}.d3chart .bar_default_light{fill:#64a0d3}.d3chart .bar_default,.d3chart .bubble_default{fill:#337ab7}.d3chart .bar_default_dark{fill:#23527c}.d3chart .axis{font:12px sans-serif}.d3chart .axis path,.d3chart .axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.o_forum_peekview .o_quote_wrapper,.o_forum_peekview .b_quote_wrapper{display:none}.o_forum_thread_sticky{font-weight:bold}.o_forum_switch{font-size:12px}.o_forum_toolbar{margin-bottom:6px;float:left}.o_forum_fulltextsearch{float:right}@media (max-width: 767px){.o_forum_fulltextsearch{float:left}.o_forum_toolbar .o_forum_tool span{display:none}}.o_forum{padding-bottom:50px}.o_forum .o_mark,.o_forum .o_ep_collect{float:right;position:relative;width:2em;margin-left:12px}.o_forum .o_portrait{float:left;margin-right:16px}.o_forum .o_portrait_avatar{width:70px;height:70px}.o_forum .o_newindicator{font-size:10px;color:#5cb85c;text-transform:uppercase;padding-left:1em;vertical-align:text-top;white-space:nowrap}.o_forum .o_author,.o_forum .o_date{display:inline-block;color:#777}.o_forum .o_date{font-size:12px}.o_forum .o_modified{color:#8a6d3b;font-size:12px;font-style:italic}.o_forum .o_forum_message{margin-bottom:20px;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1)}.o_forum .o_forum_message_new{-webkit-box-shadow:0 1px 10px rgba(92,184,92,0.3);box-shadow:0 1px 10px rgba(92,184,92,0.3)}.o_forum .o_forum_message_highlight{-webkit-box-shadow:0 1px 10px rgba(240,173,78,0.5);box-shadow:0 1px 10px rgba(240,173,78,0.5)}.o_forum .o_forum_message_header{padding:10px 15px;border-bottom:1px solid #ddd;background-color:#f5f5f5;border-top-right-radius:3px;border-top-left-radius:3px}.o_forum .o_forum_message_title{margin-top:0}.o_forum .o_forum_message_body{padding:10px 15px}.o_forum .o_forum_message_attachments{border-top:1px solid #ddd;padding:10px 15px;font-size:12px;background-color:#f7f7f9}.o_forum .o_attachment{position:relative;max-width:250px;vertical-align:top;margin:6px 12px 10px 0}.o_forum .o_attachment img{margin-top:6px}.o_forum .o_filename{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_forum .o_icon_enlarge{position:absolute;left:1em;bottom:1em;text-shadow:1px 1px 2px #fff, -1px 1px 2px #fff, 1px -1px 2px #fff, -1px -1px 2px #fff}@media (min-width: 768px) and (max-width: 991px){.o_forum .o_attachments{font-size:10px}.o_forum .o_attachment{max-width:200px}.o_forum .o_attachment img{max-width:150px}.o_forum .o_filename{max-width:200px}}@media (max-width: 767px){.o_forum .o_attachments{font-size:9px}.o_forum .o_attachment{max-width:150px}.o_forum .o_attachment img{max-width:100px}.o_forum .o_filename{max-width:150px}}.o_quote_wrapper,.b_quote_wrapper{position:relative;margin:10px 0}.o_quote_author,.b_quote_author{color:#777;font-size:12px}.o_quote_author:before,.b_quote_author:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï„Ž";font-size:21px;padding-right:0.5em}blockquote.o_quote,blockquote.b_quote{color:#555;font-size:12px;margin-top:6px;padding:0 12px}a.o_chelp{display:inline-block;padding:1px 3px;text-align:center;vertical-align:middle;white-space:nowrap;font-size:10px;font-weight:normal;line-height:15px;color:#fff;background-color:#337ab7;border:1px solid #2e6da4;border-radius:2px;cursor:help;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}a.o_chelp:active,a.o_chelp:hover,a.o_chelp:focus{text-decoration:none;color:#fff;background-color:#2a6598;border-color:#204d74}a.o_chelp i{font-size:10px !important}.o_chelp_wrapper{position:relative;float:right;display:inline-block;line-height:normal;margin-bottom:10px;margin-left:10px}.o_form_chelp,.o_chelp_tooltip{color:#737373}.o_draw_circle{border:4px solid #337ab7;border-radius:50%;position:absolute !important}.o_draw_rectangle{border:4px solid #337ab7;position:absolute !important}.o_iframedisplay iframe{width:100%}.o_singlepage .o_edit{position:absolute;top:10px;right:37px}.o_content_popup{position:absolute;top:10px;right:12px}.o_module_cp_wrapper .o_tools{position:absolute;top:10px;right:12px;text-align:right;vertical-align:middle}.o_module_cp_wrapper .o_tools .o_search_wrapper{display:inline-block;position:relative;top:-2px}ul.o_dropdown{margin:-5px -14px}ul.o_dropdown .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}ul.o_dropdown>li>a{display:block;padding:5px 14px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;background:#fff;white-space:nowrap}ul.o_dropdown>li>a:hover,ul.o_dropdown>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.badge.o_scorm_completed{background-color:#3c763d}.badge.o_scorm_failed{background-color:#a94442}.badge.o_scorm_incomplete{background-color:#8a6d3b}.badge.o_scorm_not_attempted{background:none}.o_bc_meta h5,.o_bc_meta .o_author,.o_bc_meta .o_comment,.tooltip h5,.tooltip .o_author,.tooltip .o_comment{color:#fff;margin:5px 0}.o_bc_meta .o_thumbnail,.tooltip .o_thumbnail{width:200px;height:200px;display:inline-block;background-color:#fff;margin:0 -5px}.o_htmleditor .o_metadata{border:1px solid #999;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom:0;background:#eee;position:relative;top:1px;padding:5px}.o_htmleditor .o_metadata #o_filename{float:left}.o_htmleditor .o_metadata .o_lastmodified{float:right;color:#777;line-height:1.428571429}.o_htmleditor #o_save{margin-top:10px;text-align:center}.o_htmleditor #o_save input{margin-right:1em}.o_htmleditor #o_save input:last-child{margin-right:0}.o_notifications_news_wrapper .o_notifications_news_subscription{margin:10px 0}.o_notifications_news_wrapper .o_notifications_news_subscription h4 i,.o_notifications_news_wrapper .o_notifications_news_subscription .o_cal .fc-header-title h2 i,.o_cal .fc-header-title .o_notifications_news_wrapper .o_notifications_news_subscription h2 i{display:none}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_context{color:#777}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content{margin-left:1.5em;position:relative}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content .o_icon{position:absolute;left:-1.5em;line-height:1.5em;top:0}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content .o_date{color:#777}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_url{margin-left:1.5em}.o_noti{margin:6px 0 6px 12px;float:right;color:#777}.o_noti .o_label{color:#777;cursor:help}@media (max-width: 767px){.o_noti .o_label span{display:none}}.panel-body .o_noti{margin:0}.o_portrait{display:inline-block}.o_portrait img{border-radius:50%;border:none;background-color:#eee;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.o_portrait_name{margin-top:6px}.o_block_inline .o_portait,.o_block_inline .o_portrait_name,.o_block_inline .o_portrait_image,.o_block_inline_right .o_portait,.o_block_inline_right .o_portrait_name,.o_block_inline_right .o_portrait_image,.o_block_inline_left .o_portait,.o_block_inline_left .o_portrait_name,.o_block_inline_left .o_portrait_image,.o_block_inline_both .o_portait,.o_block_inline_both .o_portrait_name,.o_block_inline_both .o_portrait_image{display:inline-block}.o_portrait_avatar,.o_portrait_dummy,.o_portrait_dummy_female_big,.o_portrait_dummy_male_big,.o_portrait_anonymous{width:100px;height:100px}.o_portrait_dummy{background-image:url("../light/images/portrait/dummy.png")}.o_portrait_dummy_female_big{background-image:url("../light/images/portrait/dummy_female_big.png")}.o_portrait_dummy_male_big{background-image:url("../light/images/portrait/dummy_male_big.png")}.o_portrait_anonymous{background-image:url("../light/images/portrait/anonymous.png")}.o_portrait_avatar_small,.o_portrait_dummy_small,.o_portrait_dummy_female_small,.o_portrait_dummy_male_small,.o_portrait_anonymous_small{width:30px;height:30px}.o_portrait_dummy_small{background-image:url("../light/images/portrait/dummy_small.png")}.o_portrait_dummy_female_small{background-image:url("../light/images/portrait/dummy_female_small.png")}.o_portrait_dummy_male_small{background-image:url("../light/images/portrait/dummy_male_small.png")}.o_portrait_anonymous_small{background-image:url("../light/images/portrait/anonymous_small.png")}.o_datecomp{position:relative;width:40px;height:52px;border:1px solid #555;margin-right:12px;text-align:center;vertical-align:middle}.o_datecomp div.o_year{position:absolute;left:0;width:100%;top:-20px;height:20px;line-height:20px;font-size:10px}.o_datecomp div.o_month{height:20px;line-height:20px;font-size:12px;background-color:#337ab7;color:#fff}.o_datecomp div.o_day{height:30px;line-height:30px;font-size:18px;border-top:1px solid #555;background-color:#fff;color:#333}.o_block_with_datecomp .o_head{position:relative;padding-left:52px}.o_block_with_datecomp .o_datecomp{position:absolute;top:0.2em;left:0}.o_block_with_datecomp .o_title{margin-top:0}.o_block_with_datecomp .o_meta{color:#777}.o_block_with_datecomp .o_content{border-left:5px solid #eee;padding:0 20px}.o_block_with_datecomp .o_block_footer{padding-left:25px}ul.o_certificates li{padding:5px 0}ul.o_certificates li a.o_sel_certificate_delete{padding-left:2em}.o_cal_toptoolbar{margin-bottom:6px}.o_cal_toptoolbar .o_cal_toptoolbar_help{float:left;margin-right:12px}.o_cal_toptoolbar .o_noti{margin-top:0}.o_feed .o_date,.o_feed .o_author{color:#777}.o_feed .o_subscription a{margin-right:1.5em}.o_feed .o_subscription .form-group{margin-bottom:5px}.o_feed .o_subscription .form-control{border:0;background:none;padding:0;height:auto;-webkit-box-shadow:none;box-shadow:none}.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper{float:left}.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_rating_title,.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_rating_explanation,.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_legend{display:none}.o_feed .o_blog_posts .o_ratings_and_comments a.o_comments span{display:none}.o_feed .o_content:before,.o_feed .o_content:after{content:" ";display:table}.o_feed .o_content:after{clear:both}.o_feed .o_enclosure{clear:both}.o_glossary .o_register{text-align:center}.o_glossary .o_meta{font-size:90%;color:#777;font-style:italic}.o_glossary dl dt:first-letter{font-size:21px}.o_glossary dl dt small{color:#777}.o_tm_glossary{border-bottom:1px dotted #666699 !important}.o_tm_yellow{background-color:#FFFF66}.o_tm_blue{background-color:#33FFFF}.o_tm_red{background-color:#FF3333}.o_tm_green{background-color:#99FF00}.o_coaching div#o_main_toolbar.o_toolbar{margin-top:0px}.o_eff_statement_details .o_user_infos{margin-top:20px}div.o_assessment_user_type_filter{display:inline-block;padding:0.5em;border:1px solid #eee;border-radius:4px}div.o_assessment_user_type_filter div.form-inline,div.o_assessment_user_type_filter div.o_navbar-form{margin-left:5px;display:inline-block}.vitero_iframe{width:100%;height:100%;border:none;min-height:60em}.o_reminder_rule{padding:5px 0}.o_segments.btn-group a span{overflow:hidden;display:block;text-overflow:ellipsis}.o_segments_content{margin-top:20px}.o_tabbed_pane .o_tabbed_pane_content{padding:20px 0 6px 0}.o_togglebox_wrapper .o_opener{position:relative;left:-0.5em}.o_togglebox_wrapper div.o_togglebox_content{position:relative;margin:0}.o_togglebox_wrapper div.o_togglebox_content .o_hide{position:absolute;bottom:0.5em;right:1em}.o_toolboxes ul{margin:0 0 1.5em 0;padding:0 0 0 1.5em}.o_qrcode{width:256px;height:256px}#o_ajax_busy{position:absolute;left:50%;top:20em;margin-left:-2.5em;height:5em;width:5em;color:#fff;z-index:1201;display:none}#o_body.o_ajax_busy{cursor:busy}.o_exception .o_visual{position:relative;background-image:url("../light/images/lion-500x333.jpg");filter:grayscale(50%);-webkit-filter:grayscale(50%);-moz-filter:grayscale(50%);-ms-filter:grayscale(50%);-o-filter:grayscale(50%);width:500px;height:333px;background-repeat:no-repeat;background-position:50% 50%;background-size:contain;margin:0 0 10px 16px}@media (min-width: 768px) and (max-width: 991px){.o_exception .o_visual{width:375px;height:249px}}@media (min-width: 500px) and (max-width: 767px){.o_exception .o_visual{width:250px;height:166px}}@media (max-width: 500px){.o_exception .o_visual{background-size:cover}}.o_exception .jumbotron h1,.o_exception .o_repo_details .o_lead h1,.o_repo_details .o_exception .o_lead h1{color:#d9534f}ul.o_assessment_docs{margin-bottom:0}ul.o_assessment_docs>li{margin-bottom:0.33em}ul.o_assessment_docs>li:last-child{margin-bottom:0em}.o_mail_message .o_mail_meta{background:#fafafa;border:1px solid #eee;padding:5px 10px}.o_mail_message .o_mail_meta h3{margin-top:0}.o_mail_message .o_mail_date,.o_mail_message .o_mail_from,.o_mail_message .o_mail_recipients{color:#777;font-size:90%}.o_mail_message .o_mail_date .o_label,.o_mail_message .o_mail_from .o_label,.o_mail_message .o_mail_recipients .o_label{font-weight:bold;margin-right:1em}.o_mail_message .o_mail_date .o_group span,.o_mail_message .o_mail_from .o_group span,.o_mail_message .o_mail_recipients .o_group span{font-weight:bold}.o_mail_message .o_mail_date .o_group span:after,.o_mail_message .o_mail_from .o_group span:after,.o_mail_message .o_mail_recipients .o_group span:after{content:':';margin-right:0.5em}.o_mail_message .o_mail_date i,.o_mail_message .o_mail_from i,.o_mail_message .o_mail_recipients i{margin-left:1em}.o_mail_message .o_mail_date ul.list-inline,.o_mail_message .o_mail_from ul.list-inline,.o_mail_message .o_mail_recipients ul.list-inline{display:inline}.o_mail_message .o_mail_date ul.list-inline li,.o_mail_message .o_mail_from ul.list-inline li,.o_mail_message .o_mail_recipients ul.list-inline li{padding-right:0;padding-left:0}.o_mail_message .o_more{margin-left:1em}.o_mail_message .o_showAllLink{float:right;font-size:80%}.progress .o_progress_marker{position:absolute;height:100%;top:0;width:3px;background:red}.progress .progress-bar{text-shadow:1px 1px 2px #000000}.o_progress_label_right{float:left;margin-right:10px}.o_web_content{padding-bottom:15px}.o_labeled_light,a.o_qpool_tools_status,.dropdown-toggle.o_qpool_tools_status,.o_labeled{text-transform:uppercase;text-align:center;text-decoration:none;vertical-align:text-bottom;font-size:75% !important;font-weight:bold !important;line-height:1;white-space:nowrap;border:1px solid;border-radius:3px;padding:2px 5px;background-color:#777;color:#fff}.o_labeled_light{background-color:#f8f8f8}.dropdown-menu.o_labeled{background-color:inherit}.o_ms_button{max-width:100%;width:100%;display:flex}.o_ms_button span:not(.o_ms_carret){text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.o_ms_button .o_ms_carret{margin:auto 0 auto auto}.o_ms_list{width:100%;height:auto;max-height:300px;overflow-x:hidden}.o_disclaimer .o_disclaimer_content{max-height:50vh;overflow:auto;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;background:#fbfbfb;padding:10px;border:1px solid #c2c2c2}.tt-input{width:400px}.tt-menu{width:400px;margin-top:6px;padding:0 0 0;color:#555;background-color:#fff;border:1px solid #66afe9;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;-webkit-box-shadow:0 0 8px rgba(102,175,233,0.6);box-shadow:0 0 8px rgba(102,175,233,0.6)}.tt-suggestion{padding:6px 12px;font-size:14px;line-height:1.428571429}.tt-suggestion.tt-cursor,.tt-suggestion:hover{color:#fff;background-color:#337ab7}.tt-suggestion p{margin:0}.tt-menu div.o_icon_error:before{content:''}.o_search_link_extended,.o_search_link_simple{margin-top:12px;display:inline-block}.o_search_results_stats{color:#777;padding-left:1.5em}.o_search_highlight{margin-left:12px;font-size:12px}.o_search_result_title h4,.o_search_result_title .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_search_result_title h2{display:inline-block;margin-right:12px;margin-bottom:6px}.o_search_result_title h4 .o_icon-fw,.o_search_result_title .o_cal .fc-header-title h2 .o_icon-fw,.o_cal .fc-header-title .o_search_result_title h2 .o_icon-fw{text-align:left}.o_search_result_highlight{font-weight:bold;background-color:transparent}.o_search_result_context{display:inline-block;color:#3c763d;margin-right:1em}.o_search_result_license{display:inline-block;color:#777}.o_search_result_excerpt{color:#555}.o_search_result .o_opener{font-size:12px}.o_search_result .o_opener i{width:1em}.o_search_result_details .o_togglebox_wrapper.o_block{margin-top:0;margin-bottom:0}.o_search_result_details .o_togglebox_wrapper .o_togglebox_content{color:#777;font-size:12px;background:#fff;padding:6px 12px}.o_search_result_details .o_togglebox_wrapper .o_search_result_license i{font-size:20px}@media (max-width: 767px){.o_search_result_details{display:none}}.wizard{border:1px solid #d4d4d4;border-radius:2px;background-color:#f9f9f9;position:relative;overflow:hidden;margin-bottom:15px}.wizard ul{list-style:none outside none;padding:0;margin:0;width:4000px}.wizard ul li{float:left;margin:0;padding:0 20px 0 30px;height:46px;line-height:46px;position:relative;background:#ededed;color:#333;font-size:16px;cursor:default}.wizard ul li .chevron{border:24px solid transparent;border-left:14px solid #d4d4d4;border-right:0;display:block;position:absolute;right:-14px;top:0;z-index:1}.wizard ul li .chevron:before{border:24px solid transparent;border-left:14px solid #ededed;border-right:0;content:"";display:block;position:absolute;right:1px;top:-24px}.wizard ul li.active{background:#f1f6fc;color:#333}.wizard ul li.active .chevron:before{border-left:14px solid #f1f6fc}.wizard ul li .badge{margin-right:8px}.wizard ul li:first-child{border-radius:4px 0 0 4px;padding-left:20px}.o_process{position:relative;padding-left:25px}.o_process .o_step{position:relative;height:auto;padding-top:10px;padding-left:30px;padding-bottom:10px}.o_process .o_bar{position:absolute;top:10px;left:8px;height:100%;border-left:4px solid #777}.o_process .o_bar:after{position:absolute;top:0;left:-10px;height:16px;width:16px;border:4px solid #777;border-radius:16px;background:#fff;content:" "}.o_process .o_title{margin-top:-1px;color:#777 !important}.o_process .o_title:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;left:-24px}.o_process .o_title a:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";width:1em}.o_process .o_title a.collapsed:before{content:""}.o_process .o_step.o_active .o_bar,.o_process .o_step.o_active .o_bar:after{border-color:#337ab7}.o_process .o_step.o_active .o_title{color:#337ab7 !important}.o_process .o_step.o_active .o_title:before{content:"";color:#337ab7}.o_process .o_step.o_done .o_bar,.o_process .o_step.o_done .o_bar:after{border-color:#5094ce}.o_process .o_step.o_done .o_title{color:#5094ce !important}.o_process .o_step.o_done .o_title:before{content:"";color:#5cb85c}.o_process .o_meta{color:#777;font-size:12px;margin-top:-0.5em}.o_cal_orange{background:#ffc266;border-color:#ff9900;color:#5D5D5D}.o_cal_orange .o_cal_wv_event_header{background:#ff9900}.o_cal_orange a{color:#5D5D5D !important}.o_cal_class.o_cal_orange{border-left:20px solid #ffc266}.o_cal_green{background:#66c266;border-color:#009900;color:#FFF}.o_cal_green .o_cal_wv_event_header{background:#009900}.o_cal_green a{color:#FFF !important}.o_cal_class.o_cal_green{border-left:20px solid #66c266}.o_cal_blue{background:#4d6e9f;border-color:#2e5894;color:#FFF}.o_cal_blue .o_cal_wv_event_header{background:#2e5894}.o_cal_blue a{color:#FFF !important}.o_cal_class.o_cal_blue{border-left:20px solid #4d6e9f}.o_cal_yellow{background:#ffe066;border-color:#ffcc00;color:#5D5D5D}.o_cal_yellow .o_cal_wv_event_header{background:#ffcc00}.o_cal_yellow a{color:#5D5D5D !important}.o_cal_class.o_cal_yellow{border-left:20px solid #ffe066}.o_cal_red{background:#c26666;border-color:#990000;color:#FFF}.o_cal_red .o_cal_wv_event_header{background:#990000}.o_cal_red a{color:#FFF !important}.o_cal_class.o_cal_red{border-left:20px solid #c26666}.o_cal_rebeccapurple{background:#663399;border-color:#663399;color:#FFF}.o_cal_rebeccapurple .o_cal_wv_event_header{background:#663399}.o_cal_rebeccapurple a{color:#FFF !important}.o_cal_class.o_cal_rebeccapurple{border-left:20px solid #639}.o_cal_fuchsia{background:#FF00FF;border-color:#dd00dd;color:#FFF}.o_cal_fuchsia .o_cal_wv_event_header{background:#FF00FF}.o_cal_fuchsia a{color:#FFF !important}.o_cal_class.o_cal_fuchsia{border-left:20px solid #f0f}.o_cal_olive{background:#808000;border-color:#636300;color:#FFF}.o_cal_olive .o_cal_wv_event_header{background:#808000}.o_cal_olive a{color:#FFF !important}.o_cal_class.o_cal_olive{border-left:20px solid olive}.o_cal_navy{background:#000080;border-color:#000057;color:#FFF}.o_cal_navy .o_cal_wv_event_header{background:#000080}.o_cal_navy a{color:#FFF !important}.o_cal_class.o_cal_navy{border-left:20px solid navy}.o_cal_maroon{background:#800000;border-color:#740000;color:#FFF}.o_cal_maroon .o_cal_wv_event_header{background:#800000}.o_cal_maroon a{color:#FFF !important}.o_cal_class.o_cal_maroon{border-left:20px solid maroon}.o_cal_lime{background:#00FF00;border-color:#00e200;color:#004d00}.o_cal_lime .o_cal_wv_event_header{background:#00FF00}.o_cal_lime a{color:#004d00 !important}.o_cal_class.o_cal_lime{border-left:20px solid lime}.o_cal_grey{background:#DDDAAA;border-color:#5D5D5D;color:#FFF}.o_cal_grey .o_cal_wv_event_header{background:#5D5D5D}.o_cal_grey a{color:#FFF !important}.o_cal_class.o_cal_grey{border-left:20px solid #DDDAAA}.o_sel_calendar_print_chooser{padding-right:4em}.o_cal_config_enabled,.o_cal_config_disabled{position:relative;float:left;display:inline}.o_cal_config_calendar{margin:0 5px;padding:1px 6px 1px 4px;position:relative;width:200px;overflow:hidden;float:left;display:inline}.o_cal_config_color{display:block;width:16px;height:16px;border-radius:8px}.o_cal_colorchooser_selected:before{content:""}#o_cal_colorchooser div{border:1px solid #337ab7;margin:5px;display:inline-block}#o_cal_colorchooser div:hover{border:1px solid #333}#o_cal_colorchooser a{width:20px;height:20px;display:inline-block}.o_cal_embedded_course_container .o_content_popup{top:0}.o_cal_wv_event_tooltip_content .o_cal_description{background-color:#f8f8f8;padding:10px 7px;margin:10px -7px}.o_cal_wv_event_tooltip_content .o_cal_tooltip_buttons{text-align:center;margin-top:20px}.o_cal_event_managed .fc-event-inner:after{margin-right:2px;float:right;font-family:FontAwesome;font-style:normal;font-weight:normal;font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:""}.o_cal_event_not_managed .fc-event-inner:after{margin-right:2px;float:right;font-family:FontAwesome;font-style:normal;font-weight:normal;font-size:100%;webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:""}.fc-button{color:#333;background-color:#fff;border-color:#ccc}.fc-button:hover,.fc-button:focus,.fc-button.focus,.fc-button:active,.fc-button.active,.open>.fc-button.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.fc-button:active,.fc-button.active,.open>.fc-button.dropdown-toggle{background-image:none}.fc-button.disabled,.fc-button.disabled:hover,.fc-button.disabled:focus,.fc-button.disabled.focus,.fc-button.disabled:active,.fc-button.disabled.active,.fc-button[disabled],.fc-button[disabled]:hover,.fc-button[disabled]:focus,.fc-button[disabled].focus,.fc-button[disabled]:active,.fc-button[disabled].active,fieldset[disabled] .fc-button,fieldset[disabled] .fc-button:hover,fieldset[disabled] .fc-button:focus,fieldset[disabled] .fc-button.focus,fieldset[disabled] .fc-button:active,fieldset[disabled] .fc-button.active{background-color:#fff;border-color:#ccc}.fc-button .badge{color:#fff;background-color:#333}.fc-button.fc-state-default{text-shadow:none}.fc-button.fc-state-active{color:#fff;background-color:#337ab7;border-color:#2e6da4}.fc-button.fc-state-active:hover,.fc-button.fc-state-active:focus,.fc-button.fc-state-active.focus,.fc-button.fc-state-active:active,.fc-button.fc-state-active.active,.open>.fc-button.fc-state-active.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.fc-button.fc-state-active:active,.fc-button.fc-state-active.active,.open>.fc-button.fc-state-active.dropdown-toggle{background-image:none}.fc-button.fc-state-active.disabled,.fc-button.fc-state-active.disabled:hover,.fc-button.fc-state-active.disabled:focus,.fc-button.fc-state-active.disabled.focus,.fc-button.fc-state-active.disabled:active,.fc-button.fc-state-active.disabled.active,.fc-button.fc-state-active[disabled],.fc-button.fc-state-active[disabled]:hover,.fc-button.fc-state-active[disabled]:focus,.fc-button.fc-state-active[disabled].focus,.fc-button.fc-state-active[disabled]:active,.fc-button.fc-state-active[disabled].active,fieldset[disabled] .fc-button.fc-state-active,fieldset[disabled] .fc-button.fc-state-active:hover,fieldset[disabled] .fc-button.fc-state-active:focus,fieldset[disabled] .fc-button.fc-state-active.focus,fieldset[disabled] .fc-button.fc-state-active:active,fieldset[disabled] .fc-button.fc-state-active.active{background-color:#337ab7;border-color:#2e6da4}.fc-button.fc-state-active .badge{color:#337ab7;background-color:#fff}body.o_cal_print fieldset{border:none;margin-bottom:2em}body.o_cal_print legend{font-size:2em;font-weight:bold}body.o_cal_print legend span{display:block;font-size:14px;font-weight:normal}body.o_cal_print ul.o_cal_wv_list{list-style-type:none;padding:0}body.o_cal_print ul.o_cal_wv_list>li{page-break-inside:avoid;margin-bottom:2em}body.o_cal_print ul.o_cal_wv_list .o_cal_date{font-size:1.25em;font-weight:bold;padding:0.5em 0 0.5em 0}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events{list-style-type:none;padding:0.5em 0 0 0}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event{position:relative;left:30px;page-break-inside:avoid;clear:both;margin-bottom:1.5em;padding-right:30px}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_time{float:left;font-weight:bold;margin-right:1em}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_subject{font-weight:bold}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_subject p{margin:0}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_location,body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_description,body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_freebusy{clear:both}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_freebusy{font-style:italic}body.o_cal_print .o_cal_class{position:absolute;left:-30px;width:20px}body.o_cal_print #o_cal_config legend{font-size:1.25em}body.o_cal_print #o_cal_config .o_cal_config_calendar{margin:0;padding:0}body.o_cal_print #o_cal_config .o_cal_config_calendar{position:relative;left:30px;float:none;padding-right:30px}.o_visual{position:absolute;top:0;left:0;overflow:hidden;height:120px;width:180px;vertical-align:middle}@media (min-width: 768px) and (max-width: 991px){.o_visual{height:80px;width:120px}}@media (max-width: 767px){.o_visual{height:50px;width:75px}}.o_visual img{width:100%;height:auto}.o_visual .o_visual_not_available{width:100%;height:100%;background-image:url("../light/images/no_preview.png");background-repeat:no-repeat;background-position:50% 50%;background-size:contain}.o_coursetable.o_rendertype_custom .o_table_row{position:relative;border:1px solid #337ab7;margin-bottom:10px}.o_coursetable.o_rendertype_custom .o_table_row .o_visual{box-sizing:content-box;border-right:1px solid #337ab7}.o_coursetable.o_rendertype_custom .o_table_row .o_access{position:absolute;top:0;right:0;height:120px;width:180px;overflow:hidden;border-left:1px solid #337ab7;padding-top:0.25em}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_state,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score{padding:0 1em;height:20px;line-height:20px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score{position:relative;left:2px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score .o_label{color:#777}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social{position:absolute;width:100%;bottom:32px;height:20px;padding-left:1em}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating .o_rating_title,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating o_rating_legend,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating .o_rating_explanation{display:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings{padding:0 0 0 1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_label{margin-bottom:1em;color:#777}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_methods{color:#5bc0de}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{position:absolute;display:block;bottom:0;width:90px;height:30px;line-height:30px;text-align:center}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book{right:0}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start{color:#fff;background-color:#337ab7;border-color:#2e6da4}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.dropdown-toggle{background-image:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled.active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled],.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled]:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled]:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled].focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled]:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled].active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.active{background-color:#337ab7;border-color:#2e6da4}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start .badge{color:#337ab7;background-color:#fff}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book{color:#fff;background-color:#f0ad4e;border-color:#eea236}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.dropdown-toggle{background-image:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled.active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled],.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled]:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled]:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled].focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled]:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled].active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.active{background-color:#f0ad4e;border-color:#eea236}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book .badge{color:#f0ad4e;background-color:#fff}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{right:90px;color:#fff;background-color:#5cb85c;border-color:#4cae4c}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.dropdown-toggle{background-image:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled.active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled],.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled]:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled]:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled].focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled]:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled].active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.active{background-color:#5cb85c;border-color:#4cae4c}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details .badge{color:#5cb85c;background-color:#fff}@media (min-width: 768px) and (max-width: 991px){.o_coursetable.o_rendertype_custom .o_table_row .o_access{height:80px;width:120px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_comments,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_label{display:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{width:60px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{right:60px}}@media (max-width: 767px){.o_coursetable.o_rendertype_custom .o_table_row .o_access{display:none}}.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:120px;margin:0 180px 0 180px;position:relative;padding:1em 0.5em 0.25em 1em;overflow:hidden}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title{margin:0;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a{display:block;color:#337ab7}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:hover{color:#286090}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_author{margin-top:0.5em;line-height:normal;font-size:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3c763d}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle{position:absolute;top:5px;right:40px;z-index:2px;background:white;padding:0 3px 3px 3px;border-radius:0px 0px 3px 3px;font-size:90%;line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle.o_active{color:#3c763d}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle.o_active:hover{color:#2b542c}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_desc{margin-top:0.5em}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_bookmark{position:absolute;top:-1px;right:15px}@media (min-width: 768px) and (max-width: 991px){.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:80px;margin:0 120px}}@media (max-width: 767px){.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:50px;margin:0 0 0 75px;padding:0 0 0 1em}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title{line-height:50px}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a{border-right:37px solid transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_author,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_bookmark,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_desc{display:none}}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_go_xs{position:absolute;top:0;right:0;padding:0 1em;height:50px;width:37px;line-height:50px;color:#fff;background-color:#337ab7}.o_coursetable.o_rendertype_classic .o_rating_explanation{display:none}.o_coursetable.o_rendertype_classic .o_start,.o_coursetable.o_rendertype_classic .o_book{white-space:nowrap}.o_coursetable.o_rendertype_classic .o_repoentry_type{color:#555}.o_coursetable.o_rendertype_classic .o_repoentry_ac{color:#555}.o_catalog .o_level{position:relative;margin-bottom:10px;padding:0;border-top:1px solid #337ab7;border-bottom:1px solid #337ab7}.o_catalog .o_level .o_visual{height:180px}.o_catalog .o_level .o_meta{position:relative;min-height:180px;height:180px;overflow:hidden;margin:0 0 0 180px;padding:1em 0.5em 0.5em 2em}.o_catalog .o_level .o_meta .o_title{margin:0}.o_catalog .o_level .o_meta .o_title a{display:block;color:#337ab7}.o_catalog .o_level .o_meta .o_title a:hover{color:#286090}.o_catalog .o_level .o_meta .o_desc{padding:1em 0 0.5em 0}@media (min-width: 768px) and (max-width: 991px){.o_catalog .o_level .o_visual{height:120px}.o_catalog .o_level .o_meta{min-height:120px;height:120px;margin:0 0 0 120px}}@media (max-width: 767px){.o_catalog .o_level .o_visual{height:75px}.o_catalog .o_level .o_meta{min-height:75px;height:75px;margin:0 0 0 75px;padding:0 0 0 1em}.o_catalog .o_level .o_meta .o_title{line-height:75px}.o_catalog .o_level .o_meta .o_desc{display:none}}.o_catalog .o_sublevels_list .o_sublevel{position:relative;border:1px solid #337ab7;margin-bottom:10px}.o_catalog .o_sublevels_list .o_sublevel .o_visual{height:75px;width:75px}.o_catalog .o_sublevels_list .o_sublevel .o_visual span.o_visual_not_available{width:100%;height:100%;display:block}.o_catalog .o_sublevels_list .o_sublevel .o_title{margin:0}.o_catalog .o_sublevels_list .o_sublevel .o_meta{border-left:1px solid #337ab7;min-height:75px;height:75px;margin:0 0 0 75px;padding:0 0 0 1em;overflow:hidden}.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_title{line-height:75px}.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_desc{display:none}.o_catalog .o_sublevels_list .o_sublevel .o_meta h4.o_title>a,.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_cal .fc-header-title h2.o_title>a,.o_cal .fc-header-title .o_catalog .o_sublevels_list .o_sublevel .o_meta h2.o_title>a{font-family:inherit;font-weight:inherit}.o_catalog .o_sublevels_list .o_sublevel .o_meta h4.o_title>a>i,.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_cal .fc-header-title h2.o_title>a>i,.o_cal .fc-header-title .o_catalog .o_sublevels_list .o_sublevel .o_meta h2.o_title>a>i{display:none}.o_catalog .o_sublevels_list .o_sublevel.o_fill_sublevels{border:1px solid transparent}.o_catalog .o_sublevels_list .o_sublevel.o_fill_sublevels .o_meta{border-left:1px solid transparent}.o_catalog .o_sublevels{position:relative;margin-bottom:20px}.o_catalog .o_sublevels:before,.o_catalog .o_sublevels:after{content:" ";display:table}.o_catalog .o_sublevels:after{clear:both}.o_catalog .o_sublevels .o_sublevel{position:relative;float:left;margin:0 20px 20px 0;width:180px}.o_catalog .o_sublevels .o_sublevel:last-child{margin-right:0}.o_catalog .o_sublevels .o_sublevel .o_visual{border:1px solid #337ab7;position:relative;height:180px}.o_catalog .o_sublevels .o_sublevel .o_visual span.o_visual_not_available{width:100%;height:100%;display:block}.o_catalog .o_sublevels .o_sublevel .o_meta{position:absolute;left:0;bottom:0;width:100%;border:1px solid #337ab7;border-top:0;background-color:rgba(255,255,255,0.8)}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title{margin:0;text-align:center;line-height:2em;height:2em;width:100%;overflow:hidden}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a{display:block;color:#337ab7;font-family:inherit;font-weight:inherit}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:hover{color:#286090}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a>i{display:none}@media (min-width: 768px) and (max-width: 991px){.o_catalog .o_sublevels .o_sublevel{width:120px;margin:0 10px 10px 0}.o_catalog .o_sublevels .o_sublevel .o_visual{height:120px}.o_catalog .o_sublevels .o_sublevel .o_title{font-size:90%}}@media (max-width: 767px){.o_catalog .o_sublevels .o_sublevel{width:120px;margin:0 1px 1px 0}.o_catalog .o_sublevels .o_sublevel .o_visual{height:120px;width:120px}.o_catalog .o_sublevels .o_sublevel .o_title{font-size:90%}}@media (min-width: 768px){.o_catalog .o_sublevels_list,.o_catalog .o_sublevels_compact{-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2;columns:2}}.o_repo_details{position:relative}.o_repo_details .o_lead{margin-bottom:10px}.o_repo_details .o_lead .o_author{margin-top:0.5em;margin-bottom:1em;font-size:120%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3c763d}.o_repo_details .o_lead .o_media{float:right;margin-left:2em;margin-bottom:2em}.o_repo_details .o_lead .o_media.o_desc_empty{float:none;margin-left:0;margin-bottom:0}.o_repo_details .o_lead h1{font-size:37px}.o_repo_details .o_lead h1 i{display:none}.o_repo_details .o_overview i{margin-right:0.5em}.o_repo_details .o_overview div{margin-bottom:0.25em}.o_repo_details .o_start_wrapper{clear:both;margin:2em 0 -10px 0;text-align:right}.o_repo_details .o_start_wrapper .o_start_inner{display:inline-block}.o_repo_details .o_start,.o_repo_details .o_book{max-width:400px;display:inline-block}.o_repo_details .o_social:before,.o_repo_details .o_social:after{content:" ";display:table}.o_repo_details .o_social:after{clear:both}.o_repo_details .o_social .o_rating_wrapper{float:left}.o_repo_details .o_social .o_comments{margin-left:1em}@media (max-width: 767px){.o_repo_details .o_lead p{font-size:16px}.o_repo_details .o_lead .o_media{margin-left:0;float:none;text-align:center}.o_repo_details .o_start_wrapper{text-align:center}.o_repo_details .o_start_wrapper .o_start_inner{display:block}.o_repo_details .o_start,.o_repo_details .o_book{max-width:100%;display:block}}@media (max-width: 613px){.o_repo_details .o_subcolumn{width:100%}}.o_meta .o_closed{padding:2px 5px;margin:5px 0}.o_overview .o_closed{padding:12px 15px;margin:15px 0}.o_ac_configuration span.o_ac_infos{font-weight:normal;color:grey}tr.o_entry_closed,tr.o_entry_closed td,tr.o_entry_closed td span,tr.o_entry_unpublished,tr.o_entry_unpublished td,tr.o_entry_unpublished td span{text-decoration:line-through}.o_repo_status_filter>div{display:inline-block}.o_repo_status_filter>div label{font-weight:normal}.badge.o_midpub{background-color:#3c763d}.badge.o_midwarn{background-color:#8a6d3b}.badge.o_midlock{background-color:#31708f}.badge.o_miderr{background-color:#a94442}.badge.o_middel{background-color:#777}.o_course_editor_legend .badge{font-size:80%}.o_course_editor_legend .badge:before{content:none}.o_passed{color:#3c763d;font-weight:bold}.o_passed a:hover{color:#2b542c}.o_passed th{color:#333}.o_failed{color:#a94442;font-weight:bold}.o_failed a:hover{color:#66512c}.o_failed th{color:#333}.o_unknown{color:#8a6d3b;font-weight:bold}.o_unknown a:hover{color:#66512c}.o_unknown th{color:#333}.o_noinfo{color:#777}.o_course_run .o_toc .o_entry .o_shorttitle{border-bottom:1px solid #777}.o_course_run .o_toc .o_entry .o_displaytitle{margin-top:5px;color:#777}.o_course_run .o_toc .o_entry .o_objectives{margin-top:10px;font-style:italic}.o_course_run .o_in_review{font-style:italic;position:relative}.o_course_run.o_titled_wrapper>h2 i{display:none}.o_course_run .o_cal_toptoolbar{margin-right:26px}.o_course_run .o_titled_wrapper .o_cal_toptoolbar{margin-right:0px}.o_tree.o_course_menu div.o_tree_l0>a:first-child{background-color:none}.o_st_peekview ul li{margin-bottom:0.5em}.o_cl_line{margin-bottom:10px;padding-bottom:5px}.o_cl_line.o_even{background-color:#f9f9f9}.o_ll_container h5{margin-bottom:5px}.o_ll_container h5 a.o_desc{color:#337ab7}.o_ll_container h5 a.o_desc small{display:none}.o_ll_container h5 a.o_desc:hover{color:#286090;text-decoration:none}.o_ll_container h5 a.o_desc:hover small{color:#5e5e5e;display:inline}.o_ll_container div.o_comment{color:#777}.o_cmembers .o_cmember{margin:12px 0;display:table}.o_cmembers .o_cmember .o_portrait{padding-right:10px;display:table-cell;vertical-align:top}.o_cmembers .o_cmember .o_portrait img{width:50px;height:50px}.o_cmembers .o_cmember .o_cmember_info_wrapper{display:table-cell;vertical-align:middle;color:#777}.o_cmembers .o_cmember .o_cmember_info_wrapper .o_mail{margin-left:6px}.o_cmembers .o_cmember a.o_mail{display:none}.o_cmembers .o_cmember:hover a.o_mail{display:inline}.o_cmembers_print{color:#000}.o_cmembers_print #o_print_brand{position:absolute;top:1cm;right:1cm;width:5cm;height:4cm}.o_cmembers_print #o_print_brand img{width:100%}.o_cmembers_print .o_portrait{width:100px;height:100px;position:relative}.o_cmembers_print .o_portrait img{border-radius:0px;max-width:100%;max-height:100%;width:auto;height:auto;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.o_cmembers_print .o_cmember{padding-left:0px;padding-right:15px;margin-bottom:20px}.o_cmembers_print .o_cmember .o_cmember_info_wrapper{word-wrap:break-word}.o_cmembers_print .o_cmember .o_prop.o_zipCode{float:left;padding-right:0.5em}.o_cmembers_print h1{font-size:18pt;color:#000}.o_cmembers_print h3{font-size:14pt;margin-top:5px;font-weight:normal;color:#000}.o_cmembers_print h4,.o_cmembers_print .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_cmembers_print h2{font-size:11pt;font-weight:strong;color:#000;padding-bottom:10px;border-bottom:1px solid #eee}.o_cmembers_print .o_cmember_info_wrapper{font-size:7pt;color:#000}.o_cmembers_print .o_cmember_info_wrapper strong{font-size:8pt}.tag.label.label-info{margin-right:3px}.input-group.o_tag_inputgroup .form-control{height:auto}div.o_correction_navigation .o_correction_navigation_back{float:left;line-height:32px}div.o_correction_navigation .o_correction_navigation_previous{position:absolute;right:50%;margin-right:102px}div.o_correction_navigation #o_cocurrent_item_SELBOX{width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute;left:50%;margin-left:-100px}div.o_correction_navigation .o_correction_navigation_next{position:absolute;left:50%;margin-left:102px}@media (max-width: 767px){div.o_correction_navigation .o_correction_navigation_previous span,div.o_correction_navigation .o_correction_navigation_next span{display:none}}table.table.o_qti_item_kprim>thead>tr>th,table.table.o_qti_item_kprim>tbody>tr>td{border:none}td.o_qti_item_kprim_input,th.o_qti_item_kprim_input{text-align:center}td.o_qti_item_kprim_input .radio,th.o_qti_item_kprim_input .radio{display:inline}td.o_qti_item_kprim_text{width:80%}div.o_qti_menu_section,div.o_qti_menu_section_clickable,div.o_qti_menu_section_active{margin-top:10px}div.o_qti_menu_item a,div.o_qti_menu_section a{text-decoration:none}div.o_qti_menu_item{padding:.1em}div.o_qti_menu_item_active{padding:.1em;font-weight:bold}div.o_qti_item_itemfeedback{background-color:#ffffff;border-color:#000000}div.o_qti_item_choice_option_flow{display:inline-block;padding:.5em;border:1px solid transparent}.d3chart .bar_green{fill:#5cb85c}.d3chart .bar_red{fill:#d9534f}.d3chart .bar_grey{fill:lightgrey}.d3chart circle.bubble_green{fill:#5cb85c}div.o_qti_statistics ul{list-style-type:none;padding:0;margin:0;font-size:90%}div.o_qti_statistics ul strong{font-weight:normal}div.o_qti_statistics ul li{padding-left:48px;margin-left:0;margin-bottom:10px}div.o_qti_statistics ul li.o_qti_statistics-ncorrect:before{font-size:125%;content:'\2A2F\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-correct:before{font-size:125%;content:'\2713\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-kplus:before{font-size:125%;content:'\2713\00A0\2A2F\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-kminus:before{font-size:125%;content:'\2A2F\00A0\2713\00A0\00A0'}div.o_qti_statistics ul li img{vertical-align:top}div.o_qti_statistics table.o_qti_statistics_figures tr{float:left}div.o_qti_statistics table.o_qti_statistics_figures tr:nth-child(2n+1){clear:left;padding-right:20px}div.o_qti_statistics table.o_qti_statistics_figures td{width:200px;padding-left:0;vertical-align:bottom}div.o_qti_statistics table.o_qti_statistics_figures td+td{width:100px}div.o_qti_statistics .o_qti_statistics_answer{background:#F5F5F5;padding:1px 2px;width:90%}div.o_qti_statistics div.o_qti_statistics_legend{padding-top:10px;width:470px;border:1px solid #ddd;border-radius:4px}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_green{background-color:#9dd53a}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_red{background-color:#f85032}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_grey{background-color:lightgrey}div.o_qti_metadatas .panel-body{border-top:none}.o_qti_menu_item_attempts:after,.o_qti_menu_item_attempts_marked:after{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.o_qti_menu_item_attempts:after{content:"ï„"}.o_qti_menu_item_attempts_marked:after{content:"";color:#337ab7}.o_qti_print div.o_qti_statistics{width:680px}@media print{div.o_qti_statistics{width:680px}}ul.sessionControl{list-style:none;margin:1em;text-align:center}ul.sessionControl li{display:inline;padding:0.2em}.association{margin:20px 20px 20px 40px;background:transparent url("../light/images/association_bg.png") repeat-x center center}.o_associate_item{padding:5px;margin:0 15px 10px 0;border:2px solid #999}.o_associate_item.oo-selected{border:2px solid #337ab7}.o_associate_item.oo-choosed{border:none !important}.o_associate_item.oo-drag{border:2px solid #337ab7 !important}.association_box{border:3px dotted #999}.association_box.oo-filled{border:3px solid #999}.association_box{background-color:white}.prompt{font-weight:bold}.sketch{position:relative;user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;-ms-user-select:none}#tmp_canvas{position:absolute;left:0px;right:0;bottom:0;top:0;cursor:crosshair;user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;-ms-user-select:none}#colors .black .o_icon:before{color:#000000}#colors .blue .o_icon:before{color:#0000FF}#colors .green .o_icon:before{color:#008000}#colors .yellow .o_icon:before{color:#FFFF00}#colors .red .o_icon:before{color:#FF0000}#colors .purple .o_icon:before{color:#800080}.o_gap_item{padding:5px;margin:5px;background-repeat:no-repeat;background-position:center center}.o_gap_item.oo-choosed{position:relative;left:auto;top:auto;padding:3px;margin:0}.o_gap_item.oo-selected{border:3px solid #337ab7}.o_item_container_help,.o_items_container_help{font-size:90%;font-style:italic;color:#777;padding:5px}.items_container{padding:15px}.items_container .o_item{float:left}#o_qti_hotspots_edit{min-height:100px;min-width:400px;background-repeat:no-repeat}#o_qti_hotspots_edit.o_qti_hotspot-standard .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-standard .o_draw_rectangle{background-color:rgba(255,255,255,0.5);border-color:#6E6E6E}#o_qti_hotspots_edit.o_qti_hotspot-standard .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-standard .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(45,0,255,0.5);border-color:#0000ff}#o_qti_hotspots_edit.o_qti_hotspot-light .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-light .o_draw_rectangle{background-color:rgba(221,221,221,0);border-color:#7E7E7E}#o_qti_hotspots_edit.o_qti_hotspot-light .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-light .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(51,122,183,0.05);border-color:#337ab7}#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_draw_rectangle{background-color:rgba(110,110,110,0.5);border-color:#3E3E3E}#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(222,222,222,0.2);border-color:#CECECE}#o_qti_hotspots_edit.o_qti_hotspot-green .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-green .o_draw_rectangle{background-color:rgba(142,142,142,0.25);border-color:#CECECE}#o_qti_hotspots_edit.o_qti_hotspot-green .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-green .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(134,195,81,0.5);border-color:#518b33}#o_qti_hotspots_edit.o_qti_hotspot-purple .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-purple .o_draw_rectangle{background-color:rgba(142,142,142,0.33);border-color:#CECECE}#o_qti_hotspots_edit.o_qti_hotspot-purple .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-purple .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(234,168,255,0.5);border-color:#ab47cb}div.hotspotInteraction{overflow-x:auto}img.o_hotspot_responsive[usemap]{max-width:100%;width:auto;height:auto}.form-inline.o_qti_gaptext_add_first_alternative,.o_qti_gaptext_add_first_alternative.o_navbar-form{padding:9px 0 3px 0}.form-inline.o_qti_gaptext_add_alternative,.o_qti_gaptext_add_alternative.o_navbar-form{margin-bottom:3px}.o_qti_item_body .extendedTextInteraction{margin:15px 0}.o_qti_item_body .extendedTextInteraction textarea{resize:vertical !important;font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.o_qti_item_body .extendedTextInteraction pre{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.o_qti_item_body .extendedTextInteraction .o_qti_essay_last_save{padding:2px 2px;font-style:italic;font-size:90%;text-align:right}.extendedTextInteraction div.form-control.textarea_disabled{white-space:pre-wrap;height:auto;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;color:#555 !important}#o_qti_run_title{margin:0 15px 0.5em 15px}#o_qti_run_title h3{margin:15px 0 0 0}#o_qti_run_infos{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:10px 0;margin:0 15px 1em 15px}#o_qti_run_infos .progress{background-color:#eee}#o_qti_run_infos #o_qti_scoreinfo .progress-bar{background-color:#337ab7}.progress-striped #o_qti_run_infos #o_qti_scoreinfo .progress-bar{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}#o_qti_run_infos #o_qti_questioninfo .progress-bar{background-color:#337ab7}.progress-striped #o_qti_run_infos #o_qti_questioninfo .progress-bar{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}#o_qti_run_infos #o_qti_run_scoreinfo,#o_qti_run_infos #o_qti_run_scoreprogress{white-space:nowrap}#o_qti_results_infos{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:10px 0;margin:0 0 1em 0}#o_qti_results_infos .progress{background-color:#eee}#o_qti_results_infos #o_qti_run_scoreinfo,#o_qti_results_infos #o_qti_run_scoreprogress{white-space:nowrap}#o_qti_assessment_test_timer{border:1px solid #e7e7e7;border-radius:4px;padding:10px;margin:0 15px 1em 15px}#o_qti_assessment_test_timer.o_10_minutes{background-color:#fcf8e3}#o_qti_assessment_test_timer.o_5_minutes{background-color:#f2dede}#o_qti_assessment_test_timer.o_panic{background-color:#ce8383}#o_qti_assessment_test_timer .o_qti_times_up{padding-left:2em;font-weight:bold}#o_qti_assessment_test_timer .o_qti_times_message{padding-left:2em;font-weight:bold}.o_draw_circle.o_qti_hotspot_correct,.o_draw_rectangle.o_qti_hotspot_correct{background-color:rgba(229,255,204,0.6)}#width_range_ui,#opacity_range_ui{width:120px}.o_slider_width_range,.o_slider_opacity_range{margin:3px 10px 0 0}.o_qti_hotspot_label{padding-left:48%}.o_info.o_assessmentsection_rubrics{margin:0 0 0.5em 0;position:relative}.o_info.o_assessmentsection_rubrics.o_hide{display:none}.o_info.o_assessmentsection_rubrics.o_show{display:block}.o_info.o_assessmentsection_rubrics a.o_hide{position:absolute;bottom:0.5em;right:1em}.o_assessmentitem h1{margin-bottom:0}.o_assessmentitem div.badResponse,.o_assessmentitem span.badResponse{color:#d9534f;font-weight:bold}.o_assessmentitem input.badResponse{border:1px solid #d9534f}.o_assessmentitem .infoControl input{margin-right:0.5em}.o_assessmentitem .infoControl .infoControlContent{display:none}.o_assessmentitem .sliderInteraction{margin:1em}.o_assessmentitem .sliderInteraction .sliderVertical .sliderValue{margin:1em 0}.o_assessmentitem .sliderInteraction .sliderVertical .sliderWidget{height:200px}.o_assessmentitem .sliderInteraction .sliderHorizontal .sliderValue{text-align:center}.o_assessmentitem div.orderInteraction div.highlight{border:1px solid #d9534f}.o_assessmentitem div.orderInteraction div.box.vertical{width:50%;float:left;position:relative;padding:0;margin-top:5px}.o_assessmentitem div.orderInteraction div.box.vertical ul{min-height:200px}.o_assessmentitem div.orderInteraction div.box.horizontal ul{min-height:50px;width:100%}.o_assessmentitem div.orderInteraction div.box.source{padding:5px 10px;border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8}.o_assessmentitem div.orderInteraction div.box.source.horizontal{padding:5px 10px 15px 10px}.o_assessmentitem div.orderInteraction div.box.target ul{border:2px solid #5bc0de;border-radius:4px;background:#d9edf7}.o_assessmentitem div.orderInteraction div.box.target ul.oo-accepted{border-color:#1f7e9a}.o_assessmentitem div.orderInteraction div.box.target.vertical{padding:6px 0 0 10px}.o_assessmentitem div.orderInteraction div.box.target.vertical ul{padding:10px}.o_assessmentitem div.orderInteraction div.box.target.horizontal{padding-top:10px}.o_assessmentitem div.orderInteraction div.box.target.horizontal ul{padding:10px 10px 0 10px}.o_assessmentitem div.orderInteraction div.box.horizontal ul li{float:left;width:auto;margin-right:10px;min-width:50px}.o_assessmentitem div.orderInteraction div.box span.info{color:#666;font-style:italic;font-size:smaller}.o_assessmentitem div.orderInteraction ul{list-style-type:none;margin:0;padding:0}.o_assessmentitem .hottext{position:relative;margin:-2px 0.15em -2px 0.15em;white-space:nowrap}.o_assessmentitem .hottext input{margin:0 3px 0 2px;position:absolute;top:0.1em;left:0.05em}.o_assessmentitem .hottext input+label{display:inline;padding:0 0.1em 0 1.2em;background:#f8f8f8;border:1px solid #e7e7e7;border-radius:2px;color:#333;font-weight:normal;white-space:normal}.o_assessmentitem .hottext input:checked+label{color:#333;background:#d9edf7;border:1px solid #bce8f1}.o_assessmentitem .gap{font-weight:bold;border:1px dashed #000}.o_assessmentitem .textEntryInteraction input{margin:-1px 2px;line-height:90%;vertical-align:middle;font-size:13.72px;line-height:1.5;border:1px solid #999;background:#fff;padding:1px 1px;color:#333}.o_assessmentitem .textEntryInteraction input:valid,.o_assessmentitem .textEntryInteraction input:disabled{color:#333;-webkit-text-fill-color:#333;background:#d9edf7;border:1px solid #bce8f1}li.o_assessmentitem_order_item{padding:10px;margin-bottom:10px;border:2px dashed #999;border-radius:4px;background-color:#ffffff;background:#fcf8e3;list-style-type:none}li.o_assessmentitem_order_item:before,li.o_assessmentitem_order_item:after{content:" ";display:table}li.o_assessmentitem_order_item:after{clear:both}body>li.o_assessmentitem_order_item{display:block}.o_assessmentitem_wrapper .itemTitle{background:#f8f8f8;border:1px solid #e7e7e7;border-radius:4px 4px 0 0;margin-top:0;margin-bottom:0;padding:5px 10px;line-height:1.5em;position:relative}.o_assessmentitem_wrapper .itemTitle .o_qti_item_max_score{position:absolute;left:49%}.o_assessmentitem_wrapper .o_qti_item_body{min-height:200px;margin:0;padding:5px 10px;border-left:1px solid #e7e7e7;border-right:1px solid #e7e7e7;font-size:14px;line-height:1.8}.o_assessmentitem_wrapper .o_assessment_item_not_final.o_warning{margin:0}.o_assessmentitem_wrapper .modalFeedback h4:first-of-type,.o_assessmentitem_wrapper .modalFeedback .o_cal .fc-header-title h2:first-of-type,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback h2:first-of-type{padding-left:10px;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper h4,.o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper h2{border-left:1px solid #e7e7e7;border-right:1px solid #e7e7e7;padding-bottom:5px;margin-bottom:0}.o_assessmentitem_wrapper ul.o_testpartnavigation,.o_qti_menu_buttonstyle ul.o_testpartnavigation{list-style:none;padding:0;margin:0}.o_assessmentitem_wrapper li.o_assessmentitem,.o_qti_menu_buttonstyle li.o_assessmentitem{margin-bottom:2px}.o_assessmentitem_wrapper .o_assessmentitem_status,.o_qti_menu_buttonstyle .o_assessmentitem_status{float:right;display:block;padding:0.3em;margin-left:1em;border-radius:0.3em;border-width:1px;font-size:0.8em;line-height:1.2em;color:#fff}.o_assessmentitem_wrapper .o_assessmentitem_status.ended,.o_qti_menu_buttonstyle .o_assessmentitem_status.ended{background-color:#5bc0de}.o_assessmentitem_wrapper .o_assessmentitem_status.invalid,.o_qti_menu_buttonstyle .o_assessmentitem_status.invalid{background-color:#d9534f}.o_assessmentitem_wrapper .o_assessmentitem_status.answered,.o_qti_menu_buttonstyle .o_assessmentitem_status.answered{background-color:#5cb85c}.o_assessmentitem_wrapper .o_assessmentitem_status.notAnswered,.o_qti_menu_buttonstyle .o_assessmentitem_status.notAnswered{background-color:#f0ad4e}.o_assessmentitem_wrapper .o_assessmentitem_status.notPresented,.o_qti_menu_buttonstyle .o_assessmentitem_status.notPresented{background-color:#ddd}.o_assessmentitem_wrapper .o_assessmentitem_status.review,.o_qti_menu_buttonstyle .o_assessmentitem_status.review{background-color:#5bc0de}.o_assessmentitem_wrapper .o_assessmentitem_status.reviewNotAllowed,.o_assessmentitem_wrapper .o_assessmentitem_status.reviewInvalid,.o_assessmentitem_wrapper .o_assessmentitem_status.reviewNotAnswered,.o_assessmentitem_wrapper .o_assessmentitem_status.reviewNotSeen,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewNotAllowed,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewInvalid,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewNotAnswered,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewNotSeen{background-color:#5bc0de;opacity:0.7}.o_assessmentitem_wrapper .o_assessmentitem_status i:before,.o_qti_menu_buttonstyle .o_assessmentitem_status i:before{color:#fff}.o_assessmentitem_controls{background:#f8f8f8;border:1px solid #e7e7e7;border-radius:0 0 4px 4px;margin-top:0;margin-bottom:16px;padding:5px 10px}.o_assessmentitem_controls button{margin-bottom:0}.o_assessmentitem_controls .o_sel_assessment_item_submit span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";padding-right:0.5em}.o_assessmentitem_controls .o_sel_next_question span:after{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï”";padding-left:0.5em}.o_assessmentitem_controls .o_sel_question_menu span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";padding-right:0.5em}.o_assessmentitem_controls .o_sel_end_testpart span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";padding-right:0.5em}.o_assessmentitem_controls .o_sel_back_test_feedback span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï“";padding-right:0.5em}.o_assessmentitem_controls .o_sel_show_solution span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï„©";padding-right:0.5em}.o_assessmentitem_controls .o_sel_solution_hide span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï„©";padding-right:0.5em}.o_assessmentitem_control_view_solution{background:#f8f8f8;border:1px solid #e7e7e7;margin:0;padding:5px 10px}.o_assessmentitem_scoring{background:#f8f8f8;border:1px solid #e7e7e7;border-bottom:0;border-radius:4px 4px 0 0;margin-top:0;margin-bottom:0;padding:5px 10px}.o_assessmentitem_scoring_buttons{background:#f8f8f8;border:1px solid #e7e7e7;border-top:0;border-radius:0 0 4px 4px;margin-top:0;margin-bottom:16px;padding:5px 10px}.o_assessmentitem_scoring_override_window{width:300px}.itemPrompt{margin:1.5em 0;font-style:italic;color:#666666}.o_qti_item_body{margin:1em 0}.o_sel_assessment_item_hint{margin-top:1em}.o_assessment_test_results .o_sel_assessment_item_hint{display:none}tr.choiceinteraction td.control{padding:0.5em}tr.choiceinteraction td.choiceInteraction{padding:0.5em}.choiceInteraction label{font-weight:normal}.choiceInteraction div.o_qti_item_choice_option_flow{display:inline-block;padding:.5em;border:1px solid transparent}.choiceInteraction div.o_qti_item_choice_option_flow label span{font-weight:normal}.choiceInteraction div.o_qti_item_choice_option_flow label span>p{display:inline-block}.choiceInteraction.choiceright table tr td.choiceInteraction{background-color:#e7e7e7;border-bottom:3px solid white}.matchInteraction.choiceright table tr td.o_qti_item_kprim_text{background-color:#e7e7e7;border-bottom:3px solid white}.matchInteraction input[type='text']{display:inline;width:auto}.matchInteraction div.bar_green{background-color:#5cb85c}.matchInteraction div.bar_red{background-color:#d9534f}.source-left,.target-left,.source-right,.target-right{width:50%;float:left;position:relative;padding:0;margin-top:5px}.o_match_dnd_sources{padding:10px 10px 0 10px;min-height:60px;border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8}.o_match_dnd_sources.oo-accepted{border-color:#1f7e9a}.o_match_dnd_source{padding:10px;margin-bottom:10px;border:2px dashed #999;border-radius:4px;background-color:#ffffff;background:#fcf8e3;cursor:move;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.o_match_dnd_source:before,.o_match_dnd_source:after{content:" ";display:table}.o_match_dnd_source:after{clear:both}.o_match_dnd_source.oo-selected{border:2px dashed #f0ad4e;background:#fae3c4}.o_match_dnd_source.oo-drag{border:2px dashed #f0ad4e !important}.source-bottom .o_match_dnd_source,.source-top .o_match_dnd_source{margin:0 0 10px 0}.o_match_dnd_targets .oo-accepted{border:2px solid #1f7e9a;border-radius:4px}.o_match_dnd_target{padding:10px 10px 0 10px;margin:0 0 10px 10px;border:2px solid #5bc0de;border-radius:4px;background:#d9edf7}.o_match_dnd_target:before,.o_match_dnd_target:after{content:" ";display:table}.o_match_dnd_target:after{clear:both}.o_match_dnd_target .o_match_dnd_target_drop_zone{margin:0;padding:5px 0 0 15px;min-height:30px}.o_match_dnd_target .o_match_dnd_target_drop_zone .o_match_dnd_source{border:2px dashed #777}.target-bottom .o_match_dnd_target,.target-top .o_match_dnd_target{margin:0 0 10px 0}.target-bottom .o_match_dnd_target .o_match_dnd_target_drop_zone,.target-top .o_match_dnd_target .o_match_dnd_target_drop_zone{padding-left:0px}.target-bottom .o_match_dnd_target .o_match_dnd_target_drop_zone .o_match_dnd_source,.target-top .o_match_dnd_target .o_match_dnd_target_drop_zone .o_match_dnd_source{padding-left:15px}.table.o_match_true_false_edit th.o_sel_match_target_0,.table.o_match_true_false_edit th.o_sel_match_target_1,.table.o_match_true_false_edit th.o_sel_match_target_2{width:12%}.match_true_false input[type="checkbox"]{-webkit-appearance:radio;-moz-appearance:radio;-ms-appearance:radio;appearance:radio}.match_true_false .table>tbody>tr>td.o_match_true_false_unanswered,.match_true_false .table>tbody>tr>td.o_match_true_false_right,.match_true_false .table>tbody>tr>td.o_match_true_false_wrong{vertical-align:middle;width:11%}.match_true_false th.o_match_true_false_unanswered,.match_true_false th.o_match_true_false_right,.match_true_false th.o_match_true_false_wrong{width:11%}.match_true_false td.o_match_true_false_answer,.match_true_false th.o_match_true_false_answer{width:67%}.match_true_false td.o_match_true_false_unanswered{background-color:#fbfbfb}.match_true_false td.o_match_true_false_right{background-color:#eaf6ea}.match_true_false td.o_match_true_false_wrong{background-color:#fdf7f7}.o_assessmentitem .mathEntryInteraction{border:1px solid #ddedfc;background-color:#edf1f6;background:linear-gradient(to top, #edf1f6 0%, #f6f9fb 100%);border-radius:0.4em;padding:1em;margin:0.5em 0}.o_assessmentitem .mathEntryInteraction .inputPanel{line-height:1em;text-align:left}.o_assessmentitem .mathEntryInteraction .inputPanel input{margin:0;padding:0}.o_assessmentitem .mathEntryInteraction .previewPanel{text-align:center}.o_assessmentitem .mathEntryInteraction.horizontal{min-height:5em;width:40em}.o_assessmentitem .mathEntryInteraction.horizontal .inputPanel{width:45%;float:left;margin:2em 0}.o_assessmentitem .mathEntryInteraction.horizontal .previewPanel{width:50%;margin-left:40%}.o_assessmentitem .mathEntryInteraction.vertical{min-height:6em}.o_assessmentitem .mathEntryInteraction.vertical .inputPanel{padding:0 5em}.o_assessmentitem .mathEntryInteraction.vertical .inputPanel:before{content:'Input Maths: '}.o_assessmentitem .mathEntryInteraction.vertical .previewPanel{margin-top:2em;min-height:4em}.o_assessmentitem div.upConversionAjaxControlMessage{width:auto;text-align:center;display:inline;padding:0.5em 0 0.5em 20px}.o_assessmentitem div.success{background:#5cb85c}.o_assessmentitem div.failure{background-color:#f0ad4e}.o_assessmentitem div.error{background-color:#d9534f}.o_assessmentitem div.upConversionAjaxControlPreview{margin:0.5em 0;font-size:110%}.o_assessmentitem table.inputHelp{border-collapse:collapse;width:100%;font-size:90%}.o_assessmentitem table.inputHelp th{border:1px solid #999999;padding:0.2em 0.5em;background-color:#cad8e5}.o_assessmentitem table.inputHelp td{color:#999999;border:1px solid #999999;padding:0.2em 0.5em}.o_assessmentitem table.inputHelp kbd{color:black;font-size:100%;line-height:100%}.o_assessmentitem table.inputHelp .longComma{margin-right:0.5em}.o_togglebox_wrapper #modal-correct-solution div.o_togglebox_content{background-color:#fcf8e3;border-color:#8a6d3b}.o_candidatecomment{padding:0;margin:2em 0 1em 0;border:none}.o_candidatecomment legend{font-size:110%;font-weight:bold;color:#777;margin-bottom:0;border-bottom:0}.o_candidatecomment div.o_item_container_help{margin:0;padding:0}.o_candidatecomment textarea{display:block;color:#777}.o_qti_menu_menustyle ul.o_testpartnavigation{list-style:none;padding:0;margin:0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:0 1em 0.5em 1em;margin:0 0 0.5em 0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection header{margin:0 0 1em 0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection header div.rubric{font-style:italic}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection ul.o_testpartnavigation_inner{list-style:none;padding:0;margin:0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem{padding:0.1em 0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem a{color:#777}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem a:hover,.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem a:focus{color:#333}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem.active a{color:#337ab7;font-weight:bold}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem.active a:hover,.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem.active a:focus{color:#23527c;background-color:#eee}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem span{vertical-align:middle}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_status{display:inline;position:relative;left:-0.3em;background:transparent;border:0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_status span{display:none}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_attempts{float:right;display:block;padding:0.3em;border-radius:2px;background-color:#fafafa;color:#777;font-size:0.7em}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_attempts.o_assessmentitem_attempts_limited{color:#f0ad4e}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_attempts.o_assessmentitem_attempts_nomore{color:#5bc0de}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_marks{float:right;display:inline-block;font-size:0.8em;position:relative;top:0.3em;right:-0.5em}.o_qti_menu_menustyle ul.o_testpartnavigation .o_assessmentitem .questionTitle{margin-right:1em}.testFeedback h1:first-of-type{margin-top:0}ul.testPartDrilldown{list-style:none;padding:0;margin:0}ul.testPartDrilldown li.o_assessmentsection{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:0 1em 0.5em 1em}ul.testPartDrilldown li.o_assessmentsection header{margin:0 0 1em 0}ul.testPartDrilldown li.o_assessmentsection header div.rubric{font-style:italic}ul.testPartDrilldown li.o_assessmentsection ul.testPartDrilldownInner{list-style:none;padding:0;margin:0}ul.testPartDrilldown li.currentItem{border:1px solid #e7e7e7;border-radius:0.5em;padding:0 1em;margin-top:1em}.testItemControl{margin-top:0.5em}.o_qti_statistics_answer{background:#F5F5F5;padding:1px 2px;width:90%}.o_qti_statistics_answer p{display:inline-block}.o_assessment_test_results .o_qti_assessment_title{border-bottom:1px solid #ddd}.o_assessment_test_results table th{width:40%}.o_assessment_test_results .o_qti_sectionsummary .o_qti_section{text-align:center}.o_assessment_test_results .o_qti_sectionsummary .o_qti_section .o_qti_section_sublisting{padding:0 10%;min-height:3em}.o_assessment_test_results .o_qti_sections .o_qti_section{margin-top:40px}.o_assessment_test_results .o_qti_sections .o_qti_section h3{margin-bottom:20px}.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_id{display:none}.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment{margin:0;padding:5px 10px 10px 5px;border-top:1px solid #ddd;broder-bottom:1px solid #ddd}.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h4,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h2{font-size:100%;font-weight:bold;color:inherit}.o_assessment_test_results .o_qti_to_overview{text-align:right}.o_sel_assessment_item_feedbacks{min-height:250px}.o_alternative_question_types h4 select,.o_alternative_question_types .o_cal .fc-header-title h2 select,.o_cal .fc-header-title .o_alternative_question_types h2 select{display:inline-block;width:auto}#o_dev_tool #o_dev_tool_mode{width:1em;height:1em;float:left;border:1px solid #000;margin-right:5px}a.o_dev{position:absolute;left:0;top:0;z-index:4000;background:#f0ad4e;border:1px solid #d59645;border-top:none;border-left:none;border-radius:0 0 4px 0;color:#fff}a.o_dev:hover{color:#d9534f}.o_dev_w{margin:1px}.o_dev_w .o_dev_h{color:#000;font-size:8px;line-height:10px;margin:0}.o_dev_w .o_dev_h span{background:#f4c37d;border:1px solid #f0ad4e;border-bottom:0}.o_dev_w .o_dev_c{position:relative;border:1px dotted #eee}.o_dev_w .o_dev_c .o_dev_i{position:absolute;top:0px;left:24px;height:auto;width:auto;padding:5px;border:1px solid black;display:none;margin:0px;z-index:999;font-size:11px;background-color:#BBF}.o_dev_w.o_dev_m>.o_dev_c{border:1px solid #f0ad4e;margin:0px;background-color:#f8e9d4}.o_wikimod_nav .o_noti{margin:0}.o_wikimod_editform_wrapper{margin-top:30px}.o_wiki-file-deleted{text-decoration:line-through}div.o_wiki_wrapper a.wikiimg{text-decoration:none;color:inherit;font-weight:inherit}div.o_wiki_wrapper div.imgcaption{padding:0.3em 0em 0.2em 0.3em}div.o_wiki_wrapper div.imgleft{clear:left;float:left;margin:0.3em 0.3em 0.3em 0em}div.o_wiki_wrapper div.imgright{clear:right;float:right;margin:0.3em 0em 0.3em 0.3em}div.o_wiki_wrapper div.imgcenter{clear:both;overflow:hidden;text-align:center;margin:0.3em 0em 0.3em 0em}div.o_wiki_wrapper div.imgthumb{border:1px solid #bbbbbb;padding:0.3em}div.o_wiki_wrapper table.gallery{border:1px solid #ccc;margin:2px;padding:2px;background-color:white}div.o_wiki_wrapper table.gallery tr{vertical-align:middle}div.o_wiki_wrapper table.gallery td{background-color:#f9f9f9;border:solid 2px white;text-align:center;vertical-align:middle;width:150px}div.o_wiki_wrapper img.gallery{border:1px solid #bbbbbb;padding:0.3em}div.o_wiki_wrapper a.edit{font-style:italic;color:red}div.o_wiki_wrapper a.externallink:before{padding-right:2px}div.o_wiki_wrapper a.externallink:before:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:"ï‚Ž"}.o_ep_icon_map:before{content:""}.o_ep_icon_collection:before{content:""}.o_ep_icon_page:before{content:""}.o_ep_icon_struct:before{content:""}.o_ep_icon_liveblog:before{content:"ï‚¡"}.o_artefact_closed:before{content:""}.o_portfolio_toc .o_ep_link{float:right;margin-right:0px}.o_portfolio_toc .o_ep_commentlink{float:right;margin-right:10%}.o_portfolio_toc li.level1{font-size:1.2em;margin:1.2em 0 0.2em 0;border-bottom:1px solid #ddd}.o_portfolio_toc li.level2{padding-left:20px;font-size:1.1em;border-bottom:1px dotted #ddd}.o_portfolio_toc li.level3{padding-left:40px}.o_eportfolio_page .o_eportfolio_structure>h5{border-bottom:1px solid #ddd;margin-top:1.2em}.o_eportfolio_maps .panel{font-family:'Century Gothic', 'Apple Gothic', sans-serif;box-shadow:3px 3px 4px rgba(20,20,20,0.4)}.o_eportfolio_maps .panel-heading{padding:5px 10px}.o_eportfolio_maps h4,.o_eportfolio_maps .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps h2{padding:11px 15px;background:rgba(255,255,230,0.7) none;border-radius:6px}.o_eportfolio_maps .table>tbody>tr>td{border-top:none}.o_eportfolio_maps .panel-body{border-top:none}.o_eportfolio_maps .panel>.panel-body+.table{border-top:none}.panel-footer .o_ep_options{display:inline-block}.o_eportfolio_map{padding:0 20px 2px 3px;border-radius:6px 10px 6px 0;font-family:'Century Gothic', 'Apple Gothic', sans-serif}.o_map_header{padding-left:5px}.o_eportfolio_map ul.nav-tabs li:not(.active) a{background-color:rgba(240,240,240,0.7);border-radius:4px 4px 0 0}.o_eportfolio_edit{border-radius:4px 4px 0 0}.o_ep_actualpage,.o_eportfolio_edit{padding:15px;background-color:#fff}.o_ep_content{margin-top:15px}.o_ep_filter .o_date.form-inline .form-group,.o_ep_filter .o_date.o_navbar-form .form-group{margin-left:8px}.o_eportfolio_share_policy_wrapper{border:1px solid #ddd;border-radius:4px}.o_eportfolio_share_header{padding:10px 15px;border-bottom:1px solid #ddd;background-color:#f5f5f5}.o_eportfolio_share_policy{padding:10px 15px}.o_map-default{background:#fafafa;background:#fafafa -webkit-gradient(linear, 37% 20%, 53% 100%, from(#fafafa), to(#efefef));background:#fafafa -moz-linear-gradient(43% 71% 101deg, #efefef, #fafafa);background:#fafafa -o-linear-gradient(#fafafa, #efefef);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#fafafa', EndColorStr='#efefef');border:1px solid #efefef;border-left:3px solid rgba(188,188,188,0.8)}.o_eportfolio_maps .o_map-default h4,.o_eportfolio_maps .o_map-default .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-default h2{color:#444;background:none}.o_eportfolio_maps .o_map-default .panel-body,.o_eportfolio_maps .o_map-default td,.o_eportfolio_maps .o_map-default a{color:#000}.o_map-comic{background:#a2c3e8 none;font-family:'Comic Sans MS', 'Comic Sans', fantasy;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_map-leather{background-color:#957352;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(248,248,248,0.7)), color-stop(100%, rgba(193,193,193,0.5))),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-webkit-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-moz-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-ms-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-o-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");font-family:Palatino, Georgia, serif;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-leather h4,.o_eportfolio_maps .o_map-leather .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-leather h2{background:rgba(243,230,225,0.3) none}.o_eportfolio_maps .o_map-leather .panel-body,.o_eportfolio_maps .o_map-leather td{color:#333}.o_eportfolio_maps .o_map-leather a{color:#fad9a4}.o_eportfolio_map.o_map-leather .o_map_header h4,.o_eportfolio_map.o_map-leather .o_map_header .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_map.o_map-leather .o_map_header h2,.o_eportfolio_map.o_map-leather .o_map_header p,.o_eportfolio_map.o_map-leather .o_map_header a,.o_eportfolio_map.o_map-leather .o_map_header span,.o_eportfolio_map.o_map-leather .o_map_header label{color:#333}.o_map-epmst-green{background-color:#ECF69A;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-green h4,.o_eportfolio_maps .o_map-epmst-green .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green h2{color:#444}.o_eportfolio_maps .o_map-epmst-green .panel-body,.o_eportfolio_maps .o_map-epmst-green td,.o_eportfolio_maps .o_map-epmst-green a{color:#000}.o_map-epmst-green2{background:#99E44D;background:#99E44D -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99E44D), to(#CBF1A5));background:#99E44D -moz-linear-gradient(43% 71% 101deg, #CBF1A5, #99E44D);background:#99E44D -o-linear-gradient(#99E44D, #CBF1A5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99E44D', EndColorStr='#CBF1A5');border:1px solid #bbb;border-left:3px solid rgba(136,136,136,0.8)}.o_eportfolio_maps .o_map-epmst-green2 h4,.o_eportfolio_maps .o_map-epmst-green2 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green2 h2{color:#555}.o_eportfolio_maps .o_map-epmst-green2 .panel-body,.o_eportfolio_maps .o_map-epmst-green2 td,.o_eportfolio_maps .o_map-epmst-green2 a{color:#000}.o_map-epmst-green3{background:#DFF0C1;background:#DFF0C1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#DFF0C1), to(#A0D346));background:#DFF0C1 -moz-linear-gradient(43% 71% 101deg, #A0D346, #DFF0C1);background:#DFF0C1 -o-linear-gradient(#DFF0C1, #A0D346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#DFF0C1', EndColorStr='#A0D346');border:1px solid #bbb;border-left:3px solid rgba(136,136,136,0.8)}.o_eportfolio_maps .o_map-epmst-green3 h4,.o_eportfolio_maps .o_map-epmst-green3 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green3 h2{color:#555}.o_eportfolio_maps .o_map-epmst-green3 .panel-body,.o_eportfolio_maps .o_map-epmst-green3 td,.o_eportfolio_maps .o_map-epmst-green3 a{color:#000}.o_map-epmst-green4{background-color:#D7DBB5;border:1px solid #bbb;border-left:3px solid rgba(136,136,136,0.8)}.o_eportfolio_maps .o_map-epmst-green4 h4,.o_eportfolio_maps .o_map-epmst-green4 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green4 h2{color:#555}.o_eportfolio_maps .o_map-epmst-green4 .panel-body,.o_eportfolio_maps .o_map-epmst-green4 td,.o_eportfolio_maps .o_map-epmst-green4 a{color:#000}.o_map-epmst-red{background:#FFBA71;background:#FFBA71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#FFBA71), to(#FFBA99));background:#FFBA71 -moz-linear-gradient(43% 71% 101deg, #FFBA99, #FFBA71);background:#FFBA71 -o-linear-gradient(#FFBA71, #FFBA99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFBA71', EndColorStr='#FFBA99');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red h4,.o_eportfolio_maps .o_map-epmst-red .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red h2{color:#444}.o_eportfolio_maps .o_map-epmst-red .panel-body,.o_eportfolio_maps .o_map-epmst-red td,.o_eportfolio_maps .o_map-epmst-red a{color:#000}.o_map-epmst-red2{background:#FF9772;background:#FF9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#FF9772), to(#FF9780));background:#FF9772 -moz-linear-gradient(43% 71% 101deg, #FF9780, #FF9772);background:#FF9772 -o-linear-gradient(#FF9772, #FF9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#FF9772', EndColorStr='#FF9780');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red2 h4,.o_eportfolio_maps .o_map-epmst-red2 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red2 h2{color:#444}.o_eportfolio_maps .o_map-epmst-red2 .panel-body,.o_eportfolio_maps .o_map-epmst-red2 td,.o_eportfolio_maps .o_map-epmst-red2 a{color:#000}.o_map-epmst-red3{background:#E8AFBB;background:#E8AFBB -webkit-gradient(linear, 37% 20%, 53% 100%, from(#E8AFBB), to(#E8AFA0));background:#E8AFBB -moz-linear-gradient(43% 71% 101deg, #E8AFA0, #E8AFBB);background:#E8AFBB -o-linear-gradient(#E8AFBB, #E8AFA0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#E8AFBB', EndColorStr='#E8AFA0');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red3 h4,.o_eportfolio_maps .o_map-epmst-red3 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red3 h2{color:#444}.o_eportfolio_maps .o_map-epmst-red3 .panel-body,.o_eportfolio_maps .o_map-epmst-red3 td,.o_eportfolio_maps .o_map-epmst-red3 a{color:#000}.o_map-epmst-red4{background:#FFA800;background:#FFA800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#FFA800), to(#FFAF00));background:#FFA800 -moz-linear-gradient(43% 71% 101deg, #FFAF00, #FFA800);background:#FFA800 -o-linear-gradient(#FFA800, #FFAF00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFA800', EndColorStr='#FFAF00');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red4 h4,.o_eportfolio_maps .o_map-epmst-red4 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red4 h2{color:#444}.o_eportfolio_maps .o_map-epmst-red4 .panel-body,.o_eportfolio_maps .o_map-epmst-red4 td,.o_eportfolio_maps .o_map-epmst-red4 a{color:#000}.o_map-epmst-blue{background:#00D2F8;background:#00D2F8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00D2F8), to(#4A9EAD));background:#00D2F8 -moz-linear-gradient(43% 71% 101deg, #4A9EAD, #00D2F8);background:#00D2F8 -o-linear-gradient(#00D2F8, #4A9EAD);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00D2F8', EndColorStr='#4A9EAD');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue h4,.o_eportfolio_maps .o_map-epmst-blue .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue .panel-body,.o_eportfolio_maps .o_map-epmst-blue td,.o_eportfolio_maps .o_map-epmst-blue a{color:#000}.o_map-epmst-blue2{background-color:#C4F6FF;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue2 h4,.o_eportfolio_maps .o_map-epmst-blue2 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue2 h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue2 .panel-body,.o_eportfolio_maps .o_map-epmst-blue2 td,.o_eportfolio_maps .o_map-epmst-blue2 a{color:#000}.o_map-epmst-blue3{background-color:#B3E2F7;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue3{box-shadow:3px 3px 4px rgba(20,20,20,0.4)}.o_eportfolio_maps .o_map-epmst-blue3 h4,.o_eportfolio_maps .o_map-epmst-blue3 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue3 h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue3 .panel-body,.o_eportfolio_maps .o_map-epmst-blue3 td,.o_eportfolio_maps .o_map-epmst-blue3 a{color:#000}.o_map-epmst-blue4{background:#DEE7F7;background:#DEE7F7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#DEE7F7), to(#C1E9FD));background:#DEE7F7 -moz-linear-gradient(43% 71% 101deg, #C1E9FD, #DEE7F7);background:#DEE7F7 -o-linear-gradient(#DEE7F7, #C1E9FD);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#DEE7F7', EndColorStr='#C1E9FD');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue4 h4,.o_eportfolio_maps .o_map-epmst-blue4 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue4 h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue4 .panel-body,.o_eportfolio_maps .o_map-epmst-blue4 td,.o_eportfolio_maps .o_map-epmst-blue4 a{color:#000}.o_portfolio div#o_main_toolbar.o_toolbar{margin-top:0px}.o_section_lead,.o_page_lead,.o_assignment_lead{padding:10px 10px;margin-bottom:10px;background-color:#f2f2f2;border-radius:3px;border:1px #d9d9d9 solid}.o_section_ended .o_section_lead{border-color:#eba5a3;background-color:#f4cecd}.o_media.o_media_right,.o_media.o_media_right_large{float:right;margin-left:2em;margin-bottom:2em}.o_media.o_media_left,.o_media.o_media_left_large{float:left;margin-right:2em;margin-bottom:2em}.o_media.o_media_left,.o_media.o_media_right{max-height:200px;max-width:50%}.o_media.o_media_left img,.o_media.o_media_right img{max-height:200px}.o_media.o_media_right_large,.o_media.o_media_left_large{max-height:300px;max-width:75%}.o_media.o_media_right_large img,.o_media.o_media_left_large img{max-height:300px}.o_media img{border-radius:3px;border:1px #d9d9d9 solid;background:#fff;height:auto;width:auto}@media (max-width: 767px){.o_page_lead .o_media.o_media_right,.o_page_lead .o_media.o_media_right_large{margin-left:1em;margin-bottom:1em}.o_page_lead .o_media.o_media_left,.o_page_lead .o_media.o_media_left_large{margin-right:1em;margin-bottom:1em}.o_page_lead .o_media.o_media_left,.o_page_lead .o_media.o_media_right{max-height:120px;max-width:30%}.o_page_lead .o_media.o_media_left img,.o_page_lead .o_media.o_media_right img{max-height:120px}.o_page_lead .o_media.o_media_right_large,.o_page_lead .o_media.o_media_left_large{max-height:180px;max-width:50%}.o_page_lead .o_media.o_media_right_large img,.o_page_lead .o_media.o_media_left_large img{max-height:180px}}.o_portfolio_page .o_block_imagebg{border:1px #d9d9d9 solid}.o_page_lead{padding:20px}.o_page_lead h2{margin-bottom:5px}.o_page_lead .o_portfolio_page_meta{margin-bottom:5px}.o_page_lead .o_page_summary{font-size:18px}.o_page_lead .o_media.o_desc_empty{max-height:300px;text-align:center}.o_page_lead .o_media.o_desc_empty img{max-height:300px}.o_page_lead .o_portfolio_status_block{border-top:1px solid #d9d9d9;padding-top:1em;margin-bottom:-1em}.o_page_lead .o_portfolio_status{display:inline-block;padding-right:2em}.o_page_lead.o_block_imagebg .o_portfolio_status{padding:2px;background-color:rgba(255,255,255,0.8)}.o_portfolio_status_block p.o_section_ended{font-size:120%}.o_page_assignment{font-size:12px}.o_page_assignment.o_togglebox_wrapper div.o_togglebox_content{margin:10px 0 20px 0;padding:20px;border-left:3px solid #d9534f;background-color:#f2dede}.o_page_assignment .o_page_assignement_info{position:relative;left:-1em}.o_page_export .o_page_assignment .o_opener,.o_binder_export .o_page_assignment .o_opener{visibility:hidden}.o_page_export .o_page_assignment .o_closer,.o_binder_export .o_page_assignment .o_closer{display:none}.o_portfolio_listing.o_rendertype_custom .o_table_body.container-fluid{padding-right:0px;padding-left:0px}.o_portfolio_listing.o_rendertype_custom .o_portfolio_entry{position:relative;display:inline-block;height:230px;width:400px;vertical-align:top;margin-right:10px}.o_portfolio_listing.o_rendertype_custom .o_portfolio_entry ul{padding-left:2em}.o_portfolio_listing.o_rendertype_custom .panel-imagebg .panel-body ul{margin:0;padding:0;list-style-type:none}.o_portfolio_listing.o_rendertype_custom .panel-imagebg .panel-body ul li{padding:2px}.o_binder.o_portfolio_assignments .panel-heading,.o_binder.o_portfolio_assignments .panel-body{border-left:3px solid #d9534f}.panel-default.o_portfolio_assignments .panel-heading,.panel-default.o_portfolio_assignments .panel-body{border-left:3px solid #d9534f}.o_portfolio_page .o_portfolio_assignments .o_portfolio_page_body{border-left:3px solid #d9534f}.o_portfolio_page .o_portfolio_assignments .o_portfolio_page_body .o_portfolio_page_meta_wrapper,.o_portfolio_page .o_portfolio_assignments .o_portfolio_page_body .o_portfolio_page_summary{padding-left:10px}.o_portfolio_page_summary .o_media.o_media_right,.o_portfolio_page_summary .o_media.o_media_right_large{margin-left:1em;margin-bottom:1em}.o_portfolio_page_summary .o_media.o_media_left,.o_portfolio_page_summary .o_media.o_media_left_large{margin-right:1em;margin-bottom:1em}.o_portfolio_page_summary .o_media.o_media_left,.o_portfolio_page_summary .o_media.o_media_right{max-height:150px}.o_portfolio_page_summary .o_media.o_media_left img,.o_portfolio_page_summary .o_media.o_media_right img{max-height:150px}.o_portfolio_page_summary .o_media.o_media_right_large,.o_portfolio_page_summary .o_media.o_media_left_large{max-height:230px}.o_portfolio_page_summary .o_media.o_media_right_large img,.o_portfolio_page_summary .o_media.o_media_left_large img{max-height:230px}.o_portfolio_categories .tag{font-size:80%;font-weight:normal}.o_portfolio_categories div,.o_portfolio_categories form{display:inline-block}.o_portfolio_categories_edit .bootstrap-tagsinput{margin-bottom:0;padding:0px 4px}.o_portfolio_last_modified+.o_portfolio_categories,.o_portfolio_page_meta+.o_portfolio_categories{margin-left:1em}.o_rendertype_classic .o_pf_page,.o_rendertype_classic .o_pf_assignment{padding-left:1em}.o_portfolio_timeline .o_timeline_up{text-align:center}.o_portfolio_timeline .o_timeline_down{text-align:center}.o_portfolio_timeline .axis path,.o_portfolio_timeline .axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.o_portfolio_timeline .x.axis line,.o_portfolio_timeline .x.axis path{display:none}.o_portfolio_timeline path.o_timeline_curve{fill:none;stroke:#ccc;shape-rendering:crispEdges}.o_portfolio_timeline .y.axis .tick line,.o_portfolio_timeline .y.axis path.domain{stroke:#ddd}.o_portfolio_timeline text{fill:#888;stroke:none;font-size:10px}.o_portfolio_timeline .dot.o_pf_status_draft{fill:#f0ad4e}.o_portfolio_timeline .dot.o_pf_status_published{fill:#337ab7}.o_portfolio_timeline .dot.o_pf_status_inrevision{fill:#d9534f}.o_portfolio_timeline .dot.o_pf_status_closed{fill:#5cb85c}.o_portfolio_timeline .dot.o_pf_status_deleted{fill:#000}.o_pf_comments{margin-top:3em}.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file{background-color:#f8f8f8;padding:10px;border-radius:10px}.o_pf_content .o_forum{border:1px #f8f8f8 solid;padding:10px;border-radius:10px}.o_pf_content .o_image,.o_pf_content .o_video{padding:10px;width:100%}.o_pf_content .o_image img,.o_pf_content .o_video img{border:1px #f8f8f8 solid;border-radius:10px}.o_pf_content .o_image .o_artefact_metadata,.o_pf_content .o_video .o_artefact_metadata{text-align:left}.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_forum,.o_pf_content .o_wiki{background-color:#f8f8f8;padding:10px;border-radius:10px}.o_pf_content .o_efficiencystatement h3,.o_pf_content .o_efficiencystatement .h3,.o_pf_content .o_feed h3,.o_pf_content .o_feed .h3,.o_pf_content .o_forum h3,.o_pf_content .o_forum .h3,.o_pf_content .o_wiki h3,.o_pf_content .o_wiki .h3{font-size:14px}.o_pf_content .o_efficiencystatement .row,.o_pf_content .o_feed .row,.o_pf_content .o_forum .row,.o_pf_content .o_wiki .row{margin:0}.o_pf_content .o_efficiencystatement .o_block_with_datecomp,.o_pf_content .o_feed .o_block_with_datecomp,.o_pf_content .o_forum .o_block_with_datecomp,.o_pf_content .o_wiki .o_block_with_datecomp{margin-top:0.5em;margin-bottom:0}.o_pf_video_placeholder{background-color:#f8f8f8;border:1px solid #f8f8f8;border-radius:10px;display:table;min-width:400px;text-align:center;padding:40px 10px}.o_pf_video_placeholder i{display:table-cell;vertical-align:middle}.o_pf_content_editor .o_toolbar{border:none}.o_pf_content_editor .o_page_part{border:2px solid transparent}.o_pf_content_editor .o_page_part:hover{border:2px dotted #78acd9}.o_pf_content_editor .o_page_fragment_edit{position:relative}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above{height:25px;width:100%;background:#78acd9;position:absolute;z-index:3;left:0;top:-25px;box-shadow:3px -8px 10px 0px rgba(0,0,0,0.2)}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_add_above{position:absolute;left:0;top:-25px;height:25px;border-left:2px dashed #78acd9;border-top:2px dashed #78acd9;border-right:2px dashed #78acd9;border-radius:10px 10px 0 0;box-shadow:0 -5px 10px 0px rgba(0,0,0,0.2);background:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_sel_add_element_above{display:inline-block;padding:5px 5px 0 5px}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above{padding-right:25px;line-height:25px;vertical-align:middle}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above .o_page_type{display:none}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above a{float:right;color:#fff;padding-right:1em}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above a:hover{color:#e6e6e6}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd{position:absolute;z-index:4;top:0;right:0;width:25px;height:100%;background:#78acd9}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a{position:absolute;display:inline-block;width:25px;height:25px;line-height:25px;text-align:center;vertical-align:middle;color:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a:hover{color:#e6e6e6}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_disabled{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_disabled:hover{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_sel_move_up_element{z-index:4;top:-25px}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_sel_move_down_element{bottom:0}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit{padding-right:25px;border:2px solid #78acd9;box-shadow:5px 5px 10px 0px rgba(0,0,0,0.2)}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit:hover{border:2px solid #78acd9}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar{position:absolute;z-index:5;left:5px;top:-25px;display:inline-block;height:25px;line-height:25px;vertical-align:middle}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a{color:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a:hover{color:#e6e6e6}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a.o_disabled{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a.o_disabled:hover{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_title .o_page_edit_toolbar li{font-weight:bold}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_richtext_mce textarea{border:0}.o_pf_content_editor .o_page_fragment_edit .o_page_add_below{position:absolute;z-index:3;left:0;bottom:-25px;height:25px;border-left:2px dashed #78acd9;border-bottom:2px dashed #78acd9;border-right:2px dashed #78acd9;border-radius:0 0 10px 10px;box-shadow:3px 8px 10px 0px rgba(0,0,0,0.2);background:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_add_below .o_sel_add_element_below{display:inline-block;padding:0 5px 5px 5px}.o_pf_content_editor .o_pf_add_contents{margin-top:30px}.o_portfolio_add_callout a span{display:none}.o_portfolio_add_callout ul.list-inline{margin-bottom:0}.o_portfolio_image_options{clear:both;width:300px;padding:5px}.o_binder_page_listing .o_portfolio_page_links{background-color:#f8f8f8;border-radius:4px}.o_binder_page_listing .o_portfolio_page_links .o_portfolio_comment{float:right}.o_portfolio_toc{padding-bottom:6em}.o_portfolio_toc .o_portfolio_section_meta{font-size:80%;color:#777;position:relative;top:-15px}.o_portfolio_toc .o_section{position:relative}.o_portfolio_toc .o_section .o_header_with_buttons h4,.o_portfolio_toc .o_section .o_header_with_buttons .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_portfolio_toc .o_section .o_header_with_buttons h2{padding-right:0.5em}.o_portfolio_toc .o_section_actions{position:absolute;top:0;right:0}.o_portfolio_toc .o_section_actions .o_section_move_up_and_down{display:inline-block}.o_portfolio_toc .o_section_actions .o_section_dropdown{display:inline-block;position:relative;top:-0.5em;padding-left:0.5em}.o_portfolio_toc ul>li>ul{padding-left:1.5em}.o_portfolio div span.badge{padding:3px 7px}.o_portfolio div .o_portfolio_entry_draft{background-color:#f0ad4e}.o_portfolio div .o_portfolio_published{background-color:#337ab7}.o_portfolio div .o_portfolio_entry_revision{background-color:#d9534f}.o_portfolio div .o_portfolio_entry_closed{background-color:#5cb85c}.o_portfolio div .o_portfolio_entry_deleted{background-color:#000}.o_portfolio div .o_portfolio_entry_incoming{background-color:#5cb85c}.o_portfolio div .o_portfolio_entry_inprocess{background-color:#c8c8c8}.o_portfolio div .o_portfolio_entry_done{background-color:#5cb85c}.o_portfolio_content .o_portfolio_toc.o_portfolio_toc_withtimeline{width:70%;float:left}.o_portfolio_content .o_portfolio_timeline{width:29%;float:right}.o_portfolio_content .o_portfolio_toc.o_portfolio_withtimeline,.o_portfolio_content .o_portfolio_entries.o_portfolio_withtimeline{width:70%;float:left}.o_portfolio_content .o_portfolio_timeline{width:29%;float:right}.o_portfolio_page_meta_wrapper{background-position:left top;background-repeat:no-repeat}.o_portfolio_rights table .o_portfolio_section td:first-child{padding-left:1.5em}.o_portfolio_rights table .o_portfolio_page td:first-child{padding-left:2.5em}.o_portfolio_publication table{padding-bottom:10px}.o_portfolio_publication table td{padding:5px 5px 5px 0}.o_portfolio_publication .o_portfolio_ac{font-size:90%}.o_portfolio_publication .o_portfolio_ac table td:nth-of-type(2){width:200px;white-space:nowrap}.o_portfolio_publication .o_portfolio_ac table td:nth-of-type(3){width:40px;white-space:nowrap}.o_portfolio_publication ul ul{margin-left:2em;margin-bottom:5px}.o_portfolio_publication ul li{background:#fbfbfb;padding:3px;margin-bottom:2px}.o_portfolio_publication ul li li{background:#f2f2f2}.o_portfolio_publication ul li li li{background:#eee}.o_portfolio_publication ul li li .table{margin-bottom:0px}@media (max-width: 767px){.o_portfolio_content .o_portfolio_toc.o_portfolio_withtimeline,.o_portfolio_content .o_portfolio_entries.o_portfolio_withtimeline{width:100%;float:none}.o_portfolio_content .o_sel_timeline_off,.o_portfolio_content .o_sel_timeline_on,.o_portfolio_content .o_portfolio_timeline{display:none}.o_portfolio_content .o_portfolio_content .o_portfolio_toc.o_portfolio_withtimeline{width:100%;float:none}}.o_portfolio_media_browser .o_portfolio_medias{position:relative;margin-bottom:20px;margin-top:20px}.o_portfolio_media_browser .o_portfolio_medias:before,.o_portfolio_media_browser .o_portfolio_medias:after{content:" ";display:table}.o_portfolio_media_browser .o_portfolio_medias:after{clear:both}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media{position:relative;float:left;margin:0 20px 20px 0;width:180px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media:last-child{margin-right:0}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual{border:1px solid #337ab7;position:relative;height:180px;width:180px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual span.o_visual_not_available{width:100%;height:100%;display:block}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon span.o_visual_not_available{background-image:none}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon{font-size:6em;text-align:center;color:#eee;line-height:140px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta{position:absolute;left:0;bottom:0;width:100%;border:1px solid #337ab7;border-top:0;background-color:rgba(255,255,255,0.8)}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title{margin:0;text-align:center;line-height:2em;height:2em;width:100%;overflow:hidden}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a{display:block;color:#337ab7;font-family:inherit;font-weight:inherit}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a:hover{color:#286090}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a>i{display:none}@media (min-width: 768px) and (max-width: 991px){.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media{width:80px;margin:0 10px 10px 0}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual{height:80px;width:80px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon{font-size:2.5em;line-height:55px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_title{font-size:90%}}@media (max-width: 767px){.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media{width:80px;margin:0 1px 1px 0}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual{height:80px;width:80px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon{font-size:2.5em;line-height:55px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_title{font-size:90%}}.o_ed_htitle h1,.o_ed_htitle .h1{font-size:30px}.o_ed_htitle h2,.o_ed_htitle .h2{font-size:24px}.o_ed_htitle h3,.o_ed_htitle .h3{font-size:18px}.o_ed_htitle h4,.o_ed_htitle .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_ed_htitle h2,.o_ed_htitle .h4{font-size:14px}.o_ed_htitle h5,.o_ed_htitle .h5{font-size:12px}.o_ed_htitle h6,.o_ed_htitle .h6{font-size:12px}@media print{.o_binder h1{font-size:43.2px;margin-top:10cm}.o_portfolio_section{margin-bottom:1cm}.o_portfolio_section h3:first-of-type{font-size:36px}.o_page_lead{border:0;border-bottom:1px solid #d9d9d9;border-radius:0;background-color:none;padding:0;margin-bottom:10px}.o_page_lead .o_portfolio_status_block{border-top:0;margin-bottom:0}.o_page_lead .o_media img{border:0}.o_page_lead .o_portfolio_categories{display:block;margin-left:0}.o_page_lead .o_portfolio_status_block{padding-top:0}.o_page_lead .o_page_summary{margin-top:1em;font-style:italic}.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file,.o_pf_content .o_forum,.o_pf_content .o_image,.o_pf_content .o_video,.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_forum,.o_pf_content .o_wiki{padding:0;border-radius:0;border:0}.o_pf_content .o_cit .o_desc p,.o_pf_content .o_text .o_desc p,.o_pf_content .o_file .o_desc p,.o_pf_content .o_forum .o_desc p,.o_pf_content .o_image .o_desc p,.o_pf_content .o_video .o_desc p,.o_pf_content .o_efficiencystatement .o_desc p,.o_pf_content .o_feed .o_desc p,.o_pf_content .o_forum .o_desc p,.o_pf_content .o_wiki .o_desc p{margin:0}.o_efficiencystatement table{font-size:90%}.o_artefact_metadata{page-break-inside:avoid;border:0;border-left:5px solid #eee;padding-left:10px;font-size:80%}.o_artefact_metadata table td,.o_artefact_metadata table th{border:0 !important;padding:2px !important}.o_artefact_metadata table th:first-of-type{width:20%}.o_pf_video_placeholder{background-color:#f8f8f8 !important;-webkit-print-color-adjust:exact;color-adjust:exact}.o_pf_video_placeholder.visible-print-block{display:table !important}}.o_evaluation_form .o_evaluation_block{margin-top:2em;margin-bottom:2em}.o_evaluation_form .o_evaluation_step_labels{margin-bottom:1em;font-weight:bold}.o_evaluation_form .o_evaluation_step_labels div,.o_evaluation_form .o_evaluation_step_labels span{display:inline-block;text-align:center}.o_evaluation_form .o_slider{margin-bottom:1em}.o_evaluation_form .o_slider .radio{padding:0;min-height:unset}.o_evaluation_form .o_slider label{padding:0}.o_evaluation_form .o_slider input{padding:0;margin:0;position:relative}.o_evaluation_form .o_slider .o_evaluation_no_response label{margin-top:-3px}.o_evaluation_form .o_slider.hover{background-color:#f5f5f5}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_steps label{padding:0;margin:0;text-align:center}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_steps div.radio{background-color:#f9f9f9;margin-top:0px;display:inline-block;text-align:center}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_steps div.radio:hover{background-color:#f5f5f5}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_no_response div.checkbox{margin-top:0px}.o_evaluation_form .o_slider .ui-slider.ui-slider-horizontal.ui-widget-content{margin-top:0.3em}.o_evaluation_form .o_evaluation_left_label{text-align:right;font-weight:normal}.o_evaluation_form .o_evaluation_left_label_la{text-align:left;padding-left:0px;font-weight:normal}.o_evaluation_form .o_evaluation_right_label{text-align:left;font-weight:normal}.o_evaluation_form .o_evaluation_legend{padding-left:0.5em;margin-bottom:0.5em}.o_evaluation_form .o_evaluation_mc_other{margin-top:-20px;margin-left:20px}.o_evaluation_form .o_eva_disc_open{margin-top:-30px;margin-left:10px}.o_evaluation_discrete_slider .o_evaluation_step_labels{position:relative}.o_evaluation_discrete_slider .o_evaluation_step_labels div:first-child{position:absolute;left:0px;text-align:left}.o_evaluation_discrete_slider .o_evaluation_step_labels div{display:inline-block;text-align:center}.o_evaluation_discrete_slider .o_evaluation_step_labels div:last-child{position:absolute;right:0px;text-align:right}@media (max-width: 768px){.o_evaluation_form .o_evaluation_left_label{text-align:left}.o_evaluation_form .o_evaluation_right_label{text-align:right}.o_evaluation_form .o_evaluation_no_response{text-align:left}.o_evaluation_form .o_evaluation_no_response .o_evaluation_no_resp_value{font-weight:bold}.o_evaluation_form .o_evaluation_slider .o_evaluation_no_response{margin-top:0.7em}}@media (min-width: 768px){.o_evaluation_form .o_evaluation_no_resp_value{display:none}}.o_slider_overview{width:100%;height:20px;position:relative}.o_slider_overview .o_slider_overview_line{top:5px;left:0px;position:absolute;width:100%;height:11px;border:1px solid #999;border-radius:4px}.o_slider_overview .o_slider_overview_point{position:absolute;width:10px;height:10px;background-color:#337ab7}.o_evaluation_editor_form{margin:10px 10px 0 10px}.o_evaluation_editor_form .o_slider_editor{margin-top:10px;position:relative}.o_evaluation_editor_form .o_evaluation_step_labels{display:inline-block}.o_evaluation_editor_form .o_evaluation_step_labels input{width:100%}.o_evaluation_editor_form .o_slider_descrete_radio div.radio{background-color:#f9f9f9;padding-top:5px;padding-bottom:-5px;margin-top:0px;display:inline-block;text-align:center}.o_evaluation_editor_form .o_slider_descrete_radio div.radio:hover{background-color:#f5f5f5}.o_evaluation_editor_form .o_slider_continous{padding-top:10px;padding-bottom:-10px}.o_evaluation_editor_form .o_slider_descrete{padding-top:5px;padding-bottom:-5px}.o_evaluation_editor_form .o_evaluation_example{font-size:90%}.o_evaluation_editor_form .o_slider_editor_delete{padding-right:48px}.o_evaluation_editor_form .o_slider_editor_delete .o_slider_editor_delete_button{position:absolute;right:15px}.d3chart .o_eva_bar{fill:#337ab7}@media print{.o_evaluation_block{page-break-inside:avoid}.o_evaluation_discrete_radio .o_slider .o_evaluation_steps div.radio{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#f9f9f9 !important}}.o_cit{position:relative;margin:10px 0}.o_cit blockquote.o_quote{color:#555;font-size:18px;margin-top:6px;margin-bottom:0;padding:0 12px;font-style:italic;padding:5px 5px 0;border:0}.o_cit blockquote.o_quote p:last-child:after{content:'1)';top:-0.5em;font-size:75%;line-height:0;position:relative;vertical-align:baseline}.o_cit .o_cit_bibinfo{font-size:90%;margin-left:1em;position:relative}.o_cit .o_cit_bibinfo>div:first-child:before{content:'1)';position:absolute;top:0.5em;left:-1em;font-size:75%;line-height:0;vertical-align:baseline}.o_cit .title,.o_cit .url,.o_cit .authors,.o_cit .pages,.o_cit .date,.o_cit .dateAdded,.o_cit .place,.o_cit .institution,.o_cit .issue,.o_cit .publisher,.o_cit .publicationTitle,.o_cit .edition,.o_cit .series,.o_cit .volume{margin-right:0.5em}.o_cit .title{font-style:italic}.o_cit .publicationTitle{color:black}.o_cit .links{padding-left:2em}.o_cit .notes{padding-left:2em;color:grey}.o_cit .note{font-style:italic}.o_cit .note p:first-child{margin-top:0}.o_cit .note p:first-child{margin-bottom:0}.o_cit .listing.web .item{padding-left:0;text-indent:0}.o_cit .listing.web .title{display:block;font-weight:bold;font-style:normal}.o_cit .listing.web .publicationTitle{display:block;font-style:italic}.o_cit .listing.web .url{display:block}.o_cit .listing.web .links{padding-left:0}.o_cit .listing.web .notes{padding-left:0}.o_cit .general-info{border-top:1px solid #eee;padding-top:30px;margin-top:30px}.o_cit .copyright{display:none}@media print{.o_cit blockquote.o_quote{page-break-inside:avoid}}.o_video_poster{position:relative;display:inline-block;width:400px;max-width:100%;height:225px;background-size:cover;background-repeat:no-repeat;border:1px solid #eee}.o_video_poster_select{text-align:center}.o_video_poster_select .o_video_poster{margin:5px}.o_video_poster_select .o_video_poster a{position:absolute;left:0;top:0;width:100%;height:100%}.o_video_poster_select .o_video_poster a span{position:absolute;bottom:0;width:100%;display:block;line-height:3em;background:#f8f8f8;opacity:0.8}.o_video_poster_select .o_video_poster a:hover{border:1px solid #bbb}.o_video_poster_select .o_video_poster a:hover span{opacity:0.9}.o_video_peekview{text-align:center}.o_video_listing .o_table_body.container-fluid{padding-right:0px;padding-left:0px}.o_video_listing .o_video_entry{position:relative;display:inline-block;height:230px;width:250px;vertical-align:top;margin-right:10px}.o_video_listing .o_video_poster{width:250px;max-width:100%;height:140px;border:1px solid #eee}.o_video_listing .o_timecode{position:absolute;bottom:2px;right:3px;padding:3px 4px;background:#333;color:#fff;font-size:12px;line-height:12px}.o_video_listing .o_meta{padding:2px;font-size:11px}.o_video_listing .o_meta h5{font-size:14px;margin-top:0;margin-bottom:5px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o_video_listing .o_date{margin-left:10px;display:inline-block}.o_video_listing .o_date:before{content:'\002022';margin-right:10px;display:inline-block}.o_video_run .o_author{margin-top:0.5em;margin-bottom:1em;line-height:normal;font-size:90%;color:#3c763d}.o_video_run .o_ratings_and_comments{margin-top:2em;border-top:1px solid #eee;padding-top:1em}.o_video_chapter_editor .o_table_wrapper.o_table_flexi .table{margin-top:0}.mejs__controls .mejs__sourcechooser-button>button{background:transparent;display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.mejs__controls .mejs__sourcechooser-button>button:before{content:"";color:white;font-size:18px}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector{visibility:visible !important;width:170px;padding-left:10px}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li label{font-weight:normal;font-size:10px;width:140px}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li label:hover{color:#eee}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li label .type{display:none}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li input{visibility:hidden;margin:0;width:0}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li input:checked+label{color:#d9534f}.mejs__controls .mejs__captions-button .mejs__captions-selector{right:-26px}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li label{font-weight:normal;font-size:10px}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li label:hover{color:#eee}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li label .type{display:none}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li input{visibility:hidden;margin:0;width:0}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li input:checked+label{color:#d9534f}.mejs__button.mejs__speed-button{width:36px}.mejs__controls .mejs__speed-button>button{background:transparent;width:36px;margin:11px 0 0 0;font-size:11px;line-height:normal;color:#ffffff}.mejs__controls .mejs__speed-button .mejs__speed-selector{height:150px;top:auto;bottom:40px}.mejs__controls .mejs__speed-button .mejs__speed-selector ul li label{font-weight:normal;font-size:10px}.mejs__chapters .mejs__chapter .mejs__chapter-block .ch-title,.mejs__chapters .mejs__chapter .mejs__chapter-block .ch-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.o_userbulk_changedcell{font-style:italic;font-weight:bold}.o_qpool_source_status{text-align:center}.o_qitem_author{white-space:nowrap}.dropdown-toggle.o_qpool_tools_status>i{margin:0 0 3px 0}.dropdown-menu.o_qpool_tools_status{cursor:pointer}a.o_qpool_status{margin:0 2px 2px 2px;text-align:left}a.o_qpool_status_draft,.dropdown-toggle.o_qpool_status_draft{background-color:#4a6785 !important;border-color:#4a6785;color:#fff !important}a.o_qpool_status_review,.dropdown-toggle.o_qpool_status_review{background-color:#ffd351 !important;border-color:#ffd351;color:#fff !important}a.o_qpool_status_revised,.dropdown-toggle.o_qpool_status_revised{background-color:#933 !important;border-color:#933;color:#fff !important}a.o_qpool_status_finalVersion,.dropdown-toggle.o_qpool_status_finalVersion{background-color:#14892c !important;border-color:#14892c;color:#fff !important}a.o_qpool_status_endOfLife,.dropdown-toggle.o_qpool_status_endOfLife{background-color:#aaa !important;border-color:#aaa;color:#fff !important}.o_qpool_status_draft_light{border-color:#4a6785;color:#4a6785}.o_qpool_status_review_light{border-color:#ffd351;color:#333}.o_qpool_status_revised_light{border-color:#933;color:#933}.o_qpool_status_finalVersion_light{border-color:#14892c;color:#14892c}.o_qpool_status_endOfLife_light{border-color:#aaa;color:#aaa}.btn-arrow-right.o_qpool_qitem_draft{background:#f8f8f8;border-bottom-color:#4a6785;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_review{background:#f8f8f8;border-bottom-color:#ffd351;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_revised{background:#f8f8f8;border-bottom-color:#933;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_final{background:#f8f8f8;border-bottom-color:#14892c;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_end_of_life{background:#f8f8f8;border-bottom-color:#aaa;border-bottom-width:3px}.btn-arrow-right.o_qpool_status_slected{background-color:#e7e7e7;color:#555}.btn-arrow-right,.btn-arrow-left{position:relative;padding-left:18px;padding-right:18px;margin-bottom:5px}.btn-arrow-right{padding-left:36px}.btn-arrow-left{padding-right:36px}.btn-arrow-right:before,.btn-arrow-right:after,.btn-arrow-left:before,.btn-arrow-left:after{content:"";position:absolute;top:5px;width:22.627417px;height:22.627417px;background:inherit;border:inherit;border-left-color:transparent;border-bottom-color:transparent;border-radius:0px 4px 0px 0px;-webkit-border-radius:0px 4px 0px 0px;-moz-border-radius:0px 4px 0px 0px}.btn-arrow-right:before,.btn-arrow-right:after{transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);-ms-transform:rotate(45deg)}.btn-arrow-left:before,.btn-arrow-left:after{transform:rotate(225deg);-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-o-transform:rotate(225deg);-ms-transform:rotate(225deg)}.btn-arrow-right:before,.btn-arrow-left:before{left:-11px}.btn-arrow-right:after,.btn-arrow-left:after{right:-11px}.btn-arrow-right:after,.btn-arrow-left:before{z-index:1}.btn-arrow-right:before,.btn-arrow-left:after{background-color:white}body.o_dmz{background:transparent}body.o_dmz #o_bg{position:absolute;top:0;left:0;width:100%;height:100%;border-top:50px solid transparent;border-bottom:70px solid transparent;background:url("../light/images/learn-bg.jpg");background-size:cover;background-position:center center;background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 )}body.o_dmz #o_bg:after{content:" ";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right, rgba(255,255,255,0.1) 0.2%, rgba(255,255,255,0.6) 60%, rgba(255,255,255,0.8) 100%);background-size:cover;background-position:center center;background-repeat:no-repeat}body.o_dmz #o_toplink{display:none}body.o_dmz #o_main_wrapper,body.o_dmz #o_main_wrapper #o_main_container{background:transparent}.o_login{padding-bottom:20px;padding-left:10%;padding-right:10%;text-align:right}.o_login .o_login_intro{padding-left:10%}.o_login .o_login_intro h1{margin-bottom:40px;color:#337ab7}.o_login .o_login_intro .lead{color:#333}.o_login .o_login_intro .lead h1,.o_login .o_login_intro .lead h2,.o_login .o_login_intro .lead h3,.o_login .o_login_intro .lead h4,.o_login .o_login_intro .lead .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_login .o_login_intro .lead h2,.o_login .o_login_intro .lead h5{margin-bottom:20px;color:#337ab7}.o_login .o_login_messages,.o_login .o_login_box{display:inline-block;width:400px;text-align:left}.o_login .o_login_messages .o_infomessage_wrapper{background:rgba(255,255,255,0.5);border:1px solid transparent;border-radius:4px;padding:6px 12px}.o_login .o_login_messages .o_infomessage_wrapper .o_info,.o_login .o_login_messages .o_infomessage_wrapper .o_warning,.o_login .o_login_messages .o_infomessage_wrapper .o_note{margin:0}.o_login .o_login_box{padding-top:10px}.o_login .o_login_providers{margin-bottom:6px;border-radius:4px;-webkit-box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3);box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3)}.o_login .o_login_providers a span{display:block;font-size:9px;padding-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_login .o_login_providers .o_icon_provider_olat{font-size:1em}.o_login .o_login_provider{background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3);box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3)}.o_login .o_login_form{position:relative;padding:10px 12px}.o_login .o_login_form .o_login_pwd{position:absolute;bottom:2em;right:12px}.o_login .o_login_form .o_form .o_desc{margin:0 0 30px 0;padding:0;border-left:0;background-color:transparent}.o_login .o_login_register{display:block;line-height:2em;font-size:18px;text-align:center;color:#fff;background-color:#5bc0de;border-color:#46b8da;border-radius:4px;margin-top:16px;padding:10px 12px}.o_login .o_login_register:hover,.o_login .o_login_register:focus,.o_login .o_login_register.focus,.o_login .o_login_register:active,.o_login .o_login_register.active,.open>.o_login .o_login_register.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.o_login .o_login_register:active,.o_login .o_login_register.active,.open>.o_login .o_login_register.dropdown-toggle{background-image:none}.o_login .o_login_register.disabled,.o_login .o_login_register.disabled:hover,.o_login .o_login_register.disabled:focus,.o_login .o_login_register.disabled.focus,.o_login .o_login_register.disabled:active,.o_login .o_login_register.disabled.active,.o_login .o_login_register[disabled],.o_login .o_login_register[disabled]:hover,.o_login .o_login_register[disabled]:focus,.o_login .o_login_register[disabled].focus,.o_login .o_login_register[disabled]:active,.o_login .o_login_register[disabled].active,fieldset[disabled] .o_login .o_login_register,fieldset[disabled] .o_login .o_login_register:hover,fieldset[disabled] .o_login .o_login_register:focus,fieldset[disabled] .o_login .o_login_register.focus,fieldset[disabled] .o_login .o_login_register:active,fieldset[disabled] .o_login .o_login_register.active{background-color:#5bc0de;border-color:#46b8da}.o_login .o_login_register .badge{color:#5bc0de;background-color:#fff}.o_login .o_login_register small{font-size:14px}.o_login .o_login_social{position:relative;padding:10px 12px}.o_login .o_login_social li{padding:10px 12px}.o_login .o_login_social li>a{display:block;line-height:2em;text-align:center;font-size:18px;border-radius:4px;padding:10px 12px}.o_login .o_login_social .btn-default.o_sel_auth_facebook{color:#fff;background-color:#4568b2;border-color:#3e5da0}.o_login .o_login_social .btn-default.o_sel_auth_facebook:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook:focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook.focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_facebook.dropdown-toggle{color:#fff;background-color:#37538d;border-color:#2d4374}.o_login .o_login_social .btn-default.o_sel_auth_facebook:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_facebook.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled],.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook.active{background-color:#4568b2;border-color:#3e5da0}.o_login .o_login_social .btn-default.o_sel_auth_facebook .badge{color:#4568b2;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_twitter{color:#fff;background-color:#2cc5ff;border-color:#13beff}.o_login .o_login_social .btn-default.o_sel_auth_twitter:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter:focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter.focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_twitter.dropdown-toggle{color:#fff;background-color:#00b4f8;border-color:#009ad4}.o_login .o_login_social .btn-default.o_sel_auth_twitter:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_twitter.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled],.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter.active{background-color:#2cc5ff;border-color:#13beff}.o_login .o_login_social .btn-default.o_sel_auth_twitter .badge{color:#2cc5ff;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_google{color:#fff;background-color:#e15f4f;border-color:#dd4b39}.o_login .o_login_social .btn-default.o_sel_auth_google:hover,.o_login .o_login_social .btn-default.o_sel_auth_google:focus,.o_login .o_login_social .btn-default.o_sel_auth_google.focus,.o_login .o_login_social .btn-default.o_sel_auth_google:active,.o_login .o_login_social .btn-default.o_sel_auth_google.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_google.dropdown-toggle{color:#fff;background-color:#d83825;border-color:#ba3120}.o_login .o_login_social .btn-default.o_sel_auth_google:active,.o_login .o_login_social .btn-default.o_sel_auth_google.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_google.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_google.disabled,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled],.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google.active{background-color:#e15f4f;border-color:#dd4b39}.o_login .o_login_social .btn-default.o_sel_auth_google .badge{color:#e15f4f;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_linkedin{color:#fff;background-color:#0181bd;border-color:#0170a4}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin:focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_linkedin.dropdown-toggle{color:#fff;background-color:#015e8a;border-color:#014667}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_linkedin.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled],.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin.active{background-color:#0181bd;border-color:#0170a4}.o_login .o_login_social .btn-default.o_sel_auth_linkedin .badge{color:#0181bd;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_adfs{color:#fff;background-color:#337ab7;border-color:#2e6da4}.o_login .o_login_social .btn-default.o_sel_auth_adfs:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs:focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs.focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_adfs.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.o_login .o_login_social .btn-default.o_sel_auth_adfs:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_adfs.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled],.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs.active{background-color:#337ab7;border-color:#2e6da4}.o_login .o_login_social .btn-default.o_sel_auth_adfs .badge{color:#337ab7;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect{color:#fff;background-color:#337ab7;border-color:#2e6da4}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:hover,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled],.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.active{background-color:#337ab7;border-color:#2e6da4}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect .badge{color:#337ab7;background-color:#fff}.o_old_browser{display:none}.o_browser_ie7 .o_old_browser,.o_browser_ie8 .o_old_browser,.o_browser_ie9 .o_old_browser,.o_browser_ie10 .o_old_browser{display:block}@media (max-width: 767px){body.o_dmz #o_bg{background:none;display:none}.o_login{padding:0}.o_login .o_login_intro{padding:0;text-align:left}.o_login .o_login_box_wrapper{text-align:center;padding:0}.o_login .o_login_box{padding-left:0;padding-right:0}.o_login .o_login_box .o_login_providers,.o_login .o_login_box .o_login_provider{-webkit-box-shadow:none;box-shadow:none}.o_login .o_login_messages,.o_login .o_login_box{width:100%;display:block}}.o_home_main h1{text-align:center}.o_home_main .o_icon_rss{line-height:20px;vertical-align:middle}.o_showall{font-size:12px;text-align:right;margin-bottom:5px;margin-top:10px}.o_portlet{position:relative;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1)}.o_portlet .o_header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 12px;border-bottom:1px solid #ddd;background-color:#f5f5f5;border-top-right-radius:4px;border-top-left-radius:4px}.o_portlet .o_content{padding:6px 12px}.o_portlet .o_portlet_table{margin:-12px;margin-bottom:-6px;margin-top:0}.o_portlet .o_table_empty.o_info{padding:6px}.o_portlet .o_toolbox{position:absolute;top:-1px;right:-1px;z-index:2;background-color:#fff;border:1px solid #faebcc;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;padding:6px 12px}.o_portlet .o_toolbox div{display:inline}.o_portlet .o_edit_shim{position:absolute;height:100%;width:100%;z-index:1;background:#fcf8e3;opacity:0.8}.o_inactive .o_header a{float:right;margin-left:12px;margin-top:10px}.o_portlet_dyk_q{margin-top:5px;font-style:italic}.o_portlet_dyk_a{margin:5px 0}.o_portlet_dyk_next{margin:5px 0;text-align:right}.o_library_icon:before{content:""}.o_library ul{list-style:none;margin:0 0 15px 0;padding:0}.o_library ul ul{margin:0}.o_library_overview .o_library_newest_files ul li{float:left;margin-right:15px}.o_library_item{margin-bottom:10px;position:relative}.o_library_item .o_library_visual,.o_library_item .o_library_extra,.o_library_item .o_library_meta{margin-top:15px}.o_library_item .o_library_visual{float:left;background-color:#fff;border-radius:4px;border:1px solid #ddd}.o_library_item .o_library_visual .o_thumbnail_available,.o_library_item .o_library_visual .o_thumbnail_unavailable{background-size:146px auto;width:150px !important;height:150px !important;background-repeat:no-repeat;background-position:50% 50%}.o_library_item .o_library_visual .o_thumbnail_available:before,.o_library_item .o_library_visual .o_thumbnail_unavailable:before{content:none}.o_library_item .o_library_visual .o_thumbnail_available{background-size:146px auto}.o_library_item .o_library_visual .o_thumbnail_unavailable{display:none}.o_library_item .o_library_extra{float:right;width:200px}.o_library_item .o_library_meta{clear:both}.o_library_item .o_library_meta .o_library_desc{padding-bottom:10px}.o_library_item .o_library_meta small{display:block;word-wrap:break-word}.o_library_item h4,.o_library_item .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_library_item h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:normal}.o_library_item .btn{display:block;margin-bottom:0.5em}.o_library_item .o_comments{display:inline-block}.o_library_item .table{table-layout:fixed;word-wrap:break-word;margin-bottom:0}.o_library_item p.o_library_show_more{text-align:right;margin:0;padding-top:20px}.o_library_item .o_library_more{padding-top:20px;display:none}.o_library_folder{margin-top:-20px}.o_library .o_ratings_and_comments .o_rating_title,.o_library .o_ratings_and_comments .o_rating_explanation{display:none}@media (min-width: 768px){.o_library_item .o_library_meta{clear:none;margin-left:150px;margin-right:200px;padding:0 10px}.o_library_item .o_library_more{display:none}.o_library_item .o_library_more table tbody{vertical-align:top}.o_library_item .o_library_more table tr,.o_library_item .o_library_more table th,.o_library_item .o_library_more table td{display:inline-block}.o_library_item .o_library_more table tr{width:49%}.o_library_item .o_library_more table th{width:30%}.o_library_item .o_library_more table td{width:70%}}.o_library_item_compact .o_library_extra{width:auto}.o_library_item_compact .o_library_meta{padding:0 10px 0 0;margin:0;overflow:hidden}.o_library_item_compact .btn{display:inline-block}.o_library_item_compact h4,.o_library_item_compact .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_library_item_compact h2{overflow:hidden;margin-right:70px}.o_library_item_compact h4 a,.o_library_item_compact .o_cal .fc-header-title h2 a,.o_cal .fc-header-title .o_library_item_compact h2 a{text-overflow:ellipsis;white-space:nowrap}.o_library_item_compact p.o_library_show_more{padding:20px;position:absolute;top:0;right:0}span.o_translation_i18nitem{position:relative !important}span.o_translation_i18nitem a.o_translation_i18nitem_launcher{position:absolute !important;z-index:100 !important;width:18px !important;height:20px !important;top:0 !important;left:5px !important;background:#fff;border:1px solid #337ab7 !important;border-radius:3px;text-align:center;padding:0 !important}.o_user_infos{position:relative}.o_user_infos .o_user_portrait{position:absolute;top:0;left:15px;width:100px;height:100px}.o_user_infos .o_user_infos_inner{margin:0 30px 0 100px}.o_user_infos .o_user_infos_inner table{margin:0 30px 15px 30px}.o_useradmin .o_user_infos .o_user_infos_inner{margin-right:45px}div.o_skype_button{display:inline-block}div.o_skype_button p{margin:0 0 0 0}div.o_skype_button p a img{margin:0 !important;vertical-align:middle !important}.o_useradmin div#o_main_toolbar.o_toolbar{margin-top:0px}.o_members_pagination{text-align:center}.o_bcard_logo{margin-left:10px;height:66px}.o_bcard_title_with_logo{clear:both;padding:20px 0 0 0}.o_visitingcard_image,.o_visitingcard_logo{height:66px}.o_visitingcard .o_icon_visitingcard{display:none}.o_visitingcard .o_portrait_avatar,.o_visitingcard .o_portrait_dummy,.o_visitingcard .o_portrait_dummy_female_big,.o_visitingcard .o_portrait_dummy_male_big,.o_visitingcard .o_portrait_anonymous{width:66px;height:66px;margin-right:10px}@media (max-width: 767px){.o_visitingcard .o_portrait_avatar,.o_visitingcard .o_portrait_dummy,.o_visitingcard .o_portrait_dummy_female_big,.o_visitingcard .o_portrait_dummy_male_big,.o_visitingcard .o_portrait_anonymous{width:50px;height:50px;margin:5px 5px 0 0}.o_visitingcard_image,.o_visitingcard_logo{height:50px}.o_visitingcard_logo,.o_bcard_logo{height:50px;margin:5px 0 0 5px}.o_visitingcard_logo img,.o_bcard_logo img{position:relative;transform:scale(.7575757576);top:-8px}}@media (max-width: 414px){.o_visitingcard_logo img{max-width:260px}}@media (max-width: 375px){.o_visitingcard_logo img{max-width:220px}}@media (max-width: 320px){.o_visitingcard_logo img{max-width:180px}.o_bcard_logo img{max-width:150px}}.o_gta_coach_selection .o_noti{display:inline-block;float:none;margin:0}.o_gta_coach_selection .o_gta_coach_selection_bar{position:relative}.o_gta_coach_selection .o_gta_coach_selection_bar .o_noti{position:absolute;top:3px;right:0}p.o_gta_reopen_warning{margin-top:-20px}.o_lecture_authorized_absence div.form-inline,.o_lecture_authorized_absence div.o_navbar-form{display:inline}.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table{margin-top:0}.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_date,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_startTime,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_endTime,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_details,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_tools{width:1%}.o_lectures_teacher_overview .o_lectures_current_wrapper{border:1px solid transparent;background:#f8f8f8;border-radius:4px;margin:10px -10px 20px -10px;padding:10px}.o_lectures_teacher_overview .o_lectures_current_wrapper .o_button_group{margin-bottom:0}.o_lectures_teacher_overview .o_lectures_teacher_search .o_form .o_date{padding-right:10px;position:relative}.o_lectures_teacher_overview .o_lectures_teacher_search span.o_chelp_wrapper{position:absolute;top:0;right:0}.o_lectures_rollcall legend{margin-bottom:10px}.o_lectures_rollcall .o_desc,.o_lectures_rollcall .o_preparation{margin:0}.o_rollcall_next_previous_group{text-align:center}.o_rollcall_next_previous_group a.o_sel_close{float:left}.o_rollcall_next_previous_group a.o_sel_close span{display:none}.o_rollcall_next_previous_group .form-control{display:inline;width:auto}@media (max-width: 767px){.o_rollcall_next_previous_group a span{display:none}}.o_lecture_free{color:#777}.o_rollcall_portrait>div{margin:0 auto 10px auto;width:100px}.o_edubase_pv{overflow:hidden;padding-top:10px}.o_edubase_pv_fig{display:inline-block;vertical-align:top;width:110px;margin-right:3%}.o_edubase_run_enabled .o_edubase_page{font-size:12px;color:#777}.o_edubase_run_disabled .o_edubase_booksection{margin-right:3%;margin-bottom:3%;width:177px;display:inline-table}.o_edubase_run_disabled .o_edubase_page{font-size:12px;color:#777}.o_edubase_bs_buttons{padding-top:10px}.o_edubase_bs_book_id{margin-top:-2px}.o_edubase_bs_details{margin-left:-20px}.o_edubase_bs_details_label{visibility:hidden}.o_edubase_bs_cover object{margin-left:10px;margin-top:10px;height:120px}.o_edubase_bs_cover img{margin-left:10px;margin-top:10px;height:120px}.o_edubase_edit_books .o_icon_error{visibility:hidden}.o_edubase_edit_books .o_icon_help{margin-bottom:0px}.o_edubase_edit_books .row{margin-bottom:5px}.o_taxonomy div#o_main_toolbar.o_toolbar{margin-top:0px}.o_taxonomy_listing.o_rendertype_custom .o_table_body.container-fluid{padding-right:0px;padding-left:0px}.o_taxonomy_listing.o_rendertype_custom .o_taxonomy_row{position:relative;display:inline-block;height:200px;width:450px;vertical-align:top;margin-right:10px}.o_taxonomy_listing.o_rendertype_custom .o_taxonomy_row ul{padding-left:2em}.ui-widget{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:100%}.ui-widget-header{border-top:none;border-left:none;border-right:none;border-bottom:1px solid #eee;background:#fff;font-weight:bold}.ui-icon,.ui-widget-content .ui-icon,.ui-widget-header .ui-icon,.ui-state-default .ui-icon,.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-state-active .ui-icon,.ui-state-highlight .ui-icon,.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background:none;background-image:none}.ui-dialog{-webkit-box-shadow:0px 1px 8px -1px rgba(0,0,0,0.35);box-shadow:0px 1px 8px -1px rgba(0,0,0,0.35);background-color:#fefefe}.ui-dialog .ui-widget-header .ui-dialog-title{color:#337ab7;font-weight:500;font-family:inherit;line-height:1.1}.ui-dialog .ui-widget-header .ui-dialog-titlebar-close:before{content:"ï€" !important}.ui-dialog .ui-widget-header .ui-dialog-titlebar-close{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ui-dialog .ui-widget-header .ui-dialog-titlebar-close span{display:none}.ui-dialog .ui-widget-header .ui-button.ui-corner-all{border:none !important;background:#fff !important;float:right}.ui-dialog .ui-widget-content{border-color:#fff;padding:5px;overflow:auto;background:white !important}.ui-dialog .ui-dialog-titlebar{padding:4px 7px 4px 7px;background-color:#eee !important}.ui-dialog.ui-corner-all{border-radius:4px}.ui-dialog.ui-widget-content{border:1px solid transparent}.ui-dialog.o_modal-ui{max-width:100vw;max-height:100vh}.ui-dialog.o_modal-ui div.ui-dialog-buttonpane{display:none}@media (max-width: 767px){.ui-dialog.o_modal-ui{height:100vh !important;width:100vw !important}.ui-dialog.o_modal-ui div.ui-dialog-content{height:90vh !important}}.ui-slider.ui-slider-horizontal.ui-widget-content{border-color:#aaa;background:#f9f9f9}.ui-slider.ui-slider-horizontal.ui-widget-content.ui-state-disabled{opacity:0.65}.ui-slider.ui-slider-horizontal.ui-widget-content .ui-slider-handle{border:1px solid #337ab7;background-image:none;background-color:#337ab7}.ui-datepicker{z-index:2000 !important;-webkit-box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15);box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15)}.ui-datepicker .ui-widget-header .ui-corner-all,.ui-datepicker .ui-widget-header .ui-datepicker-next.ui-corner-all{border:none !important;background:#fff !important}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e:before{content:"ï¡";font-weight:normal;color:black}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w:before{content:"ï ";font-weight:normal;color:black}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e,.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{font-family:'FontAwesome';display:inline-block;background-image:none;background-position:0 0;font-weight:normal;text-indent:0;color:white}.ui-datepicker .ui-widget-header .ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-widget-header .ui-datepicker .ui-datepicker-next-hover{top:2px}.ui-datepicker .ui-state-default{background:#eee}.ui-datepicker .ui-state-highlight,.ui-datepicker .ui-widget-content .ui-state-highlight{border:1px solid #2e6da4;background:#337ab7;color:#fff}.ui-datepicker.ui-corner-all{border-radius:4px}.ui-datepicker.ui-widget-content{border:1px solid transparent}label.mce-label{display:inline;max-width:150px;margin-bottom:0;font-weight:normal}.o_richtext_mce_without_path .mce-statusbar{border:none}.o_richtext_mce_without_path .mce-path{display:none !important}.o_richtext_mce_without_path .mce-menubtn.mce-fixed-width span{width:auto}.o_richtext_mce>.o_richtext_mce_modes{text-align:right;padding-right:4px}.o_richtext_mce>.o_richtext_mce_modes a{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}i.mce-ico.mce-i-media,i.mce-ico.mce-i-movie,i.mce-ico.mce-i-help,i.mce-ico.mce-i-gaptext,i.mce-ico.mce-i-gapnumerical,i.mce-ico.mce-i-hottext,i.mce-ico.mce-i-edit{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}i.mce-ico.mce-i-media:before{content:""}i.mce-ico.mce-i-movie:before{content:""}i.mce-ico.mce-i-gaptext:before{content:"ï…"}i.mce-ico.mce-i-gapnumerical:before{content:""}i.mce-ico.mce-i-hottext:before{content:"ï"}i.mce-ico.mce-i-math:before{content:'\03A3'}i.mce-ico.mce-i-edit:before{content:"ï„"}i.mce-ico.mce-i-help{width:9px;height:9px;padding-top:1px}i.mce-ico.mce-i-help:before{content:"ï™";color:white}.mce-tabs span.o_chelp_wrapper{float:right;margin:5px}.mce-wordcount:after{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"ï™"}.mce-danger .mce-wordcount:after{color:#d9534f;content:"ïª"}.mce-statusbar.mce-danger{background-color:#f2dede}div.o_table_search span.twitter-typeahead{display:table-cell;padding-top:3px}.tag.label.label-info{margin-right:3px}@media print{a[href]:after{content:""}#o_header_wrapper,#o_offcanvas_right,#o_navbar_wrapper,#o_footer_wrapper,#o_toplink,#o_main_left,#o_main_right,#o_main_toolbar,#jsMath_PrintWarning,.o_noti,.o_opener,.o_hide,.o_noprint{display:none !important}.o_print_break_avoid{page-break-inside:avoid}.o_print_break_before{page-break-before:always}.o_print_break_after{clear:both;page-break-after:always}.btn{display:none}.o_form textarea,.o_form .form-control.textarea_disabled{-webkit-print-color-adjust:exact;color-adjust:exact;background:#fff !important;height:auto !important;color:#000 !important;resize:none}#o_comment_form_link,.o_comments form{display:none !important}.o_avatar{display:none}body.o_dmz{background:white !important;-webkit-print-color-adjust:exact;color-adjust:exact}.modal-dialog{margin:0 !important;width:100% !important;height:100% !important;background:#fff !important;-webkit-print-color-adjust:exact;color-adjust:exact}.progress{page-break-inside:avoid;-webkit-print-color-adjust:exact;color-adjust:exact;background-color:rgba(0,0,0,0.1) !important;border:1px solid rgba(0,0,0,0.5)}.progress-bar{-webkit-print-color-adjust:exact;background-color:#000 !important;border:10px solid #000}.ui-slider.ui-slider-horizontal.ui-widget-content{-webkit-print-color-adjust:exact;color-adjust:exact;background:#f9f9f9 !important}.ui-slider.ui-slider-horizontal.ui-widget-content .ui-slider-handle{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#337ab7 !important}.radial-progress{page-break-inside:avoid;-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#eee !important}.radial-progress .circle .mask .fill{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#000 !important}.radial-progress .inset{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#fff !important}body{margin:0}table,figure,figure{page-break-inside:avoid}h1,h2,h3,h4,.o_cal .fc-header-title h2,h5,h6{page-break-after:avoid}}.o_highscore .o_position{text-align:center;font-size:1.2em;font-weight:bold}.o_highscore .o_position h2{font-size:3em;font-weight:700;line-height:1.2em}@media screen and (-webkit-min-device-pixel-ratio: 0){.o_highscore .o_position h2{background:linear-gradient(330deg, #e05252 0%, #99e052 25%, #52e0e0 50%, #9952e0 75%, #e05252 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline}.o_highscore .o_position h2:after{content:"\A";white-space:pre}}.o_highscore .o_position_relative{font-size:1em;font-weight:normal}.o_highscore .o_podium{position:relative;vertical-align:bottom;height:300px;margin-bottom:50px}.o_highscore .o_rank{width:30%;position:absolute;bottom:0;text-shadow:rgba(102,102,102,0.5) 0 -1px 0,rgba(255,255,255,0.6) 0 2px 1px}.o_highscore .o_rank:before{position:absolute;bottom:0;left:0;width:100%;text-align:center}.o_highscore .o_rank .o_name{position:absolute;top:100%;width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:1em;text-shadow:none}.o_highscore .o_rank .o_score{color:#777;font-size:90%;width:100%;text-align:center;position:absolute;top:-20px;text-shadow:none}.o_highscore .o_rank .o_singleportrait{position:absolute;width:100%;text-align:center;top:-125px}.o_highscore .o_rank .o_rank_portraits{position:relative;left:0;top:-210px;height:180px;width:200px;text-align:center;vertical-align:bottom;display:table-cell}.o_highscore .o_rank .o_rank_portraits ul{display:inline-block}.o_highscore .o_rank .o_rank_portraits .o_portrait{margin:5px}.o_highscore .o_first{height:150px;left:30%;border:1px solid #d9d9d9;border-top-left-radius:4px;border-top-right-radius:4px;background:gold;background:-moz-linear-gradient(top, #fff7cc 0%, #ffdf33 50%, gold 51%, #ffe766 100%);background:-webkit-linear-gradient(top, #fff7cc 0%, #ffdf33 50%, gold 51%, #ffe766 100%);background:linear-gradient(top, #fff7cc 0%, #ffdf33 50%, gold 51%, #ffe766 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='$basecolor', endColorstr='lighten($basecolor,20%)',GradientType=0 )}.o_highscore .o_first:before{content:"1";font-size:700%;line-height:150px;color:#666}.o_highscore .o_second{height:100px;left:0;background:silver;background:-moz-linear-gradient(top, #fff 0%, #dadada 50%, silver 51%, #f3f3f3 100%);background:-webkit-linear-gradient(top, #fff 0%, #dadada 50%, silver 51%, #f3f3f3 100%);background:linear-gradient(top, #fff 0%, #dadada 50%, silver 51%, #f3f3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='$basecolor', endColorstr='lighten($basecolor,20%)',GradientType=0 );border-left:1px solid #d9d9d9;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;border-top-left-radius:4px}.o_highscore .o_second:before{content:"2";font-size:500%;line-height:100px;color:#666}.o_highscore .o_third{height:80px;left:60%;background:#cd7f32;background:-moz-linear-gradient(top, #f5e5d6 0%, #d7995b 50%, #cd7f32 51%, #e1b284 100%);background:-webkit-linear-gradient(top, #f5e5d6 0%, #d7995b 50%, #cd7f32 51%, #e1b284 100%);background:linear-gradient(top, #f5e5d6 0%, #d7995b 50%, #cd7f32 51%, #e1b284 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='$basecolor', endColorstr='lighten($basecolor,20%)',GradientType=0 );border-right:1px solid #d9d9d9;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;border-top-right-radius:4px}.o_highscore .o_third:before{content:"3";font-size:300%;line-height:80px;color:#666}.o_highscore .o_histogram{position:relative;bottom:-40px;margin-bottom:40px}.o_highscore .o_histogram .d3chart{width:100%;padding-top:50px;height:300px}.o_highscore .o_histogram .d3chart text{fill:#888}.o_highscore .o_histogram .d3chart .axis path,.o_highscore .o_histogram .d3chart .axis line{stroke:#888}.o_highscore .o_histogram .d3chart .o_myself{fill:#337ab7}.o_highscore .o_histogram .d3chart .o_myself:hover{fill:#5094ce}.o_highscore .o_histogram .d3chart .o_other{fill:#777}.o_highscore .o_histogram .d3chart .o_other:hover{fill:#919191}.o_highscore .o_histogram .d3chart .o_empty{fill:#000}.o_listing .o_table_wrapper.o_table_flexi .table{margin-top:0}.o_listing table th:nth-of-type(1),.o_listing table th :nth-of-type(2){width:5em}body.o_browser_ie7 #o_offcanvas_right,body.o_browser_ie8 #o_offcanvas_right{right:0px} +**//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail,.o_form .o_filepreview img,.o_feed .o_media{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,.o_cal .fc-header-title h2,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h1 .small,h2 small,h2 .small,h3 small,h3 .small,h4 small,.o_cal .fc-header-title h2 small,h4 .small,.o_cal .fc-header-title h2 .small,h5 small,h5 .small,h6 small,h6 .small,.h1 small,.h1 .small,.h2 small,.h2 .small,.h3 small,.h3 .small,.h4 small,.h4 .small,.h5 small,.h5 .small,.h6 small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,h1 .small,.h1 small,.h1 .small,h2 small,h2 .small,.h2 small,.h2 .small,h3 small,h3 .small,.h3 small,.h3 .small{font-size:65%}h4,.o_cal .fc-header-title h2,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.o_cal .fc-header-title h2 small,h4 .small,.o_cal .fc-header-title h2 .small,.h4 small,.h4 .small,h5 small,h5 .small,.h5 small,.h5 .small,h6 small,h6 .small,.h6 small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.o_cal .fc-header-title h2,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width: 768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff}.bg-primary{background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ul ol,ol ul,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width: 768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.428571429;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container:before,.container:after{content:" ";display:table}.container:after{clear:both}@media (min-width: 768px){.container{width:750px}}@media (min-width: 992px){.container{width:970px}}@media (min-width: 1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container-fluid:before,.container-fluid:after{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}@media (min-width: 768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}}@media (min-width: 992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}}@media (min-width: 1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width: 767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;-o-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#fafafa;opacity:1}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio: 0){input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:34px}input[type="date"].input-sm,.input-group-sm>input[type="date"].form-control,.input-group-sm>input[type="date"].input-group-addon,.input-group-sm>.input-group-btn>input[type="date"].btn,input[type="time"].input-sm,.input-group-sm>input[type="time"].form-control,.input-group-sm>input[type="time"].input-group-addon,.input-group-sm>.input-group-btn>input[type="time"].btn,input[type="datetime-local"].input-sm,.input-group-sm>input[type="datetime-local"].form-control,.input-group-sm>input[type="datetime-local"].input-group-addon,.input-group-sm>.input-group-btn>input[type="datetime-local"].btn,input[type="month"].input-sm,.input-group-sm>input[type="month"].form-control,.input-group-sm>input[type="month"].input-group-addon,.input-group-sm>.input-group-btn>input[type="month"].btn{line-height:30px}input[type="date"].input-lg,.input-group-lg>input[type="date"].form-control,.input-group-lg>input[type="date"].input-group-addon,.input-group-lg>.input-group-btn>input[type="date"].btn,input[type="time"].input-lg,.input-group-lg>input[type="time"].form-control,.input-group-lg>input[type="time"].input-group-addon,.input-group-lg>.input-group-btn>input[type="time"].btn,input[type="datetime-local"].input-lg,.input-group-lg>input[type="datetime-local"].form-control,.input-group-lg>input[type="datetime-local"].input-group-addon,.input-group-lg>.input-group-btn>input[type="datetime-local"].btn,input[type="month"].input-lg,.input-group-lg>input[type="month"].form-control,.input-group-lg>input[type="month"].input-group-addon,.input-group-lg>.input-group-btn>input[type="month"].btn{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="radio"].disabled,fieldset[disabled] input[type="radio"],input[type="checkbox"][disabled],input[type="checkbox"].disabled,fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,fieldset[disabled] .radio-inline,.checkbox-inline.disabled,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,fieldset[disabled] .radio label,.checkbox.disabled label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn,.form-group-sm .form-control{height:30px;line-height:30px}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,.form-group-sm .form-control,select[multiple].input-sm,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>.input-group-btn>select[multiple].btn,.form-group-sm .form-control{height:auto}.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn,.form-group-lg .form-control{height:46px;line-height:46px}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,.form-group-lg .form-control,select[multiple].input-lg,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>.input-group-btn>select[multiple].btn,.form-group-lg .form-control{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label ~ .form-control-feedback{top:25px}.has-feedback label.sr-only ~ .form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width: 768px){.form-inline .form-group,.o_navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control,.o_navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static,.o_navbar-form .form-control-static{display:inline-block}.form-inline .input-group,.o_navbar-form .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.o_navbar-form .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.o_navbar-form .input-group .input-group-btn,.form-inline .input-group .form-control,.o_navbar-form .input-group .form-control{width:auto}.form-inline .input-group>.form-control,.o_navbar-form .input-group>.form-control{width:100%}.form-inline .control-label,.o_navbar-form .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.o_navbar-form .radio,.form-inline .checkbox,.o_navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.o_navbar-form .radio label,.form-inline .checkbox label,.o_navbar-form .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.o_navbar-form .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"],.o_navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback,.o_navbar-form .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}@media (min-width: 768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width: 768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width: 768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn.focus,.btn:active:focus,.btn:active.focus,.btn.active:focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled,.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled.active,.btn-default[disabled],.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled].active,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled,.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled.active,.btn-primary[disabled],.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary.active{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled,.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled.active,.btn-success[disabled],.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled].active,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled,.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled.active,.btn-info[disabled],.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled].active,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled,.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled.active,.btn-warning[disabled],.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled,.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled.active,.btn-danger[disabled],.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width: 768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 768px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{content:" ";display:table}.navbar:after{clear:both}@media (min-width: 768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{content:" ";display:table}.navbar-header:after{clear:both}@media (min-width: 768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width: 768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;visibility:visible !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width: 480px) and (orientation: landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width: 768px){.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width: 768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width: 768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width: 768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width: 768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width: 767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width: 768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width: 768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width: 767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width: 768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm,.btn-group-sm>.navbar-btn.btn{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs,.btn-group-xs>.navbar-btn.btn{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width: 768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width: 768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right ~ .navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width: 767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:hover,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#090909;color:#fff}@media (max-width: 767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:hover,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.428571429;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.jumbotron,.o_repo_details .o_lead{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.o_repo_details .o_lead h1,.jumbotron .h1,.o_repo_details .o_lead .h1{color:inherit}.jumbotron p,.o_repo_details .o_lead p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr,.o_repo_details .o_lead>hr{border-top-color:#d5d5d5}.container .jumbotron,.container .o_repo_details .o_lead,.o_repo_details .container .o_lead,.container-fluid .jumbotron,.container-fluid .o_repo_details .o_lead,.o_repo_details .container-fluid .o_lead{border-radius:6px}.jumbotron .container,.o_repo_details .o_lead .container{max-width:100%}@media screen and (min-width: 768px){.jumbotron,.o_repo_details .o_lead{padding:48px 0}.container .jumbotron,.container .o_repo_details .o_lead,.o_repo_details .container .o_lead,.container-fluid .jumbotron,.container-fluid .o_repo_details .o_lead,.o_repo_details .container-fluid .o_lead{padding-left:60px;padding-right:60px}.jumbotron h1,.o_repo_details .o_lead h1,.jumbotron .h1,.o_repo_details .o_lead .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;-o-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4,.alert .o_cal .fc-header-title h2,.o_cal .fc-header-title .alert h2{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table,.panel-collapse>.table,.panel-collapse>.table-responsive>.table,.panel-collapse>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption,.panel-collapse>.table caption,.panel-collapse>.table-responsive>.table caption,.panel-collapse>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child,.panel-collapse>.table:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child,.panel-collapse>.table:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body,.panel-collapse>.panel-body+.table,.panel-collapse>.panel-body+.table-responsive,.panel-collapse>.table+.panel-body,.panel-collapse>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td,.panel-collapse>.table>tbody:first-child>tr:first-child th,.panel-collapse>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered,.panel-collapse>.table-bordered,.panel-collapse>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel-collapse>.table-bordered>thead>tr>th:first-child,.panel-collapse>.table-bordered>thead>tr>td:first-child,.panel-collapse>.table-bordered>tbody>tr>th:first-child,.panel-collapse>.table-bordered>tbody>tr>td:first-child,.panel-collapse>.table-bordered>tfoot>tr>th:first-child,.panel-collapse>.table-bordered>tfoot>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel-collapse>.table-bordered>thead>tr>th:last-child,.panel-collapse>.table-bordered>thead>tr>td:last-child,.panel-collapse>.table-bordered>tbody>tr>th:last-child,.panel-collapse>.table-bordered>tbody>tr>td:last-child,.panel-collapse>.table-bordered>tfoot>tr>th:last-child,.panel-collapse>.table-bordered>tfoot>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel-collapse>.table-bordered>thead>tr:first-child>td,.panel-collapse>.table-bordered>thead>tr:first-child>th,.panel-collapse>.table-bordered>tbody>tr:first-child>td,.panel-collapse>.table-bordered>tbody>tr:first-child>th,.panel-collapse>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel-collapse>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel-collapse>.table-bordered>tbody>tr:last-child>td,.panel-collapse>.table-bordered>tbody>tr:last-child>th,.panel-collapse>.table-bordered>tfoot>tr:last-child>td,.panel-collapse>.table-bordered>tfoot>tr:last-child>th,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive,.panel-collapse>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.428571429px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width: 992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;visibility:visible;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:normal;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width: 767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width: 767px){.visible-xs-block{display:block !important}}@media (max-width: 767px){.visible-xs-inline{display:inline !important}}@media (max-width: 767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-block{display:block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline{display:inline !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-block{display:block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline{display:inline !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width: 1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width: 1200px){.visible-lg-block{display:block !important}}@media (min-width: 1200px){.visible-lg-inline{display:inline !important}}@media (min-width: 1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width: 767px){.hidden-xs{display:none !important}}@media (min-width: 768px) and (max-width: 991px){.hidden-sm{display:none !important}}@media (min-width: 992px) and (max-width: 1199px){.hidden-md{display:none !important}}@media (min-width: 1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}body .modal{position:absolute;overflow:visible}body div.tooltip-inner{max-width:400px}body div.popover{max-width:450px}body .modal-body.alert{border-radius:0}body .progress{margin-bottom:0}.panel-body:nth-child(n+2){border-top:1px solid #ddd}.panel .panel-heading[data-toggle="collapse"]{cursor:pointer}#o_ajax_busy_backdrop{bottom:0;z-index:1020}.form-control-feedback{top:10px}.form-horizontal .has-feedback .form-control-feedback{top:10px}.btn.btn-primary.o_disabled{color:#fff !important}body .progress-bar[aria-valuenow="1"],body .progress-bar[aria-valuenow="2"]{min-width:1px}td.text-left>div.form-inline>label.checkbox-inline>input[type='checkbox'],td.text-left>div.o_navbar-form>label.checkbox-inline>input[type='checkbox']{position:relative}@-moz-document url-prefix(){fieldset{display:table-cell}}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.form-control,.ui-widget input,.ui-widget select,.ui-widget textarea{font-size:16px}}}@font-face{font-family:'openolat';src:url("../light/fonts/openolat/openolat.eot?4yacgg");src:url("../light/fonts/openolat/openolat.eot?#iefix4yacgg") format("embedded-opentype"),url("../light/fonts/openolat/openolat.woff?4yacgg") format("woff"),url("../light/fonts/openolat/openolat.ttf?4yacgg") format("truetype"),url("../light/fonts/openolat/openolat.svg?4yacgg#openolat") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:'FontAwesome';src:url("../../font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0");src:url("../../font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"),url("../../font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),url("../../font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),url("../../font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"),url("../../font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.o_icon{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.o_icon-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.o_icon-2x{font-size:2em}.o_icon-3x{font-size:3em}.o_icon-4x{font-size:4em}.o_icon-5x{font-size:5em}.o_icon-fw{width:1.2857142857em;text-align:center}.o_icon-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.o_icon-ul>li{position:relative}.o_icon-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.o_icon-li.o_icon-lg{left:-1.8571428571em}.o_icon-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.o_icon-pull-left{float:left}.o_icon-pull-right{float:right}.o_icon.o_icon-pull-left{margin-right:.3em}.o_icon.o_icon-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.o_icon.pull-left{margin-right:.3em}.o_icon.pull-right{margin-left:.3em}.o_icon-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.o_icon-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.o_icon-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.o_icon-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.o_icon-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.o_icon-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.o_icon-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .o_icon-rotate-90,:root .o_icon-rotate-180,:root .o_icon-rotate-270,:root .o_icon-flip-horizontal,:root .o_icon-flip-vertical{filter:none}.o_icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.o_icon-stack-1x,.o_icon-stack-2x{position:absolute;left:0;width:100%;text-align:center}.o_icon-stack-1x{line-height:inherit}.o_icon-stack-2x{font-size:2em}.o_icon-inverse{color:#fff}.o_icon_accepted:before{content:"ï…¤"}.o_icon_accessibility:before{content:""}.o_icon_actions:before{content:"ï‚…"}.o_icon_add_html:before{content:"ï„¡"}.o_icon_archive_tool:before{content:""}.o_icon_assessment_mode:before{content:"ï„"}.o_icon_assessment_tool:before{content:"ï‚‘"}.o_icon_assignment:before{content:"";color:#d9534f}.o_icon_attempt_limit:before{content:""}.o_icon_accept:before{content:"";color:#5cb85c}.o_icon_add:before{content:"ï•"}.o_icon_add_member:before{content:""}.o_icon_add_search:before{content:""}.o_icon_audio:before{content:""}.o_icon_back:before{content:"ï“"}.o_icon_back_history:before{content:""}.o_icon_banned:before{content:"";color:#d9534f}.o_icon_bold:before{content:""}.o_icon_booking:before{content:"ïº"}.o_icon_bookmark:before{content:"";color:#bc2d0c}.o_icon_bookmark_add:before{content:"ï‚—"}.o_icon_bookmark_header:before{content:""}.o_icon_browse:before{content:""}.o_icon_brush:before{content:""}.o_icon_browsercheck:before{content:"ï…¤"}.o_icon_busy:before{content:"ï„"}.o_icon_calendar:before{content:"ï³"}.o_icon_calendar_enabled:before{content:"ï†"}.o_icon_calendar_disabled:before{content:"ï‚–"}.o_icon_calendar:before{content:"ï³"}.o_icon_calendar_sync:before{content:""}.o_icon_cancelled:before{content:"ïž"}.o_icon_caret:before{content:""}.o_icon_caret_right:before{content:""}.o_icon_catalog:before{content:""}.o_icon_catalog_sub:before{content:"ï»"}.o_icon_certificate:before{content:"ï‚£"}.o_icon_chat:before{content:""}.o_icon_check:before{content:""}.o_icon_check_off:before{content:"ï‚–"}.o_icon_check_on:before{content:"ï†"}.o_icon_checkbox:before{content:"ï‚–"}.o_icon_checkbox_checked:before{content:"ï…Š"}.o_icon_circle:before{content:""}.o_icon_circle_color:before{content:"ï„‘"}.o_icon_citation:before{content:"ï„"}.o_icon_cleanup:before{content:""}.o_icon_clear_all:before{content:""}.o_icon_close:before{content:"ï€"}.o_icon_close_resource:before{content:""}.o_icon_close_tab:before{content:"ï€"}.o_icon_close_tool:before{content:"ï€"}.o_icon_close_tree:before{content:""}.o_icon_close_togglebox:before,.o_togglebox_wrapper .o_opener.o_in i:before,.o_search_result .o_opener.o_in i:before{content:""}.o_icon_code:before{content:"ï„¡"}.o_icon_color_picker:before{content:"ïƒ"}.o_icon_copy:before{content:""}.o_icon_courseareas:before{content:""}.o_icon_coursedb:before{content:""}.o_icon_courseeditor:before{content:"ï„"}.o_icon_coursefolder:before{content:"ï„”"}.o_icon_courserun:before{content:""}.o_icon_comments:before{content:""}.o_icon_comments_none:before{content:""}.o_icon_compress:before{content:"ï¦"}.o_icon_compulsory:before{content:"ï©"}.o_icon_content_popup:before{content:"ï‚Ž"}.o_icon_correct_answer:before{content:"";color:#5cb85c}.o_icon_correction:before{content:"ï€"}.o_icon_customize:before{content:""}.o_icon_delete_item:before{content:""}.o_icon_delete:before{content:"ï–";color:#A87E7E}.o_icon_deleted:before{content:""}.o_icon_details:before{content:""}.o_icon_description:before{content:"ïš"}.o_icon_dev:before{content:""}.o_icon_disabled:before{content:"ï„Œ"}.o_icon_download:before{content:""}.o_icon_edit:before{content:"ï„"}.o_icon_edit_file:before{content:"ï„"}.o_icon_edit_metadata:before{content:""}.o_icon_element_after:before{content:"ï£"}.o_icon_element_before:before{content:"ï¢"}.o_icon_enabled:before{content:"ï„‘"}.o_icon_enlarge:before{content:""}.o_icon_eportfolio_add:before{content:"ï„®"}.o_icon_eportfolio_link:before{content:"ï„®"}.o_icon_eraser:before{content:"ï„"}.o_icon_error:before{content:"ïª";color:#d9534f}.o_icon_expand:before{content:"ï¥"}.o_icon_expenditure:before{content:""}.o_icon_export:before{content:"ï…"}.o_icon_external_link:before{content:"ï‚Ž"}.o_icon_extra_time:before{content:""}.o_icon_failed:before{content:"ï—"}.o_icon_files:before{content:""}.o_icon_fileupload:before{content:""}.o_icon_filter:before{content:"ï‚°"}.o_icon_graduate:before{content:"ï†"}.o_icon_group:before,.o_BusinessGroup_icon:before{content:""}.o_icon_header:before{content:""}.o_icon_help:before{content:"ï™";cursor:help}.o_icon_home:before{content:""}.o_icon_image:before{content:""}.o_icon_impress:before{content:"ïš"}.o_icon_important:before{content:"ï±";color:#f0ad4e}.o_icon_import:before{content:"ï‚“"}.o_icon_info:before{content:"ïš";color:#5bc0de}.o_icon_info_msg:before{content:"ïª";color:#d9534f}.o_icon_info_resource:before{content:"ïš"}.o_icon_inheritance_root:before{content:"ï‚«"}.o_icon_inheritance_inherited:before{content:""}.o_icon_inheritance_none:before{content:"ï„Œ"}.o_icon_inline_editable:before{content:"ï„"}.o_icon_institution:before{content:""}.o_icon_italic:before{content:""}.o_icon_landingpage:before{content:"ï…€"}.o_icon_language:before{content:""}.o_icon_layout:before{content:""}.o_icon_lecture:before{content:"ï€"}.o_icon_levels:before{content:""}.o_icon_line:before{content:""}.o_icon_link:before{content:"ïƒ"}.o_icon_link_extern:before{content:"ï‚Ž"}.o_icon_list:before{content:""}.o_icon_list_num:before{content:""}.o_icon_lifecycle:before{content:""}.o_icon_lifecycle_date:before{content:"ï³"}.o_icon_locked:before{content:""}.o_icon_log:before{content:"ï…œ"}.o_icon_login:before{content:"ï‚"}.o_icon_logout:before{content:"ï‚‹"}.o_icon_mandatory:before{content:"ï©";color:#f0ad4e}.o_icon_managed:before{content:"ï¹";color:#777}.o_icon_manual:before{content:"ï€";cursor:help}.o_icon_mail:before{content:""}.o_icon_math:before{content:"\03a3"}.o_icon_media:before{content:""}.o_icon_mediacenter:before{content:"ï¼"}.o_icon_membersmanagement:before{content:""}.o_icon_menuhandel:before{content:""}.o_icon_message:before{content:"ïƒ "}.o_icon_mobile:before{content:"ï„‹"}.o_icon_move:before{content:"ï‡"}.o_icon_move_down:before{content:""}.o_icon_move_left:before{content:"ï„€"}.o_icon_move_right:before{content:"ï„"}.o_icon_move_up:before{content:"ï„‚"}.o_icon_new:before{content:"ï©";color:#5cb85c}.o_icon_new_document:before{content:"ï…œ"}.o_icon_new_folder:before{content:"ï»"}.o_icon_new_portfolio:before{content:"ï€"}.o_icon_news:before{content:"ïš"}.o_icon_next:before{content:""}.o_icon_next_step:before{content:"ï„"}.o_icon_next_page:before{content:"ï„"}.o_icon_next_toolbar:before{content:""}.o_icon_node_after:before{content:"ï…µ"}.o_icon_node_before:before{content:"ï…¶"}.o_icon_node_under:before{content:"ï„’"}.o_icon_notes:before{content:""}.o_icon_notification:before{content:"ï‚ž"}.o_icon_ok:before{content:"";color:#5cb85c}.o_icon_open_tree:before{content:""}.o_icon_open_togglebox:before,.o_togglebox_wrapper .o_opener i:before,.o_search_result .o_opener i:before{content:""}.o_icon_openolat:before,.o_icon_provider_olat:before{content:"\E600";font-family:openolat;font-size:10px}.o_icon_options:before{content:""}.o_icon_others:before{content:""}.o_icon_pageing:before{content:"ï…"}.o_icon_paragraph:before{content:"ï‡"}.o_icon_passed:before{content:"ï˜"}.o_icon_password:before{content:""}.o_icon_pending:before{content:"ï„"}.o_icon_phone:before{content:"ï‚•"}.o_icon_post:before{content:""}.o_icon_preview:before{content:"ï®"}.o_icon_previous:before{content:"ï„·"}.o_icon_previous_page:before{content:"ï„€"}.o_icon_previous_step:before{content:"ï„€"}.o_icon_previous_toolbar:before{content:""}.o_icon_print:before{content:""}.o_icon_private:before{content:""}.o_icon_progress_success:before{content:"";color:#e5efe5}.o_icon_progress_danger:before{content:"ï€";color:#efe5e5}.o_icon_provider_adfs:before{content:"ï…º"}.o_icon_provider_facebook:before{content:"ï‚š"}.o_icon_provider_google:before{content:""}.o_icon_provider_guest:before{content:""}.o_icon_provider_ldap:before{content:""}.o_icon_provider_linkedin:before{content:""}.o_icon_provider_oauth:before{content:""}.o_icon_provider_openid:before{content:""}.o_icon_provider_performx:before{content:""}.o_icon_provider_shibboleth:before{content:""}.o_icon_provider_tequila:before{content:""}.o_icon_provider_twitter:before{content:"ï‚™"}.o_icon_publish:before{content:"ï¤"}.o_icon_pull:before{content:""}.o_icon_quota:before{content:""}.o_icon_qrcode:before{content:""}.o_icon_quickview:before{content:"ï®"}.o_icon_radio_off:before{content:"ï„Œ"}.o_icon_radio_on:before{content:"ï"}.o_icon_rating_on:before,.o_rating .o_rating_items.o_enabled .o_icon:hover:before{content:""}.o_icon_rating_off:before{content:""}.o_icon_read:before{content:"ï„Œ"}.o_icon_readonly:before{content:"ï„";color:red}.o_icon_readwrite:before{content:"ï„"}.o_icon_recycle:before{content:""}.o_icon_rectangle:before{content:"ï‚–"}.o_icon_redo:before{content:""}.o_icon_refresh:before{content:""}.o_icon_reject:before{content:"ï€";color:#d9534f}.o_icon_rejected:before{content:"ï…¥"}.o_icon_reminder:before{content:""}.o_icon_remove:before{content:"ï€"}.o_icon_remove_filters:before{content:"ï—"}.o_icon_reopen:before{content:"ï„’"}.o_icon_replace:before{content:""}.o_icon_reply:before{content:"ï„’"}.o_icon_reply_with_quote:before{content:"ï„¢"}.o_icon_reset:before{content:"ïˆ"}.o_icon_response_feedback:before{content:""}.o_icon_restore:before{content:"ï…¤"}.o_icon_results_visible:before{content:"ï®"}.o_icon_results_hidden:before{content:"ï°"}.o_icon_reviewer:before{content:""}.o_icon_rss:before{content:"ï‚ž"}.o_icon_rss_unsubscribe:before{content:"ï‚ž";color:#996633}.o_icon_rubric:before{content:""}.o_icon_save:before{content:""}.o_icon_search:before{content:""}.o_icon_select:before{content:""}.o_icon_send:before{content:"ïƒ "}.o_icon_settings:before{content:"ï‚…"}.o_icon_share:before{content:"ï¤"}.o_icon_show_more:before{content:"ï…"}.o_icon_show_less:before{content:"ï…‘"}.o_icon_show_send:before{content:""}.o_icon_sign_out:before{content:"ï‚‹"}.o_icon_slide_down:before{content:"ï¸"}.o_icon_slide_up:before{content:"ï·"}.o_icon_spacer:before{content:"ï¾"}.o_icon_split:before{content:""}.o_icon_sort:before{content:""}.o_icon_sort_asc:before{content:""}.o_icon_sort_desc:before{content:"ïƒ"}.o_icon_sort_amount_asc:before{content:"ï… "}.o_icon_sort_amount_desc:before{content:"ï…¡"}.o_icon_sort_menu:before{content:"ï… "}.o_icon_start:before{content:"ï”"}.o_icon_status_available:before{content:"ï„‘";color:#063}.o_icon_status_chat:before{content:"ïµ"}.o_icon_status_dnd:before{content:"";color:#cc3}.o_icon_status_unavailable:before{content:"ïœ";color:#963}.o_icon_status_not_started:before{content:"ï„Œ"}.o_icon_status_in_progress:before{content:"ï‹"}.o_icon_status_in_review:before{content:""}.o_icon_status_done:before{content:"ï˜"}.o_icon_statistics_tool:before{content:"ï‚€"}.o_icon_submit:before{content:""}.o_icon_table:before{content:""}.o_icon_table_custom:before{content:""}.o_icon_table_large:before{content:""}.o_icon_tags:before{content:""}.o_icon_textinput:before{content:""}.o_icon_time:before{content:""}.o_icon_timelimit:before{content:""}.o_icon_timelimit_start:before{content:""}.o_icon_timelimit_half:before{content:""}.o_icon_timelimit_end:before{content:""}.o_icon_toggle:before{content:"ï„‘"}.o_icon_toggle_on:before{content:""}.o_icon_toggle_off:before{content:""}.o_icon_to_read:before{content:"ï„‘"}.o_icon_tool:before{content:""}.o_icon_tools:before{content:"ï‚"}.o_icon_top:before{content:"ï·"}.o_icon_translation_item:before{content:""}.o_icon_translation_package:before{content:"ï„•"}.o_icon_undo:before{content:""}.o_icon_user:before{content:""}.o_icon_user_vip:before{content:"ï†"}.o_icon_user_anonymous:before{content:""}.o_icon_upload:before{content:"ï‚“"}.o_icon_version:before{content:""}.o_icon_video:before{content:""}.o_icon_visitingcard.o_icon_waiting:before{content:""}.o_icon_warn:before{content:"ï±";color:#f0ad4e}.o_icon_wizard:before{content:"ïƒ"}.o_icon_xing:before{content:"ï…¨";color:#cfdc00}.o_BinderTemplate_icon:before{content:""}.o_CourseModule_icon:before,.o_course_icon:before{content:""}.o_EPStructuredMapTemplate_icon:before{content:"ï„®"}.o_FileResource-BLOG_icon:before{content:"ï‚¡"}.o_FileResource-IMSCP_icon:before{content:""}.o_FileResource-FORM_icon:before{content:""}.o_FileResource-PODCAST_icon:before{content:""}.o_FileResource-SHAREDFOLDER:before{content:"ï‚Ž"}.o_FileResource-SCORMCP_icon:before{content:""}.o_FileResource-SURVEY_icon:before{content:"ï„š"}.o_FileResource-TEST_icon:before{content:"ï„"}.o_FileResource-IMSQTI21_icon:before{content:"ï…‹"}.o_FileResource-WIKI_icon:before{content:""}.o_FileResource-SHAREDFOLDER_icon:before{content:"ï„•"}.o_FileResource-GLOSSARY_icon:before{content:"ï†"}.o_FileResource-PDF_icon:before{content:"ï‡"}.o_FileResource-XLS_icon:before{content:""}.o_FileResource-PPT_icon:before{content:""}.o_FileResource-DOC_icon:before{content:""}.o_FileResource-ANIM_icon:before{content:""}.o_FileResource-IMAGE_icon:before{content:""}.o_FileResource-SOUND_icon:before{content:""}.o_FileResource-MOVIE_icon:before{content:""}.o_FileResource-FILE_icon:before{content:""}.o_FileResource-VIDEO_icon:before{content:""}.o_CourseModule_icon_closed:before{content:"ïž"}.o_sp_icon:before{content:""}.o_st_icon:before{content:""}.o_tu_icon:before{content:"ï‚Ž"}.o_bc_icon:before{content:"ï„•"}.o_lti_icon:before{content:"ï‚Ž"}.o_cp_icon:before{content:""}.o_cp_item:before{content:""}.o_scorm_icon:before{content:""}.o_en_icon:before{content:"ï‚"}.o_fo_icon:before{content:""}.o_co_icon:before{content:""}.o_infomsg_icon:before{content:"ïš"}.o_cal_icon:before{content:"ï³"}.o_wiki_icon:before{content:""}.o_podcast_icon:before{content:""}.o_pf_icon:before{content:""}.o_blog_icon:before{content:"ï‚¡"}.o_ep_icon:before{content:""}.o_ep_icon_v1:before{content:"ï„®"}.o_iqtest_icon:before{content:"ï„"}.o_iqself_icon:before{content:"ï„"}.o_iqsurv_icon:before{content:"ï„š"}.o_survey_icon:before{content:"ï„š"}.o_qtiassessment_icon:before{content:"ï…‹"}.o_ta_icon:before{content:"ï‚®"}.o_gta_icon:before{content:"ï‚®"}.o_ms_icon:before{content:""}.o_dialog_icon:before{content:""}.o_projectbroker_icon:before{content:"ï„Œ"}.o_ll_icon:before{content:"ïƒ"}.o_den_icon:before{content:""}.o_cmembers_icon:before{content:""}.o_cl_icon:before{content:"ï†"}.o_vc_icon:before{content:""}.o_video_icon:before{content:""}.o_vitero_icon:before{content:""}.o_openmeetings_icon:before{content:""}.o_gotomeeting_icon:before{content:""}.o_card2brain_icon:before{content:"\E800";font-family:openolat;font-size:120%}.o_edubase_icon:before{content:"\E885";font-family:openolat}.o_portlet_infomsg_icon:before{content:"ïš"}.o_portlet_quickstart_icon:before{content:""}.o_portlet_bookmark_icon:before{content:""}.o_portlet_groups_icon:before{content:""}.o_portlet_notes_icon:before{content:""}.o_portlet_noti_icon:before{content:"ï‚ž"}.o_portlet_eff_icon:before{content:"ï‚£"}.o_portlet_repository_student_icon:before{content:""}.o_portlet_repository_teacher_icon:before{content:"ï†"}.o_portlet_iframe_icon:before{content:""}.o_portlet_sysinfo_icon:before{content:""}.o_portlet_dyk_icon:before{content:""}.o_portlet_infomessages_icon:before{content:""}.o_portlet_cal_icon:before{content:"ï³"}.o_portlet_institutions_icon:before{content:""}.o_portlet_links_icon:before{content:"ïƒ"}.o_portlet_shibboleth_icon:before{content:"ï‚"}.o_icon_qpool:before{content:""}.o_icon_pool_private:before{content:"ï‚–"}.o_icon_pool_public:before{content:"ï†"}.o_icon_pool_my_items:before{content:""}.o_icon_pool_favorits:before{content:""}.o_icon_pool_collection:before{content:""}.o_icon_pool_pool:before{content:""}.o_icon_pool_share:before{content:""}.o_icon_qitem_commands:before{content:"ï‚…"}.o_icon_qitem_convert:before{content:""}.o_icon_qitem_copy:before{content:""}.o_icon_qitem_delete:before{content:""}.o_icon_qitem_draft:before{content:"ï€"}.o_icon_qitem_endOfLife:before{content:""}.o_icon_qitem_finalVersion:before{content:""}.o_icon_qitem_export:before{content:""}.o_icon_qitem_hide_metadata:before{content:""}.o_icon_qitem_import:before{content:"ï‚“"}.o_icon_qitem_new:before{content:"ï•"}.o_icon_qitem_review:before{content:""}.o_icon_qitem_revised:before{content:""}.o_icon_qitem_share:before{content:"ï¤"}.o_icon_qitem_show_metadata:before{content:""}.o_icon_qitem_status:before{content:"ï¡"}.o_forum_message_icon:before{content:""}.o_calendar_icon:before{content:"ï³"}.o_icon_pf_section_draft:before{content:"ï°";color:#f0ad4e}.o_icon_pf_section_progress:before{content:"";color:#f0ad4e}.o_icon_pf_section_submitted:before{content:"";color:#337ab7}.o_icon_pf_section_closed:before{content:"";color:#5cb85c}.o_icon_pf_binder:before{content:""}.o_icon_pf_entry:before{content:"ï…›"}.o_icon_pf_entry_draft:before{content:"ï„‘";color:#f0ad4e}.o_icon_pf_entry_published:before{content:"ï„‘";color:#337ab7}.o_icon_pf_entry_revision:before{content:"ï„‘";color:#d9534f}.o_icon_pf_entry_closed:before{content:"ï„‘";color:#5cb85c}.o_icon_pf_entry_deleted:before{content:"";color:#000}.o_icon_pf_history:before{content:""}.o_icon_pf_my_shares:before{content:"ï‡ "}.o_icon_pf_quick_links:before{content:"ï¤"}.o_icon_pf_page:before{content:""}.o_icon_pf_section:before{content:""}.o_icon_pf_shared_with_me:before{content:""}.o_forum_status_thread_icon:before{content:""}.o_forum_status_sticky_closed_icon:before{content:"ïž"}.o_forum_status_sticky_icon:before{content:""}.o_forum_status_closed_icon:before{content:"ïž";color:#a94442}.o_forum_status_opened_icon:before{content:"ïž";color:#3c763d}.o_forum_status_hidden_icon:before{content:"ï°";color:#a94442}.o_forum_status_visible_icon:before{content:"ï®";color:#3c763d}.o_forum_all_icon:before{content:""}.o_forum_all_flat_icon:before{content:""}.o_forum_one_icon:before{content:"ï®"}.o_forum_marked_icon:before{content:""}.o_forum_new_icon:before{content:"ï©"}.o_mi_qpool_import:before{content:""}.o_mi_qtidrawing:before{content:""}.o_mi_qtisection:before{content:""}.o_mi_qtisc:before{content:""}.o_mi_qtimatch:before{content:""}.o_mi_qtimatch_draganddrop:before{content:"ï‰"}.o_mi_qtimatch_truefalse:before{content:""}.o_mi_qtimc:before{content:"ï†"}.o_mi_qtikprim:before{content:"ï…Š"}.o_mi_qtifib:before{content:"ï…"}.o_mi_qtinumerical:before{content:""}.o_mi_qtihotspot:before{content:""}.o_mi_qtihottext:before{content:"ï"}.o_mi_qtiessay:before{content:""}.o_mi_qtiunkown:before{content:""}.o_mi_qtiupload:before{content:"ï‚“"}.o_as_mode_leadtime:before{content:""}.o_as_mode_assessment:before{content:"ï‹"}.o_as_mode_followup:before{content:"ïž"}.o_as_mode_closed:before{content:'-'}.o_icon_qti_notPresented:before{content:"";color:#ddd}.o_icon_qti_notAnswered:before{content:"ï…„";color:#f0ad4e}.o_icon_qti_answered:before{content:"ï˜";color:#5cb85c}.o_icon_qti_ended:before{content:"ïž";color:#5bc0de}.o_icon_qti_invalid:before{content:"ïª";color:#d9534f}.o_icon_qti_review:before{content:"ï®";color:#5bc0de}.o_icon_qti_reviewNotSeen:before,.o_icon_qti_reviewNotAnswered:before,.o_icon_qti_reviewInvalid:before{content:"ï°";color:#5bc0de}.o_icon_qti_end_testpart:before{content:""}.o_icon_qti_close_test:before{content:"ï‹“"}.o_icon_qti_cancel:before{content:"ï"}.o_icon_qti_suspend:before{content:"ïŒ"}.o_icon_qti_close_results:before{content:"ï‹“"}.o_icon_qti_hint:before{content:"ï™"}.o_icon_qti_summary_notAnswered:before{content:"ï„‘";color:#f0ad4e}.o_icon_qti_summary_ended:before{content:"ï—";color:#d9534f}.o_icon_qti_summary_correct:before{content:"ï˜";color:#5cb85c}.o_lectures_current:before{content:"ï„‘";color:#f0ad4e}.o_lectures_next:before{content:""}.o_lectures_pending:before{content:"ï„‘";color:#d9534f}.o_lectures_closed:before{content:"ï„‘"}.o_lectures_rollcall_ok:before{content:"ï„‘";color:#5cb85c}.o_lectures_rollcall_warning:before{content:"ï‚";color:#f0ad4e}.o_lectures_rollcall_danger:before{content:"ï„Œ";color:#d9534f}.o_lectures_rollcall_free:before{content:"ï„‘";color:#969696}.o_lectures_attended:before{content:"ï„‘";color:#5cb85c}.o_lectures_authorized:before{content:"ï„‘";color:#f0ad4e}.o_lectures_absent:before{content:"ï„‘";color:#d9534f}.o_icon_taxonomy:before{content:""}.o_icon_taxonomy_level:before{content:""}.o_icon_taxonomy_level_leaf:before{content:"ï„•"}.o_icon_taxonomy_templates:before{content:""}.o_icon_taxonomy_levels:before{content:""}.o_black_led:before{content:"ï„‘";color:#337ab7}.o_green_led:before{content:"ï„‘";color:#5cb85c}.o_yellow_led:before{content:"ï„‘";color:#f0ad4e}.o_red_led:before{content:"ï„‘";color:#d9534f}.o_ac_token_icon:before{content:"ï‚„"}.o_ac_free_icon:before{content:"ï«"}.o_ac_group_icon:before{content:""}.o_ac_membersonly_icon:before{content:""}.o_ac_paypal_icon:before{content:""}.o_ac_status_canceled_icon:before{content:"ï¨";color:#f0ad4e}.o_ac_status_error_icon:before{content:"ï€";color:#d9534f}.o_ac_status_new_icon:before{content:"ï©";color:#337ab7}.o_ac_status_success_icon:before{content:"";color:#5cb85c}.o_ac_status_waiting_icon:before{content:"";color:#337ab7}.o_ac_order_status_new_icon:before{content:"ï©";color:#337ab7}.o_ac_order_status_prepayment_icon:before{content:"";color:#5bc0de}.o_ac_order_status_payed_icon:before{content:"";color:#5cb85c}.o_ac_order_status_canceled_icon:before{content:"ï¨";color:#f0ad4e}.o_ac_order_status_error_icon:before{content:"ï€";color:#d9534f}.o_ac_order_status_warning_icon:before{content:"";color:#f0ad4e}.o_scorm_org:before{content:""}.o_scorm_item:before{content:""}.o_scorm_completed:before,.o_scorm_passed:before{content:"ï˜"}.o_scorm_failed:before{content:"ï±"}.o_scorm_incomplete:before{content:"ï±"}.o_scorm_not_attempted:before{background:none}.o_midpub:before{content:"ï˜"}.o_midwarn:before{content:"ï±"}.o_midlock:before{content:""}.o_miderr:before{content:"ïª"}.o_middel:before{content:"ï„"}.o_filetype_file:before,.o_filetype_ico:before{content:""}.o_filetype_folder:before{content:"ï„”"}.o_filetype_folder_open:before{content:"ï„•"}.o_filetype_zip:before,.o_filetype_gz:before,.o_filetype_tar:before,.o_filetype_tgz:before{content:""}.o_filetype_css:before,.o_filetype_js:before,.o_filetype_java:before,.o_filetype_numbers:before,.o_filetype_ods:before,.o_filetype_xml:before,.o_filetype_xsl:before{content:""}.o_filetype_bat_icon:before,.o_filetype_bat:before,.o_filetype_exe:before,.o_filetype_app:before,.o_filetype_sh:before{content:""}.o_filetype_xls:before,.o_filetype_xlsx:before{content:""}.o_filetype_png:before,.o_filetype_tiff:before,.o_filetype_webp:before,.o_filetype_gif:before,.o_filetype_ico:before,.o_filetype_jpeg:before,.o_filetype_bmp:before,.o_filetype_odg:before,.o_filetype_eps:before,.o_filetype_jpg:before{content:""}.o_filetype_psd:before,.o_filetype_avi:before,.o_filetype_dvi:before,.o_filetype_mp4:before,.o_filetype_m4v:before,.o_filetype_webm:before,.o_filetype_ogg:before,.o_filetype_video:before,.o_filetype_mov:before,.o_filetype_mpeg:before,.o_filetype_mpg:before,.o_filetype_qt:before,.o_filetype_ra:before,.o_filetype_ram:before,.o_filetype_swf:before,.o_filetype_flv:before{content:""}.o_filetype_midi:before,.o_filetype_audio:before,.o_filetype_mp3:before,.o_filetype_m3u:before,.o_filetype_wav:before{content:""}.o_filetype_ps:before,.o_filetype_pdf:before{content:"ï‡"}.o_filetype_key:before,.o_filetype_odp:before,.o_filetype_ppt:before,.o_filetype_pptx:before{content:""}.o_filetype_odf:before,.o_filetype_rtf:before,.o_filetype_readme:before,.o_filetype_README:before,.o_filetype_log:before,.o_filetype_txt:before,.o_filetype_htm:before,.o_filetype_html:before{content:""}.o_filetype_odt:before,.o_filetype_pages:before,.o_filetype_doc:before,.o_filetype_docx:before{content:""}.o_icon_share_social:before{content:"ï…"}.o_icon_apple:before{content:"ï…¹"}.o_icon_facebook:before{content:"ï‚‚"}.o_icon_twitter:before{content:"ï‚"}.o_icon_google:before{content:""}.o_icon_delicious:before{content:""}.o_icon_digg:before{content:""}.o_icon_mailto:before{content:""}.o_icon_link:before{content:"ïƒ"}.o_icon_yahoo:before{content:""}.o_icon_eva_disclaimer:before{content:""}.o_icon_eva_general_info:before{content:"ï„©"}.o_icon_eva_mc:before{content:"ï†"}.o_icon_eva_sc:before{content:""}.o_icon_surv_commands:before{content:""}.o_icon_surv_delete_all_data:before{content:""}.o_icon_lic_add:before{content:"ï•"}.o_icon_lic_public_domain:before{content:"\E810";font-family:openolat;font-size:120%}.o_icon_lic_cc0:before{content:"\E811";font-family:openolat;font-size:120%}.o_icon_lic_by:before{content:"\E812";font-family:openolat;font-size:120%}.o_icon_lic_by_sa:before{content:"\E813";font-family:openolat;font-size:120%}.o_icon_lic_by_nd:before{content:"\E814";font-family:openolat;font-size:120%}.o_icon_lic_by_nc:before{content:"\E815";font-family:openolat;font-size:120%}.o_icon_lic_by_nc_sa:before{content:"\E817";font-family:openolat;font-size:120%}.o_icon_lic_by_nc_nd:before{content:"\E819";font-family:openolat;font-size:120%}.o_icon_lic_all_rights_reserved:before{content:""}.o_icon_lic_freetext:before{content:""}.o_icon_lic_general:before{content:""}a.o_icon:hover,a.o_icon:focus{text-decoration:none}img.o_emoticons_angel{background:url(../light/images/emoticons/smiley-angel.png);width:16px;height:16px}img.o_emoticons_angry{background:url(../light/images/emoticons/smiley-mad.png);width:16px;height:16px}img.o_emoticons_blushing{background:url(../light/images/emoticons/smiley-red.png);width:16px;height:16px}img.o_emoticons_confused{background:url(../light/images/emoticons/smiley-confuse.png);width:16px;height:16px}img.o_emoticons_cool{background:url(../light/images/emoticons/smiley-cool.png);width:16px;height:16px}img.o_emoticons_cry{background:url(../light/images/emoticons/smiley-cry.png);width:16px;height:16px}img.o_emoticons_devil{background:url(../light/images/emoticons/smiley-evil.png);width:16px;height:16px}img.o_emoticons_grin{background:url(../light/images/emoticons/smiley-grin.png);width:16px;height:16px}img.o_emoticons_kiss{background:url(../light/images/emoticons/smiley-kiss.png);width:16px;height:16px}img.o_emoticons_ohoh{background:url(../light/images/emoticons/smiley-eek.png);width:16px;height:16px}img.o_emoticons_sad{background:url(../light/images/emoticons/smiley-sad.png);width:16px;height:16px}img.o_emoticons_sick{background:url(../light/images/emoticons/smiley-sad-blue.png);width:16px;height:16px}img.o_emoticons_smile{background:url(../light/images/emoticons/smiley.png);width:16px;height:16px}img.o_emoticons_tongue{background:url(../light/images/emoticons/smiley-razz.png);width:16px;height:16px}img.o_emoticons_ugly{background:url(../light/images/emoticons/smiley-money.png);width:16px;height:16px}img.o_emoticons_weird{background:url(../light/images/emoticons/smiley-nerd.png);width:16px;height:16px}img.o_emoticons_wink{background:url(../light/images/emoticons/smiley-wink.png);width:16px;height:16px}img.o_emoticons_worried{background:url(../light/images/emoticons/smiley-roll-blue.png);width:16px;height:16px}img.o_emoticons_up{background:url(../light/images/emoticons/thumb-up.png);width:16px;height:16px}img.o_emoticons_down{background:url(../light/images/emoticons/thumb.png);width:16px;height:16px}.o_block_bottom,.o_block,.o_button_group,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry,.o_header_with_buttons,.o_search_result{margin-bottom:1em}.o_block_top,.o_block,.o_button_group,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry{margin-top:1em}.o_block_small_bottom,.o_block_small{margin-bottom:0.5em}.o_block_small_top,.o_block_small{margin-top:0.5em}.o_block_large_bottom,.o_block_large,.o_block_with_datecomp,.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file,.o_pf_content .o_forum,.o_pf_content .o_image,.o_pf_content .o_video,.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_wiki,.o_login .o_login_footer_wrapper,.o_portlet{margin-bottom:2em}.o_block_large_top,.o_block_large,.o_block_with_datecomp,.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file,.o_pf_content .o_forum,.o_pf_content .o_image,.o_pf_content .o_video,.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_wiki,.o_login .o_login_footer_wrapper,.o_portlet{margin-top:2em}.o_block_inline,.o_block_inline_left,.o_block_inline_both,.o_block_inline_right{display:inline-block}.o_block_inline_left,.o_block_inline_both{margin-left:0.5em}.o_block_inline_right,.o_block_inline_both{margin-right:0.5em}.o_block_centered_wrapper{display:table;width:100%;height:100%}.o_block_centered_content{display:table-cell;vertical-align:middle;text-align:center}.o_block_imagebg{background-repeat:no-repeat;background-position:center;background-size:cover}.o_block_imagebg span{padding:2px;background-color:rgba(255,255,255,0.8)}.o_block_imagebg h1,.o_block_imagebg h2,.o_block_imagebg h3,.o_block_imagebg h4,.o_block_imagebg .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_block_imagebg h2,.o_block_imagebg h5,.o_block_imagebg p{padding:2px;background-color:rgba(255,255,255,0.8);display:inline-block}.o_block_imagebg h1:after,.o_block_imagebg h2:after,.o_block_imagebg h3:after,.o_block_imagebg h4:after,.o_block_imagebg .o_cal .fc-header-title h2:after,.o_cal .fc-header-title .o_block_imagebg h2:after,.o_block_imagebg h5:after,.o_block_imagebg p:after{content:' ';display:block}.o_scrollblock,div.b_scrollblock{overflow-x:auto;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.o_button_group{text-align:center}.o_button_group a,.o_button_group input,.o_button_group button,.o_button_group .btn-group{margin-right:5px;margin-bottom:0.5em}.o_button_group a:last-child,.o_button_group input:last-child,.o_button_group button:last-child,.o_button_group .btn-group:last-child{margin-right:0}.o_button_group .btn-group a,.o_button_group .btn-group input,.o_button_group .btn-group button{margin-right:0;margin-bottom:0}.o_button_group .dropdown-menu{text-align:left}.o_button_group_left{text-align:left}.o_button_group_right{text-align:right}.o_button_group_top{margin-top:0}.o_header_with_buttons:before,.o_header_with_buttons:after{content:" ";display:table}.o_header_with_buttons:after{clear:both}.o_header_with_buttons h1,.o_header_with_buttons h2,.o_header_with_buttons h3,.o_header_with_buttons h4,.o_header_with_buttons .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_header_with_buttons h2,.o_header_with_buttons h5,.o_header_with_buttons h6{display:inline-block}.o_header_with_buttons .o_button_group{margin-bottom:0;float:right}.o_header_with_buttons h1+.o_button_group{margin-top:28px}.o_header_with_buttons h2+.o_button_group{margin-top:24px}.o_header_with_buttons h3+.o_button_group{margin-top:20px}.o_header_with_buttons h4+.o_button_group,.o_header_with_buttons .o_cal .fc-header-title h2+.o_button_group,.o_cal .fc-header-title .o_header_with_buttons h2+.o_button_group{margin-top:10px}.o_header_with_buttons h5+.o_button_group{margin-top:6.6666666667px}.o_header_with_buttons h6+.o_button_group{margin-top:5px}#o_main_center .o_header_with_buttons h2+.o_button_group{margin-top:0}.panel-heading.o_header_with_buttons{margin-bottom:0}.o_button_textstyle:before{content:'['}.o_button_textstyle:after{content:']'}.panel-imagebg{background-repeat:no-repeat;background-position:center;background-size:cover}.panel-imagebg.panel-default>.panel-heading{background-color:rgba(255,255,255,0.8);border-bottom:transparent}.panel-imagebg .panel-body span{padding:2px;background-color:rgba(255,255,255,0.8)}.panel-placeholder{border-width:2px;border-style:dashed;border-color:#78acd9;border-radius:10px}.panel-placeholder .panel-body{padding:10px}.panel-placeholder .panel-body:nth-child(n+2){border-top:none}.panel-placeholder .panel-body h3:nth-child(1),.panel-placeholder .panel-body h4:nth-child(1),.panel-placeholder .panel-body .o_cal .fc-header-title h2:nth-child(1),.o_cal .fc-header-title .panel-placeholder .panel-body h2:nth-child(1),.panel-placeholder .panel-body h5:nth-child(1){margin-top:0}.panel-placeholder .panel-body .o_button_group{margin-bottom:0}.panel-placeholder .panel-heading{border-top-right-radius:8px;border-top-left-radius:8px;border-width:2px;border-style:dashed;border-color:#78acd9;border-top:none;border-left:none;border-right:none;color:#337ab7;font-weight:bold}.panel-placeholder .panel-footer{border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-width:2px;border-style:dashed;border-color:#78acd9;border-bottom:none;border-left:none;border-right:none}.o_xsmall,.b_xsmall,p.b_xsmall,div.b_xsmall{font-size:12px}.o_small,.b_small,p.b_small,div.b_small,.o_comments .o_comment_wrapper h5,.o_comments .o_comment_wrapper .o_comment,.o_bc_meta,.tooltip,.o_htmleditor .o_metadata .o_lastmodified,.o_noti,.o_block_with_datecomp .o_meta,.o_togglebox_wrapper div.o_togglebox_content .o_hide,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_state,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_label,.o_course_run .o_toc .o_entry,.o_assessment_test_results .o_qti_to_overview{font-size:12px}.o_large,.b_large,p.b_large,div.b_large{font-size:18px}.o_xlarge,.b_xlarge,p.b_xlarge,div.b_xlarge{font-size:18px}.o_disabled,.b_disabled,p.b_disabled,div.b_disabled{color:#777 !important;cursor:default}.o_disabled:hover,.b_disabled:hover{color:#777 !important}.o_dimmed,.b_dimmed,p.b_dimmed,div.b_dimmed{opacity:.4;filter:alpha(opacity=40)}.o_selected,.b_selected,p.b_selected,div.b_selected{font-weight:bold}.o_deleted,.b_deleted,p.b_deleted,div.b_deleted{text-decoration:line-through}.o_highlight_on_hover:hover{background-color:#f5f5f5}.o_clickable{cursor:pointer}.o_ochre{color:#c8a959}.o_blue{color:#12223F}.o_undecorated:hover,.o_undecorated:focus,.o_disabled:hover,.b_disabled:hover,#o_main_wrapper #o_toplink:hover,#o_footer_powered a:hover,#o_share a:hover,#o_share_social_container a:hover,.o_toolbar .o_tools_container a:hover,.o_button_toggle:hover,.o_im_message_group .o_im_from:hover,.o_noti .o_label:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:hover,.o_catalog .o_level .o_meta .o_title a:hover,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:hover,.o_repo_details .o_social .o_comments:hover,.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a:hover,.o_login .o_login_register:hover,.o_disabled:focus,.b_disabled:focus,#o_main_wrapper #o_toplink:focus,#o_footer_powered a:focus,#o_share a:focus,#o_share_social_container a:focus,.o_toolbar .o_tools_container a:focus,.o_button_toggle:focus,.o_im_message_group .o_im_from:focus,.o_noti .o_label:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:focus,.o_catalog .o_level .o_meta .o_title a:focus,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:focus,.o_repo_details .o_social .o_comments:focus,.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a:focus,.o_login .o_login_register:focus{text-decoration:none}.o_copy_code,.b_copy_code,p.b_copy_code,div.b_copy_code,code,pre{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}.o_copy_code input,.o_copy_code textarea,.b_copy_code input,code input,pre input,.b_copy_code textarea,code textarea,pre textarea{border:0;width:90%;background:transparent}.o_nowrap,.b_copy_code,p.b_copy_code,div.b_copy_code,code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o_titled_wrapper .o_content{margin-top:20px}.o_video,.o_video video,.b_video,.o_video_wrapper{display:inline-block;max-width:100%;height:auto;max-width:100%}.o_image,.o_image img,img,.b_image{display:inline-block;max-width:100%;height:auto;max-width:100%}.o_figure_caption_bottom{display:inline-block;min-width:50%}.o_figure_caption_bottom figure{display:table}.o_figure_caption_bottom figcaption{display:table-caption;caption-side:bottom;font-size:90%;font-style:italic;text-align:center}.o_image_vertical_center_helper{display:inline-block;height:100%;vertical-align:middle}.o_image_vertical_center_helper+.o_image img{vertical-align:middle}.o_with_hyphens{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.o_page_margins{padding:25px}h1{color:#337ab7}h2{color:#337ab7}h3{color:#337ab7}h4,.o_cal .fc-header-title h2{color:#337ab7}h5{color:#337ab7}h5{color:#337ab7}fieldset legend{color:#333}.o_user_content_block a{color:#337ab7;text-decoration:none}.o_user_content_block a:hover,.o_user_content_block a:focus{color:#23527c;text-decoration:underline}.b_border_box,p.b_border_box,div.b_border_box{border:1px solid #777;padding:1em;border-top-right-radius:3px;border-top-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}table td{vertical-align:top}table.b_grid{width:99.5%;background:transparent;border-collapse:separate}table.b_grid td,table.b_grid th{padding:1px 5px;border:1px solid #777}table.b_grid thead td,table.b_grid th{background:#eee;font-weight:bold}table.b_border{width:99.5%;background:transparent;border-collapse:collapse}table.b_border td,table.b_border th{padding:1px 5px;border:1px solid #777}table.b_border thead td,table.b_border th{background:#eee;font-weight:bold}table.b_borderless{width:99.5%;background:transparent;border-collapse:separate}table.b_borderless td,table.b_borderless th{padding:1px 5px;border:0}table.b_borderless thead td,table.b_borderless th{font-weight:bold}table.b_full{width:99.5%}table.b_middle{background:transparent}table.b_middle td{vertical-align:middle}table.b_gray{border-collapse:collapse}table.b_gray td,table.b_gray th{padding:1px 5px;background:#eee;border:1px solid #fff}table.b_gray thead td,table.b_gray th{background:#d5d5d5;font-weight:bold}table.b_blue{border-collapse:collapse}table.b_blue td,table.b_blue th{padding:1px 5px;background:#d9edf7;border:1px solid #fff}table.b_blue thead td,table.b_blue th{background:#afd9ee;font-weight:bold}table.b_green{border-collapse:collapse}table.b_green td,table.b_green th{padding:1px 5px;background:#dff0d8;border:1px solid #fff}table.b_green thead td,table.b_green th{background:#c1e2b3;font-weight:bold}table.b_yellow{border-collapse:collapse}table.b_yellow td,table.b_yellow th{padding:1px 5px;background:#fcf8e3;border:1px solid #fff}table.b_yellow thead td,table.b_yellow th{background:#f7ecb5;font-weight:bold}table.b_red{border-collapse:collapse}table.b_red td,table.b_red th{padding:1px 5px;background:#f2dede;border:1px solid #fff}table.b_red thead td,table.b_red th{background:#e4b9b9;font-weight:bold}.b_align_normal{text-align:left}.b_align_center{text-align:center}.b_align_inverse{text-align:right}.b_align_justified{text-align:justify}a.b_link_extern{color:#337ab7}a.b_link_extern:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:"ï‚Ž"}a.b_link_mailto{color:#337ab7}a.b_link_mailto:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:""}a.b_link_forward{color:#337ab7}a.b_link_forward:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:"ï¤"}img.b_float_left{float:left;margin:0 2em 2em 0}img.b_float_left_clear{clear:both;margin:0 2em 2em 0;display:block}img.b_float_right{float:right;margin:0 0 2em 2em}img.b_float_right_clear{clear:both;display:block;margin:0 0 2em auto}img.b_float_left_clear_nomargin{float:left;display:block;margin:0 0 0 0}img.b_centered{clear:both;display:block;margin:0 auto 2em auto}img.b_circle{border-radius:50%}img.b_with_border{border:1px solid #ddd;padding:3px;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}p.b_figure_title{margin:20px 0 5px 0;font-size:85%;font-family:inherit}p.b_figure_caption{clear:both;margin:5px 0 20px 0;font-size:85%;font-family:inherit}.b_clear_float,p.b_clear_float,div.b_clear_float{clear:both}figure.align-left{float:left}figure.align-right{float:right}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}img.align-left{float:left}img.align-right{float:right}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}figure.image.align-center{display:block;text-align:center}figure.image.align-left{float:none;display:block;text-align:left}figure.image.align-left figcaption{text-align:left}figure.image.align-right{float:none;display:block;text-align:right}figure.image.align-right figcaption{text-align:right}figure.image{margin:2em 0 2em 0;border:0;background:none}figure.image img.b_float_left,figure.image img.b_float_left_clear,figure.image img.b_float_right,figure.image img.b_float_right_clear,figure.image img.b_float_left_clear_nomargin,figure.image img.b_centered{float:none;display:inline-block;margin:0}figure.image figcaption{font-size:90%;font-style:italic}.radial-progress{margin:10px;width:120px;height:120px;background-color:#eee;border-radius:50%;display:inline-block;position:relative}.radial-progress .circle .mask,.radial-progress .circle .fill,.radial-progress .circle .shadow{width:100%;height:100%;position:absolute;border-radius:50%}.radial-progress .circle .shadow{box-shadow:none inset}.radial-progress .circle .mask,.radial-progress .circle .fill{-webkit-backface-visibility:hidden;transition:-webkit-transform 1s;transition:-ms-transform 1s;transition:transform 1s;border-radius:50%}.radial-progress .circle .mask{clip:rect(0px, 120px, 120px, 60px)}.radial-progress .circle .mask .fill{clip:rect(0px, 60px, 120px, 0px);background-color:#337ab7}.radial-progress .inset{width:90px;height:90px;position:absolute;border-radius:50%;margin-left:15px;margin-top:15px;overflow:hidden;background-color:#fff;box-shadow:none;font-size:21.6px}.radial-progress .inset .bgIcon{position:absolute;font-size:80px;top:5px;left:-5px;opacity:0;transition:opacity 0;transition-delay:1s}.radial-progress .inset .percentage{height:80%;width:80%;position:absolute;top:10%;left:10%;display:table;line-height:1}.radial-progress .inset .percentage .centeredWrapper{display:table-cell;vertical-align:middle;text-align:center}.radial-progress .inset .percentage .centeredWrapper .number{font-weight:800;color:#337ab7}.radial-progress .inset .percentage .centeredWrapper .addon{color:#777;margin-top:5px}.radial-progress .inset .percentage .centeredWrapper .addon div:nth-of-type(1){font-size:0.55em;font-weight:bold}.radial-progress .inset .percentage .centeredWrapper .addon div:nth-of-type(2){margin-top:2px;font-size:0.45em}.radial-progress[data-progress="0"] .circle .mask.full,.radial-progress[data-progress="0"] .circle .fill{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.radial-progress[data-progress="0"] .circle .fill.fix{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.radial-progress[data-progress="1"] .circle .mask.full,.radial-progress[data-progress="1"] .circle .fill{-webkit-transform:rotate(1.8deg);-ms-transform:rotate(1.8deg);transform:rotate(1.8deg)}.radial-progress[data-progress="1"] .circle .fill.fix{-webkit-transform:rotate(3.6deg);-ms-transform:rotate(3.6deg);transform:rotate(3.6deg)}.radial-progress[data-progress="2"] .circle .mask.full,.radial-progress[data-progress="2"] .circle .fill{-webkit-transform:rotate(3.6deg);-ms-transform:rotate(3.6deg);transform:rotate(3.6deg)}.radial-progress[data-progress="2"] .circle .fill.fix{-webkit-transform:rotate(7.2deg);-ms-transform:rotate(7.2deg);transform:rotate(7.2deg)}.radial-progress[data-progress="3"] .circle .mask.full,.radial-progress[data-progress="3"] .circle .fill{-webkit-transform:rotate(5.4deg);-ms-transform:rotate(5.4deg);transform:rotate(5.4deg)}.radial-progress[data-progress="3"] .circle .fill.fix{-webkit-transform:rotate(10.8deg);-ms-transform:rotate(10.8deg);transform:rotate(10.8deg)}.radial-progress[data-progress="4"] .circle .mask.full,.radial-progress[data-progress="4"] .circle .fill{-webkit-transform:rotate(7.2deg);-ms-transform:rotate(7.2deg);transform:rotate(7.2deg)}.radial-progress[data-progress="4"] .circle .fill.fix{-webkit-transform:rotate(14.4deg);-ms-transform:rotate(14.4deg);transform:rotate(14.4deg)}.radial-progress[data-progress="5"] .circle .mask.full,.radial-progress[data-progress="5"] .circle .fill{-webkit-transform:rotate(9deg);-ms-transform:rotate(9deg);transform:rotate(9deg)}.radial-progress[data-progress="5"] .circle .fill.fix{-webkit-transform:rotate(18deg);-ms-transform:rotate(18deg);transform:rotate(18deg)}.radial-progress[data-progress="6"] .circle .mask.full,.radial-progress[data-progress="6"] .circle .fill{-webkit-transform:rotate(10.8deg);-ms-transform:rotate(10.8deg);transform:rotate(10.8deg)}.radial-progress[data-progress="6"] .circle .fill.fix{-webkit-transform:rotate(21.6deg);-ms-transform:rotate(21.6deg);transform:rotate(21.6deg)}.radial-progress[data-progress="7"] .circle .mask.full,.radial-progress[data-progress="7"] .circle .fill{-webkit-transform:rotate(12.6deg);-ms-transform:rotate(12.6deg);transform:rotate(12.6deg)}.radial-progress[data-progress="7"] .circle .fill.fix{-webkit-transform:rotate(25.2deg);-ms-transform:rotate(25.2deg);transform:rotate(25.2deg)}.radial-progress[data-progress="8"] .circle .mask.full,.radial-progress[data-progress="8"] .circle .fill{-webkit-transform:rotate(14.4deg);-ms-transform:rotate(14.4deg);transform:rotate(14.4deg)}.radial-progress[data-progress="8"] .circle .fill.fix{-webkit-transform:rotate(28.8deg);-ms-transform:rotate(28.8deg);transform:rotate(28.8deg)}.radial-progress[data-progress="9"] .circle .mask.full,.radial-progress[data-progress="9"] .circle .fill{-webkit-transform:rotate(16.2deg);-ms-transform:rotate(16.2deg);transform:rotate(16.2deg)}.radial-progress[data-progress="9"] .circle .fill.fix{-webkit-transform:rotate(32.4deg);-ms-transform:rotate(32.4deg);transform:rotate(32.4deg)}.radial-progress[data-progress="10"] .circle .mask.full,.radial-progress[data-progress="10"] .circle .fill{-webkit-transform:rotate(18deg);-ms-transform:rotate(18deg);transform:rotate(18deg)}.radial-progress[data-progress="10"] .circle .fill.fix{-webkit-transform:rotate(36deg);-ms-transform:rotate(36deg);transform:rotate(36deg)}.radial-progress[data-progress="11"] .circle .mask.full,.radial-progress[data-progress="11"] .circle .fill{-webkit-transform:rotate(19.8deg);-ms-transform:rotate(19.8deg);transform:rotate(19.8deg)}.radial-progress[data-progress="11"] .circle .fill.fix{-webkit-transform:rotate(39.6deg);-ms-transform:rotate(39.6deg);transform:rotate(39.6deg)}.radial-progress[data-progress="12"] .circle .mask.full,.radial-progress[data-progress="12"] .circle .fill{-webkit-transform:rotate(21.6deg);-ms-transform:rotate(21.6deg);transform:rotate(21.6deg)}.radial-progress[data-progress="12"] .circle .fill.fix{-webkit-transform:rotate(43.2deg);-ms-transform:rotate(43.2deg);transform:rotate(43.2deg)}.radial-progress[data-progress="13"] .circle .mask.full,.radial-progress[data-progress="13"] .circle .fill{-webkit-transform:rotate(23.4deg);-ms-transform:rotate(23.4deg);transform:rotate(23.4deg)}.radial-progress[data-progress="13"] .circle .fill.fix{-webkit-transform:rotate(46.8deg);-ms-transform:rotate(46.8deg);transform:rotate(46.8deg)}.radial-progress[data-progress="14"] .circle .mask.full,.radial-progress[data-progress="14"] .circle .fill{-webkit-transform:rotate(25.2deg);-ms-transform:rotate(25.2deg);transform:rotate(25.2deg)}.radial-progress[data-progress="14"] .circle .fill.fix{-webkit-transform:rotate(50.4deg);-ms-transform:rotate(50.4deg);transform:rotate(50.4deg)}.radial-progress[data-progress="15"] .circle .mask.full,.radial-progress[data-progress="15"] .circle .fill{-webkit-transform:rotate(27deg);-ms-transform:rotate(27deg);transform:rotate(27deg)}.radial-progress[data-progress="15"] .circle .fill.fix{-webkit-transform:rotate(54deg);-ms-transform:rotate(54deg);transform:rotate(54deg)}.radial-progress[data-progress="16"] .circle .mask.full,.radial-progress[data-progress="16"] .circle .fill{-webkit-transform:rotate(28.8deg);-ms-transform:rotate(28.8deg);transform:rotate(28.8deg)}.radial-progress[data-progress="16"] .circle .fill.fix{-webkit-transform:rotate(57.6deg);-ms-transform:rotate(57.6deg);transform:rotate(57.6deg)}.radial-progress[data-progress="17"] .circle .mask.full,.radial-progress[data-progress="17"] .circle .fill{-webkit-transform:rotate(30.6deg);-ms-transform:rotate(30.6deg);transform:rotate(30.6deg)}.radial-progress[data-progress="17"] .circle .fill.fix{-webkit-transform:rotate(61.2deg);-ms-transform:rotate(61.2deg);transform:rotate(61.2deg)}.radial-progress[data-progress="18"] .circle .mask.full,.radial-progress[data-progress="18"] .circle .fill{-webkit-transform:rotate(32.4deg);-ms-transform:rotate(32.4deg);transform:rotate(32.4deg)}.radial-progress[data-progress="18"] .circle .fill.fix{-webkit-transform:rotate(64.8deg);-ms-transform:rotate(64.8deg);transform:rotate(64.8deg)}.radial-progress[data-progress="19"] .circle .mask.full,.radial-progress[data-progress="19"] .circle .fill{-webkit-transform:rotate(34.2deg);-ms-transform:rotate(34.2deg);transform:rotate(34.2deg)}.radial-progress[data-progress="19"] .circle .fill.fix{-webkit-transform:rotate(68.4deg);-ms-transform:rotate(68.4deg);transform:rotate(68.4deg)}.radial-progress[data-progress="20"] .circle .mask.full,.radial-progress[data-progress="20"] .circle .fill{-webkit-transform:rotate(36deg);-ms-transform:rotate(36deg);transform:rotate(36deg)}.radial-progress[data-progress="20"] .circle .fill.fix{-webkit-transform:rotate(72deg);-ms-transform:rotate(72deg);transform:rotate(72deg)}.radial-progress[data-progress="21"] .circle .mask.full,.radial-progress[data-progress="21"] .circle .fill{-webkit-transform:rotate(37.8deg);-ms-transform:rotate(37.8deg);transform:rotate(37.8deg)}.radial-progress[data-progress="21"] .circle .fill.fix{-webkit-transform:rotate(75.6deg);-ms-transform:rotate(75.6deg);transform:rotate(75.6deg)}.radial-progress[data-progress="22"] .circle .mask.full,.radial-progress[data-progress="22"] .circle .fill{-webkit-transform:rotate(39.6deg);-ms-transform:rotate(39.6deg);transform:rotate(39.6deg)}.radial-progress[data-progress="22"] .circle .fill.fix{-webkit-transform:rotate(79.2deg);-ms-transform:rotate(79.2deg);transform:rotate(79.2deg)}.radial-progress[data-progress="23"] .circle .mask.full,.radial-progress[data-progress="23"] .circle .fill{-webkit-transform:rotate(41.4deg);-ms-transform:rotate(41.4deg);transform:rotate(41.4deg)}.radial-progress[data-progress="23"] .circle .fill.fix{-webkit-transform:rotate(82.8deg);-ms-transform:rotate(82.8deg);transform:rotate(82.8deg)}.radial-progress[data-progress="24"] .circle .mask.full,.radial-progress[data-progress="24"] .circle .fill{-webkit-transform:rotate(43.2deg);-ms-transform:rotate(43.2deg);transform:rotate(43.2deg)}.radial-progress[data-progress="24"] .circle .fill.fix{-webkit-transform:rotate(86.4deg);-ms-transform:rotate(86.4deg);transform:rotate(86.4deg)}.radial-progress[data-progress="25"] .circle .mask.full,.radial-progress[data-progress="25"] .circle .fill{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.radial-progress[data-progress="25"] .circle .fill.fix{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.radial-progress[data-progress="26"] .circle .mask.full,.radial-progress[data-progress="26"] .circle .fill{-webkit-transform:rotate(46.8deg);-ms-transform:rotate(46.8deg);transform:rotate(46.8deg)}.radial-progress[data-progress="26"] .circle .fill.fix{-webkit-transform:rotate(93.6deg);-ms-transform:rotate(93.6deg);transform:rotate(93.6deg)}.radial-progress[data-progress="27"] .circle .mask.full,.radial-progress[data-progress="27"] .circle .fill{-webkit-transform:rotate(48.6deg);-ms-transform:rotate(48.6deg);transform:rotate(48.6deg)}.radial-progress[data-progress="27"] .circle .fill.fix{-webkit-transform:rotate(97.2deg);-ms-transform:rotate(97.2deg);transform:rotate(97.2deg)}.radial-progress[data-progress="28"] .circle .mask.full,.radial-progress[data-progress="28"] .circle .fill{-webkit-transform:rotate(50.4deg);-ms-transform:rotate(50.4deg);transform:rotate(50.4deg)}.radial-progress[data-progress="28"] .circle .fill.fix{-webkit-transform:rotate(100.8deg);-ms-transform:rotate(100.8deg);transform:rotate(100.8deg)}.radial-progress[data-progress="29"] .circle .mask.full,.radial-progress[data-progress="29"] .circle .fill{-webkit-transform:rotate(52.2deg);-ms-transform:rotate(52.2deg);transform:rotate(52.2deg)}.radial-progress[data-progress="29"] .circle .fill.fix{-webkit-transform:rotate(104.4deg);-ms-transform:rotate(104.4deg);transform:rotate(104.4deg)}.radial-progress[data-progress="30"] .circle .mask.full,.radial-progress[data-progress="30"] .circle .fill{-webkit-transform:rotate(54deg);-ms-transform:rotate(54deg);transform:rotate(54deg)}.radial-progress[data-progress="30"] .circle .fill.fix{-webkit-transform:rotate(108deg);-ms-transform:rotate(108deg);transform:rotate(108deg)}.radial-progress[data-progress="31"] .circle .mask.full,.radial-progress[data-progress="31"] .circle .fill{-webkit-transform:rotate(55.8deg);-ms-transform:rotate(55.8deg);transform:rotate(55.8deg)}.radial-progress[data-progress="31"] .circle .fill.fix{-webkit-transform:rotate(111.6deg);-ms-transform:rotate(111.6deg);transform:rotate(111.6deg)}.radial-progress[data-progress="32"] .circle .mask.full,.radial-progress[data-progress="32"] .circle .fill{-webkit-transform:rotate(57.6deg);-ms-transform:rotate(57.6deg);transform:rotate(57.6deg)}.radial-progress[data-progress="32"] .circle .fill.fix{-webkit-transform:rotate(115.2deg);-ms-transform:rotate(115.2deg);transform:rotate(115.2deg)}.radial-progress[data-progress="33"] .circle .mask.full,.radial-progress[data-progress="33"] .circle .fill{-webkit-transform:rotate(59.4deg);-ms-transform:rotate(59.4deg);transform:rotate(59.4deg)}.radial-progress[data-progress="33"] .circle .fill.fix{-webkit-transform:rotate(118.8deg);-ms-transform:rotate(118.8deg);transform:rotate(118.8deg)}.radial-progress[data-progress="34"] .circle .mask.full,.radial-progress[data-progress="34"] .circle .fill{-webkit-transform:rotate(61.2deg);-ms-transform:rotate(61.2deg);transform:rotate(61.2deg)}.radial-progress[data-progress="34"] .circle .fill.fix{-webkit-transform:rotate(122.4deg);-ms-transform:rotate(122.4deg);transform:rotate(122.4deg)}.radial-progress[data-progress="35"] .circle .mask.full,.radial-progress[data-progress="35"] .circle .fill{-webkit-transform:rotate(63deg);-ms-transform:rotate(63deg);transform:rotate(63deg)}.radial-progress[data-progress="35"] .circle .fill.fix{-webkit-transform:rotate(126deg);-ms-transform:rotate(126deg);transform:rotate(126deg)}.radial-progress[data-progress="36"] .circle .mask.full,.radial-progress[data-progress="36"] .circle .fill{-webkit-transform:rotate(64.8deg);-ms-transform:rotate(64.8deg);transform:rotate(64.8deg)}.radial-progress[data-progress="36"] .circle .fill.fix{-webkit-transform:rotate(129.6deg);-ms-transform:rotate(129.6deg);transform:rotate(129.6deg)}.radial-progress[data-progress="37"] .circle .mask.full,.radial-progress[data-progress="37"] .circle .fill{-webkit-transform:rotate(66.6deg);-ms-transform:rotate(66.6deg);transform:rotate(66.6deg)}.radial-progress[data-progress="37"] .circle .fill.fix{-webkit-transform:rotate(133.2deg);-ms-transform:rotate(133.2deg);transform:rotate(133.2deg)}.radial-progress[data-progress="38"] .circle .mask.full,.radial-progress[data-progress="38"] .circle .fill{-webkit-transform:rotate(68.4deg);-ms-transform:rotate(68.4deg);transform:rotate(68.4deg)}.radial-progress[data-progress="38"] .circle .fill.fix{-webkit-transform:rotate(136.8deg);-ms-transform:rotate(136.8deg);transform:rotate(136.8deg)}.radial-progress[data-progress="39"] .circle .mask.full,.radial-progress[data-progress="39"] .circle .fill{-webkit-transform:rotate(70.2deg);-ms-transform:rotate(70.2deg);transform:rotate(70.2deg)}.radial-progress[data-progress="39"] .circle .fill.fix{-webkit-transform:rotate(140.4deg);-ms-transform:rotate(140.4deg);transform:rotate(140.4deg)}.radial-progress[data-progress="40"] .circle .mask.full,.radial-progress[data-progress="40"] .circle .fill{-webkit-transform:rotate(72deg);-ms-transform:rotate(72deg);transform:rotate(72deg)}.radial-progress[data-progress="40"] .circle .fill.fix{-webkit-transform:rotate(144deg);-ms-transform:rotate(144deg);transform:rotate(144deg)}.radial-progress[data-progress="41"] .circle .mask.full,.radial-progress[data-progress="41"] .circle .fill{-webkit-transform:rotate(73.8deg);-ms-transform:rotate(73.8deg);transform:rotate(73.8deg)}.radial-progress[data-progress="41"] .circle .fill.fix{-webkit-transform:rotate(147.6deg);-ms-transform:rotate(147.6deg);transform:rotate(147.6deg)}.radial-progress[data-progress="42"] .circle .mask.full,.radial-progress[data-progress="42"] .circle .fill{-webkit-transform:rotate(75.6deg);-ms-transform:rotate(75.6deg);transform:rotate(75.6deg)}.radial-progress[data-progress="42"] .circle .fill.fix{-webkit-transform:rotate(151.2deg);-ms-transform:rotate(151.2deg);transform:rotate(151.2deg)}.radial-progress[data-progress="43"] .circle .mask.full,.radial-progress[data-progress="43"] .circle .fill{-webkit-transform:rotate(77.4deg);-ms-transform:rotate(77.4deg);transform:rotate(77.4deg)}.radial-progress[data-progress="43"] .circle .fill.fix{-webkit-transform:rotate(154.8deg);-ms-transform:rotate(154.8deg);transform:rotate(154.8deg)}.radial-progress[data-progress="44"] .circle .mask.full,.radial-progress[data-progress="44"] .circle .fill{-webkit-transform:rotate(79.2deg);-ms-transform:rotate(79.2deg);transform:rotate(79.2deg)}.radial-progress[data-progress="44"] .circle .fill.fix{-webkit-transform:rotate(158.4deg);-ms-transform:rotate(158.4deg);transform:rotate(158.4deg)}.radial-progress[data-progress="45"] .circle .mask.full,.radial-progress[data-progress="45"] .circle .fill{-webkit-transform:rotate(81deg);-ms-transform:rotate(81deg);transform:rotate(81deg)}.radial-progress[data-progress="45"] .circle .fill.fix{-webkit-transform:rotate(162deg);-ms-transform:rotate(162deg);transform:rotate(162deg)}.radial-progress[data-progress="46"] .circle .mask.full,.radial-progress[data-progress="46"] .circle .fill{-webkit-transform:rotate(82.8deg);-ms-transform:rotate(82.8deg);transform:rotate(82.8deg)}.radial-progress[data-progress="46"] .circle .fill.fix{-webkit-transform:rotate(165.6deg);-ms-transform:rotate(165.6deg);transform:rotate(165.6deg)}.radial-progress[data-progress="47"] .circle .mask.full,.radial-progress[data-progress="47"] .circle .fill{-webkit-transform:rotate(84.6deg);-ms-transform:rotate(84.6deg);transform:rotate(84.6deg)}.radial-progress[data-progress="47"] .circle .fill.fix{-webkit-transform:rotate(169.2deg);-ms-transform:rotate(169.2deg);transform:rotate(169.2deg)}.radial-progress[data-progress="48"] .circle .mask.full,.radial-progress[data-progress="48"] .circle .fill{-webkit-transform:rotate(86.4deg);-ms-transform:rotate(86.4deg);transform:rotate(86.4deg)}.radial-progress[data-progress="48"] .circle .fill.fix{-webkit-transform:rotate(172.8deg);-ms-transform:rotate(172.8deg);transform:rotate(172.8deg)}.radial-progress[data-progress="49"] .circle .mask.full,.radial-progress[data-progress="49"] .circle .fill{-webkit-transform:rotate(88.2deg);-ms-transform:rotate(88.2deg);transform:rotate(88.2deg)}.radial-progress[data-progress="49"] .circle .fill.fix{-webkit-transform:rotate(176.4deg);-ms-transform:rotate(176.4deg);transform:rotate(176.4deg)}.radial-progress[data-progress="50"] .circle .mask.full,.radial-progress[data-progress="50"] .circle .fill{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.radial-progress[data-progress="50"] .circle .fill.fix{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.radial-progress[data-progress="51"] .circle .mask.full,.radial-progress[data-progress="51"] .circle .fill{-webkit-transform:rotate(91.8deg);-ms-transform:rotate(91.8deg);transform:rotate(91.8deg)}.radial-progress[data-progress="51"] .circle .fill.fix{-webkit-transform:rotate(183.6deg);-ms-transform:rotate(183.6deg);transform:rotate(183.6deg)}.radial-progress[data-progress="52"] .circle .mask.full,.radial-progress[data-progress="52"] .circle .fill{-webkit-transform:rotate(93.6deg);-ms-transform:rotate(93.6deg);transform:rotate(93.6deg)}.radial-progress[data-progress="52"] .circle .fill.fix{-webkit-transform:rotate(187.2deg);-ms-transform:rotate(187.2deg);transform:rotate(187.2deg)}.radial-progress[data-progress="53"] .circle .mask.full,.radial-progress[data-progress="53"] .circle .fill{-webkit-transform:rotate(95.4deg);-ms-transform:rotate(95.4deg);transform:rotate(95.4deg)}.radial-progress[data-progress="53"] .circle .fill.fix{-webkit-transform:rotate(190.8deg);-ms-transform:rotate(190.8deg);transform:rotate(190.8deg)}.radial-progress[data-progress="54"] .circle .mask.full,.radial-progress[data-progress="54"] .circle .fill{-webkit-transform:rotate(97.2deg);-ms-transform:rotate(97.2deg);transform:rotate(97.2deg)}.radial-progress[data-progress="54"] .circle .fill.fix{-webkit-transform:rotate(194.4deg);-ms-transform:rotate(194.4deg);transform:rotate(194.4deg)}.radial-progress[data-progress="55"] .circle .mask.full,.radial-progress[data-progress="55"] .circle .fill{-webkit-transform:rotate(99deg);-ms-transform:rotate(99deg);transform:rotate(99deg)}.radial-progress[data-progress="55"] .circle .fill.fix{-webkit-transform:rotate(198deg);-ms-transform:rotate(198deg);transform:rotate(198deg)}.radial-progress[data-progress="56"] .circle .mask.full,.radial-progress[data-progress="56"] .circle .fill{-webkit-transform:rotate(100.8deg);-ms-transform:rotate(100.8deg);transform:rotate(100.8deg)}.radial-progress[data-progress="56"] .circle .fill.fix{-webkit-transform:rotate(201.6deg);-ms-transform:rotate(201.6deg);transform:rotate(201.6deg)}.radial-progress[data-progress="57"] .circle .mask.full,.radial-progress[data-progress="57"] .circle .fill{-webkit-transform:rotate(102.6deg);-ms-transform:rotate(102.6deg);transform:rotate(102.6deg)}.radial-progress[data-progress="57"] .circle .fill.fix{-webkit-transform:rotate(205.2deg);-ms-transform:rotate(205.2deg);transform:rotate(205.2deg)}.radial-progress[data-progress="58"] .circle .mask.full,.radial-progress[data-progress="58"] .circle .fill{-webkit-transform:rotate(104.4deg);-ms-transform:rotate(104.4deg);transform:rotate(104.4deg)}.radial-progress[data-progress="58"] .circle .fill.fix{-webkit-transform:rotate(208.8deg);-ms-transform:rotate(208.8deg);transform:rotate(208.8deg)}.radial-progress[data-progress="59"] .circle .mask.full,.radial-progress[data-progress="59"] .circle .fill{-webkit-transform:rotate(106.2deg);-ms-transform:rotate(106.2deg);transform:rotate(106.2deg)}.radial-progress[data-progress="59"] .circle .fill.fix{-webkit-transform:rotate(212.4deg);-ms-transform:rotate(212.4deg);transform:rotate(212.4deg)}.radial-progress[data-progress="60"] .circle .mask.full,.radial-progress[data-progress="60"] .circle .fill{-webkit-transform:rotate(108deg);-ms-transform:rotate(108deg);transform:rotate(108deg)}.radial-progress[data-progress="60"] .circle .fill.fix{-webkit-transform:rotate(216deg);-ms-transform:rotate(216deg);transform:rotate(216deg)}.radial-progress[data-progress="61"] .circle .mask.full,.radial-progress[data-progress="61"] .circle .fill{-webkit-transform:rotate(109.8deg);-ms-transform:rotate(109.8deg);transform:rotate(109.8deg)}.radial-progress[data-progress="61"] .circle .fill.fix{-webkit-transform:rotate(219.6deg);-ms-transform:rotate(219.6deg);transform:rotate(219.6deg)}.radial-progress[data-progress="62"] .circle .mask.full,.radial-progress[data-progress="62"] .circle .fill{-webkit-transform:rotate(111.6deg);-ms-transform:rotate(111.6deg);transform:rotate(111.6deg)}.radial-progress[data-progress="62"] .circle .fill.fix{-webkit-transform:rotate(223.2deg);-ms-transform:rotate(223.2deg);transform:rotate(223.2deg)}.radial-progress[data-progress="63"] .circle .mask.full,.radial-progress[data-progress="63"] .circle .fill{-webkit-transform:rotate(113.4deg);-ms-transform:rotate(113.4deg);transform:rotate(113.4deg)}.radial-progress[data-progress="63"] .circle .fill.fix{-webkit-transform:rotate(226.8deg);-ms-transform:rotate(226.8deg);transform:rotate(226.8deg)}.radial-progress[data-progress="64"] .circle .mask.full,.radial-progress[data-progress="64"] .circle .fill{-webkit-transform:rotate(115.2deg);-ms-transform:rotate(115.2deg);transform:rotate(115.2deg)}.radial-progress[data-progress="64"] .circle .fill.fix{-webkit-transform:rotate(230.4deg);-ms-transform:rotate(230.4deg);transform:rotate(230.4deg)}.radial-progress[data-progress="65"] .circle .mask.full,.radial-progress[data-progress="65"] .circle .fill{-webkit-transform:rotate(117deg);-ms-transform:rotate(117deg);transform:rotate(117deg)}.radial-progress[data-progress="65"] .circle .fill.fix{-webkit-transform:rotate(234deg);-ms-transform:rotate(234deg);transform:rotate(234deg)}.radial-progress[data-progress="66"] .circle .mask.full,.radial-progress[data-progress="66"] .circle .fill{-webkit-transform:rotate(118.8deg);-ms-transform:rotate(118.8deg);transform:rotate(118.8deg)}.radial-progress[data-progress="66"] .circle .fill.fix{-webkit-transform:rotate(237.6deg);-ms-transform:rotate(237.6deg);transform:rotate(237.6deg)}.radial-progress[data-progress="67"] .circle .mask.full,.radial-progress[data-progress="67"] .circle .fill{-webkit-transform:rotate(120.6deg);-ms-transform:rotate(120.6deg);transform:rotate(120.6deg)}.radial-progress[data-progress="67"] .circle .fill.fix{-webkit-transform:rotate(241.2deg);-ms-transform:rotate(241.2deg);transform:rotate(241.2deg)}.radial-progress[data-progress="68"] .circle .mask.full,.radial-progress[data-progress="68"] .circle .fill{-webkit-transform:rotate(122.4deg);-ms-transform:rotate(122.4deg);transform:rotate(122.4deg)}.radial-progress[data-progress="68"] .circle .fill.fix{-webkit-transform:rotate(244.8deg);-ms-transform:rotate(244.8deg);transform:rotate(244.8deg)}.radial-progress[data-progress="69"] .circle .mask.full,.radial-progress[data-progress="69"] .circle .fill{-webkit-transform:rotate(124.2deg);-ms-transform:rotate(124.2deg);transform:rotate(124.2deg)}.radial-progress[data-progress="69"] .circle .fill.fix{-webkit-transform:rotate(248.4deg);-ms-transform:rotate(248.4deg);transform:rotate(248.4deg)}.radial-progress[data-progress="70"] .circle .mask.full,.radial-progress[data-progress="70"] .circle .fill{-webkit-transform:rotate(126deg);-ms-transform:rotate(126deg);transform:rotate(126deg)}.radial-progress[data-progress="70"] .circle .fill.fix{-webkit-transform:rotate(252deg);-ms-transform:rotate(252deg);transform:rotate(252deg)}.radial-progress[data-progress="71"] .circle .mask.full,.radial-progress[data-progress="71"] .circle .fill{-webkit-transform:rotate(127.8deg);-ms-transform:rotate(127.8deg);transform:rotate(127.8deg)}.radial-progress[data-progress="71"] .circle .fill.fix{-webkit-transform:rotate(255.6deg);-ms-transform:rotate(255.6deg);transform:rotate(255.6deg)}.radial-progress[data-progress="72"] .circle .mask.full,.radial-progress[data-progress="72"] .circle .fill{-webkit-transform:rotate(129.6deg);-ms-transform:rotate(129.6deg);transform:rotate(129.6deg)}.radial-progress[data-progress="72"] .circle .fill.fix{-webkit-transform:rotate(259.2deg);-ms-transform:rotate(259.2deg);transform:rotate(259.2deg)}.radial-progress[data-progress="73"] .circle .mask.full,.radial-progress[data-progress="73"] .circle .fill{-webkit-transform:rotate(131.4deg);-ms-transform:rotate(131.4deg);transform:rotate(131.4deg)}.radial-progress[data-progress="73"] .circle .fill.fix{-webkit-transform:rotate(262.8deg);-ms-transform:rotate(262.8deg);transform:rotate(262.8deg)}.radial-progress[data-progress="74"] .circle .mask.full,.radial-progress[data-progress="74"] .circle .fill{-webkit-transform:rotate(133.2deg);-ms-transform:rotate(133.2deg);transform:rotate(133.2deg)}.radial-progress[data-progress="74"] .circle .fill.fix{-webkit-transform:rotate(266.4deg);-ms-transform:rotate(266.4deg);transform:rotate(266.4deg)}.radial-progress[data-progress="75"] .circle .mask.full,.radial-progress[data-progress="75"] .circle .fill{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.radial-progress[data-progress="75"] .circle .fill.fix{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.radial-progress[data-progress="76"] .circle .mask.full,.radial-progress[data-progress="76"] .circle .fill{-webkit-transform:rotate(136.8deg);-ms-transform:rotate(136.8deg);transform:rotate(136.8deg)}.radial-progress[data-progress="76"] .circle .fill.fix{-webkit-transform:rotate(273.6deg);-ms-transform:rotate(273.6deg);transform:rotate(273.6deg)}.radial-progress[data-progress="77"] .circle .mask.full,.radial-progress[data-progress="77"] .circle .fill{-webkit-transform:rotate(138.6deg);-ms-transform:rotate(138.6deg);transform:rotate(138.6deg)}.radial-progress[data-progress="77"] .circle .fill.fix{-webkit-transform:rotate(277.2deg);-ms-transform:rotate(277.2deg);transform:rotate(277.2deg)}.radial-progress[data-progress="78"] .circle .mask.full,.radial-progress[data-progress="78"] .circle .fill{-webkit-transform:rotate(140.4deg);-ms-transform:rotate(140.4deg);transform:rotate(140.4deg)}.radial-progress[data-progress="78"] .circle .fill.fix{-webkit-transform:rotate(280.8deg);-ms-transform:rotate(280.8deg);transform:rotate(280.8deg)}.radial-progress[data-progress="79"] .circle .mask.full,.radial-progress[data-progress="79"] .circle .fill{-webkit-transform:rotate(142.2deg);-ms-transform:rotate(142.2deg);transform:rotate(142.2deg)}.radial-progress[data-progress="79"] .circle .fill.fix{-webkit-transform:rotate(284.4deg);-ms-transform:rotate(284.4deg);transform:rotate(284.4deg)}.radial-progress[data-progress="80"] .circle .mask.full,.radial-progress[data-progress="80"] .circle .fill{-webkit-transform:rotate(144deg);-ms-transform:rotate(144deg);transform:rotate(144deg)}.radial-progress[data-progress="80"] .circle .fill.fix{-webkit-transform:rotate(288deg);-ms-transform:rotate(288deg);transform:rotate(288deg)}.radial-progress[data-progress="81"] .circle .mask.full,.radial-progress[data-progress="81"] .circle .fill{-webkit-transform:rotate(145.8deg);-ms-transform:rotate(145.8deg);transform:rotate(145.8deg)}.radial-progress[data-progress="81"] .circle .fill.fix{-webkit-transform:rotate(291.6deg);-ms-transform:rotate(291.6deg);transform:rotate(291.6deg)}.radial-progress[data-progress="82"] .circle .mask.full,.radial-progress[data-progress="82"] .circle .fill{-webkit-transform:rotate(147.6deg);-ms-transform:rotate(147.6deg);transform:rotate(147.6deg)}.radial-progress[data-progress="82"] .circle .fill.fix{-webkit-transform:rotate(295.2deg);-ms-transform:rotate(295.2deg);transform:rotate(295.2deg)}.radial-progress[data-progress="83"] .circle .mask.full,.radial-progress[data-progress="83"] .circle .fill{-webkit-transform:rotate(149.4deg);-ms-transform:rotate(149.4deg);transform:rotate(149.4deg)}.radial-progress[data-progress="83"] .circle .fill.fix{-webkit-transform:rotate(298.8deg);-ms-transform:rotate(298.8deg);transform:rotate(298.8deg)}.radial-progress[data-progress="84"] .circle .mask.full,.radial-progress[data-progress="84"] .circle .fill{-webkit-transform:rotate(151.2deg);-ms-transform:rotate(151.2deg);transform:rotate(151.2deg)}.radial-progress[data-progress="84"] .circle .fill.fix{-webkit-transform:rotate(302.4deg);-ms-transform:rotate(302.4deg);transform:rotate(302.4deg)}.radial-progress[data-progress="85"] .circle .mask.full,.radial-progress[data-progress="85"] .circle .fill{-webkit-transform:rotate(153deg);-ms-transform:rotate(153deg);transform:rotate(153deg)}.radial-progress[data-progress="85"] .circle .fill.fix{-webkit-transform:rotate(306deg);-ms-transform:rotate(306deg);transform:rotate(306deg)}.radial-progress[data-progress="86"] .circle .mask.full,.radial-progress[data-progress="86"] .circle .fill{-webkit-transform:rotate(154.8deg);-ms-transform:rotate(154.8deg);transform:rotate(154.8deg)}.radial-progress[data-progress="86"] .circle .fill.fix{-webkit-transform:rotate(309.6deg);-ms-transform:rotate(309.6deg);transform:rotate(309.6deg)}.radial-progress[data-progress="87"] .circle .mask.full,.radial-progress[data-progress="87"] .circle .fill{-webkit-transform:rotate(156.6deg);-ms-transform:rotate(156.6deg);transform:rotate(156.6deg)}.radial-progress[data-progress="87"] .circle .fill.fix{-webkit-transform:rotate(313.2deg);-ms-transform:rotate(313.2deg);transform:rotate(313.2deg)}.radial-progress[data-progress="88"] .circle .mask.full,.radial-progress[data-progress="88"] .circle .fill{-webkit-transform:rotate(158.4deg);-ms-transform:rotate(158.4deg);transform:rotate(158.4deg)}.radial-progress[data-progress="88"] .circle .fill.fix{-webkit-transform:rotate(316.8deg);-ms-transform:rotate(316.8deg);transform:rotate(316.8deg)}.radial-progress[data-progress="89"] .circle .mask.full,.radial-progress[data-progress="89"] .circle .fill{-webkit-transform:rotate(160.2deg);-ms-transform:rotate(160.2deg);transform:rotate(160.2deg)}.radial-progress[data-progress="89"] .circle .fill.fix{-webkit-transform:rotate(320.4deg);-ms-transform:rotate(320.4deg);transform:rotate(320.4deg)}.radial-progress[data-progress="90"] .circle .mask.full,.radial-progress[data-progress="90"] .circle .fill{-webkit-transform:rotate(162deg);-ms-transform:rotate(162deg);transform:rotate(162deg)}.radial-progress[data-progress="90"] .circle .fill.fix{-webkit-transform:rotate(324deg);-ms-transform:rotate(324deg);transform:rotate(324deg)}.radial-progress[data-progress="91"] .circle .mask.full,.radial-progress[data-progress="91"] .circle .fill{-webkit-transform:rotate(163.8deg);-ms-transform:rotate(163.8deg);transform:rotate(163.8deg)}.radial-progress[data-progress="91"] .circle .fill.fix{-webkit-transform:rotate(327.6deg);-ms-transform:rotate(327.6deg);transform:rotate(327.6deg)}.radial-progress[data-progress="92"] .circle .mask.full,.radial-progress[data-progress="92"] .circle .fill{-webkit-transform:rotate(165.6deg);-ms-transform:rotate(165.6deg);transform:rotate(165.6deg)}.radial-progress[data-progress="92"] .circle .fill.fix{-webkit-transform:rotate(331.2deg);-ms-transform:rotate(331.2deg);transform:rotate(331.2deg)}.radial-progress[data-progress="93"] .circle .mask.full,.radial-progress[data-progress="93"] .circle .fill{-webkit-transform:rotate(167.4deg);-ms-transform:rotate(167.4deg);transform:rotate(167.4deg)}.radial-progress[data-progress="93"] .circle .fill.fix{-webkit-transform:rotate(334.8deg);-ms-transform:rotate(334.8deg);transform:rotate(334.8deg)}.radial-progress[data-progress="94"] .circle .mask.full,.radial-progress[data-progress="94"] .circle .fill{-webkit-transform:rotate(169.2deg);-ms-transform:rotate(169.2deg);transform:rotate(169.2deg)}.radial-progress[data-progress="94"] .circle .fill.fix{-webkit-transform:rotate(338.4deg);-ms-transform:rotate(338.4deg);transform:rotate(338.4deg)}.radial-progress[data-progress="95"] .circle .mask.full,.radial-progress[data-progress="95"] .circle .fill{-webkit-transform:rotate(171deg);-ms-transform:rotate(171deg);transform:rotate(171deg)}.radial-progress[data-progress="95"] .circle .fill.fix{-webkit-transform:rotate(342deg);-ms-transform:rotate(342deg);transform:rotate(342deg)}.radial-progress[data-progress="96"] .circle .mask.full,.radial-progress[data-progress="96"] .circle .fill{-webkit-transform:rotate(172.8deg);-ms-transform:rotate(172.8deg);transform:rotate(172.8deg)}.radial-progress[data-progress="96"] .circle .fill.fix{-webkit-transform:rotate(345.6deg);-ms-transform:rotate(345.6deg);transform:rotate(345.6deg)}.radial-progress[data-progress="97"] .circle .mask.full,.radial-progress[data-progress="97"] .circle .fill{-webkit-transform:rotate(174.6deg);-ms-transform:rotate(174.6deg);transform:rotate(174.6deg)}.radial-progress[data-progress="97"] .circle .fill.fix{-webkit-transform:rotate(349.2deg);-ms-transform:rotate(349.2deg);transform:rotate(349.2deg)}.radial-progress[data-progress="98"] .circle .mask.full,.radial-progress[data-progress="98"] .circle .fill{-webkit-transform:rotate(176.4deg);-ms-transform:rotate(176.4deg);transform:rotate(176.4deg)}.radial-progress[data-progress="98"] .circle .fill.fix{-webkit-transform:rotate(352.8deg);-ms-transform:rotate(352.8deg);transform:rotate(352.8deg)}.radial-progress[data-progress="99"] .circle .mask.full,.radial-progress[data-progress="99"] .circle .fill{-webkit-transform:rotate(178.2deg);-ms-transform:rotate(178.2deg);transform:rotate(178.2deg)}.radial-progress[data-progress="99"] .circle .fill.fix{-webkit-transform:rotate(356.4deg);-ms-transform:rotate(356.4deg);transform:rotate(356.4deg)}.radial-progress[data-progress="100"] .circle .mask.full,.radial-progress[data-progress="100"] .circle .fill{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.radial-progress[data-progress="100"] .circle .fill.fix{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}.radial-progress:not([data-progress="0"]) .inset .bgIcon{opacity:1}.radial-progress.radial-progress-success .circle .mask .fill{background-color:#5cb85c}.radial-progress.radial-progress-success .inset .percentage .number span{color:#5cb85c}.radial-progress.radial-progress-info .circle .mask .fill{background-color:#5bc0de}.radial-progress.radial-progress-info .inset .percentage .number span{color:#5bc0de}.radial-progress.radial-progress-danger .circle .mask .fill{background-color:#d9534f}.radial-progress.radial-progress-danger .inset .percentage .number span{color:#d9534f}.radial-progress.radial-progress-warning .circle .mask .fill{background-color:#f0ad4e}.radial-progress.radial-progress-warning .inset .percentage .number span{color:#f0ad4e}.radial-progress.radial-progress-sm{width:80px;height:80px}.radial-progress.radial-progress-sm .circle .mask{clip:rect(0px, 80px, 80px, 40px)}.radial-progress.radial-progress-sm .circle .mask .fill{clip:rect(0px, 40px, 80px, 0px)}.radial-progress.radial-progress-sm .inset{width:60px;height:60px;margin-left:10px;margin-top:10px;font-size:14.4px}.radial-progress.radial-progress-sm .inset .bgIcon{position:absolute;font-size:50px;top:5px;left:-2px}.radial-progress.radial-progress-lg{width:180px;height:180px}.radial-progress.radial-progress-lg .circle .mask{clip:rect(0px, 180px, 180px, 90px)}.radial-progress.radial-progress-lg .circle .mask .fill{clip:rect(0px, 90px, 180px, 0px)}.radial-progress.radial-progress-lg .inset{width:135px;height:135px;margin-left:22.5px;margin-top:22.5px;font-size:32.4px}.radial-progress.radial-progress-lg .inset .bgIcon{position:absolute;font-size:115px;top:5px;left:-6px}html{position:relative;min-height:100%}body{min-height:100%;margin-bottom:80px}#o_main_wrapper{background:#fff;z-index:3}#o_main_wrapper #o_main_container{background:#fff}#o_main_wrapper #o_main_container #o_main_left{float:left;z-index:2;position:relative;background:#fff}#o_main_wrapper #o_main_container #o_main_left #o_main_left_content{padding:0 0 0 15px}#o_main_wrapper #o_main_container #o_main_left #o_main_left_toggle{position:absolute;display:none;right:0;top:70px;margin-right:-30px;font-size:25px;line-height:35px;text-align:center;width:30px;height:35px;z-index:3;border:1px solid #ddd;border-left:none;border-bottom-right-radius:4px;border-top-right-radius:4px;background-color:#fbfbfb;-webkit-box-shadow:2px 0px 4px 1px rgba(0,0,0,0.15);box-shadow:2px 0px 4px 1px rgba(0,0,0,0.15);color:#337ab7}#o_main_wrapper #o_main_container #o_main_left.o_offcanvas{background:#fbfbfb;-webkit-box-shadow:0px 0px 6px 1px rgba(0,0,0,0.2);box-shadow:0px 0px 6px 1px rgba(0,0,0,0.2);min-width:250px}#o_main_wrapper #o_main_container #o_main_left.o_offcanvas #o_main_left_content{padding:0 0 0 0}#o_main_wrapper #o_main_container #o_main_right{float:right;z-index:2;position:relative;background:inherit}#o_main_wrapper #o_main_container #o_main_right #o_main_right_content{padding:0 15px 0 0}#o_main_wrapper #o_main_container #o_main_center{position:relative;z-index:1;background:inherit}#o_main_wrapper #o_main_container #o_main_center h2:first-child{margin-top:0}@media screen and (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center{margin-left:0 !important}}#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:0 15px}#o_main_wrapper #o_main_container #o_main_center #o_main_center_content #o_main_center_content_inner{padding-bottom:15px}#o_main_wrapper #o_toplink{position:absolute;bottom:0;right:15px;text-align:center;z-index:3}@media (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:15px}}#o_back_wrapper,#o_preview_wrapper{margin-top:10px}#o_back_wrapper.o_toolbar .o_breadcrumb .breadcrumb,#o_preview_wrapper.o_toolbar .o_breadcrumb .breadcrumb{font-size:14px}body.o_message #o_main_center_content_inner{min-height:150px;max-width:500px;padding:15px;margin:60px auto}#o_footer_wrapper{position:absolute;bottom:0;width:100%;height:70px;overflow:hidden;background-color:#f5f5f5;color:#999;line-height:16px;font-size:12px}#o_footer_wrapper a{color:#999}#o_footer_wrapper a:hover{color:#000}#o_footer_container{position:relative;padding-top:10px;min-height:70px;background:#f5f5f5;z-index:1}#o_footer_user{position:absolute;left:15px;top:10px;z-index:1}#o_footer_user #o_counter{white-space:nowrap}#o_footer_user #o_username{white-space:nowrap;margin-right:1em}#o_footer_version{position:absolute;right:15px;top:10px;text-align:right;z-index:1}@media (max-width: 767px){#o_footer_version{padding-top:10px;text-align:left}}#o_footer_powered{position:absolute;top:30px;right:15px;z-index:1}#o_footer_powered img{opacity:.6;filter:alpha(opacity=60)}#o_footer_powered img:hover{opacity:1;filter:alpha(opacity=100)}#o_footer_impressum{position:absolute;top:10px;width:100%;text-align:center;z-index:-1}#o_footer_impressum i{display:none}#o_footer_textline{position:absolute;top:30px;width:100%;text-align:center;z-index:-1}#o_share{margin-top:10px}#o_share a{opacity:.6;filter:alpha(opacity=60)}#o_share a:hover{opacity:1;filter:alpha(opacity=100)}#o_share a,#o_share_social_container a{color:#999;margin:0 0.25em 0 0}#o_share a:hover,#o_share_social_container a:hover{color:#000}@media (max-width: 767px){#o_counter,#o_footer_version,#o_share{display:none}#o_footer_impressum{top:30px;text-align:left}#o_footer_textline{top:50px;text-align:left}#o_footer_powered{top:10px}#o_footer_powered a:after{content:"\221E";font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:14px}#o_footer_powered img{display:none}}#o_navbar_wrapper{z-index:4;border-top:1px solid #e7e7e7;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1)}#o_navbar_wrapper #o_navbar_container{position:relative}a.o_disabled.navbar-text{margin:0}.o_navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid #e7e7e7;background-color:#f8f8f8}.o_navbar:before,.o_navbar:after{content:" ";display:table}.o_navbar:after{clear:both}.o_navbar .o_navbar_tabs li{max-width:150px}.o_navbar .o_navbar_tabs li a{padding-right:30px}.o_navbar .o_navbar_tabs li a:first-child span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.o_navbar .o_navbar_tabs .o_icon-fw{position:absolute;top:15px;left:0.5em;padding-top:3px;width:1em;height:1em;display:none}.o_navbar .o_navbar_tabs .o_navbar_tab_close{position:absolute;top:15px;right:0.5em;padding:0;width:1em;height:1em}.o_navbar .o_navbar_tabs .o_navbar_tab_close i:before{color:#d9534f}.o_navbar .o_navbar_tabs .o_navbar_tab_close:hover i:before{color:#c9302c}.o_navbar .o_custom_navbar-brand{background-position:5px 0;background-repeat:no-repeat;height:50px;width:120px}.o_navbar #o_navbar_langchooser{color:#777;padding:7px 15px}.o_navbar #o_navbar_langchooser form span+div{display:inline}.o_navbar #o_navbar_tools_permanent #o_navbar_print a,.o_navbar #o_navbar_tools_permanent #o_navbar_impress a,.o_navbar #o_navbar_tools_permanent #o_navbar_help a{color:#777;padding-right:0}.o_navbar #o_navbar_tools_permanent #o_navbar_login a{color:#f0ad4e}.o_navbar .o_navbar_tools>#o_navbar_tools_permanent>li>a>span{display:none}@media (min-width: 768px){.o_navbar .o_navbar_tools li.o_portrait>a>span{display:inline}}.o_navbar #o_navbar_tools_personal .o_navbar_tool a,.o_navbar #o_navbar_tools_permanent .o_navbar_tool a{padding-right:5px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu a,.o_navbar #o_navbar_tools_permanent #o_navbar_my_menu a{padding-left:45px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu .dropdown-menu a,.o_navbar #o_navbar_tools_permanent #o_navbar_my_menu .dropdown-menu a{padding-left:15px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu .o_portrait,.o_navbar #o_navbar_tools_permanent #o_navbar_my_menu .o_portrait{position:absolute;left:7px;top:10px}.o_navbar #o_navbar_tools_personal .o_logout,.o_navbar #o_navbar_tools_permanent .o_logout{color:#d9534f}.o_navbar.o_navbar-offcanvas .o_navbar_tab_close{top:10px;right:10px}.o_navbar.o_navbar-offcanvas .o_navbar-right a{padding:3px 20px;color:#9d9d9d}.o_navbar.o_navbar-offcanvas .o_navbar-right a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-right a:focus{color:#fff;background-color:transparent}.o_navbar.o_navbar-offcanvas .o_navbar-right a.o_logout{color:#d9534f}.o_navbar.o_navbar-offcanvas .o_navbar-right a.o_logout:hover,.o_navbar.o_navbar-offcanvas .o_navbar-right a.o_logout:focus{color:#c9302c}.o_navbar.o_navbar-offcanvas .o_navbar-right a .o_icon-lg{font-size:1.0em;vertical-align:baseline}.o_navbar.o_navbar-offcanvas .o_navbar-right .divider{height:1px;margin:9px 0;overflow:hidden;background-color:none}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-header{padding-left:15px}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-toggle{display:none}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-menu{box-shadow:none;position:relative;top:0;left:0;display:block;float:none;background-color:#222;color:#9d9d9d;font-size:14px;border:none}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-menu .divider{background:none}.o_navbar.o_navbar-offcanvas .o_navbar-nav a{color:#9d9d9d;text-shadow:none}.o_navbar.o_navbar-offcanvas .o_navbar-nav a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav a:focus{background-color:transparent;color:#fff}.o_navbar.o_navbar-offcanvas .o_navbar-nav .active a,.o_navbar.o_navbar-offcanvas .o_navbar-nav .active a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .active a:focus{background-color:#090909;color:#fff}.o_navbar.o_navbar-offcanvas .o_navbar-nav .o_navbar-link{color:#9d9d9d}.o_navbar.o_navbar-offcanvas .o_navbar-nav .o_navbar-link:hover{color:#fff}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>li>a{color:#777}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>li>a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.active>a,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.active>a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.disabled>a,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.disabled>a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}#o_navbar_impress a span,#o_navbar_search_opener a span{display:none}body.o_dmz #o_navbar_print a span,body.o_dmz #o_navbar_impress a span,body.o_dmz #o_navbar_help a span,body.o_dmz #o_navbar_search_opener a span{display:inline}.o_navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;-webkit-overflow-scrolling:touch}.o_navbar-collapse:before,.o_navbar-collapse:after{content:" ";display:table}.o_navbar-collapse:after{clear:both}.o_navbar-collapse.o_collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.o_navbar-offcanvas .o_navbar-collapse{width:auto;box-shadow:none;margin-top:10px;margin-right:-15px;margin-left:-15px}.o_navbar-brand{float:left;font-size:18px;line-height:20px;height:50px;color:#777}.o_navbar-brand:hover,.o_navbar-brand:focus{text-decoration:none;color:#5e5e5e;background-color:transparent}.o_navbar-toggle{position:relative;margin-right:15px;margin-left:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;border:1px solid #ddd;border-radius:4px;background-color:transparent;background-image:none}.o_navbar-toggle:hover,.o_navbar-toggle:focus{outline:none;background-color:#ddd}.o_navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px;background-color:#888}.o_navbar-toggle .icon-bar+.icon-bar{margin-top:4px}#o_navbar_left-toggle{float:left}#o_navbar_right-toggle{float:right}.o_navbar-link{color:#777}.o_navbar-link:hover{color:#333}.o_navbar-nav{margin:7.5px -15px}.o_navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px;color:#777}.o_navbar-nav>li>a:hover,.o_navbar-nav>li>a:focus{color:#333;background-color:transparent}.o_navbar-nav>.active>a,.o_navbar-nav>.active>a:hover,.o_navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.o_navbar-nav>.disabled>a,.o_navbar-nav>.disabled>a:hover,.o_navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.o_navbar-nav>.open>a,.o_navbar-nav>.open>a:hover,.o_navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}.o_collapse .o_navbar-nav{float:left;margin:0}.o_collapse .o_navbar-nav>li{float:left}.o_collapse .o_navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.o_collapse .o_navbar-nav.o_navbar-right:last-child{margin-right:-15px}.o_collapse.o_navbar-collapse .o_navbar-left{float:left !important}.o_collapse.o_navbar-collapse .o_navbar-right{float:right !important}.o_navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (max-width: 767px){.o_navbar-form .form-group{margin-bottom:5px}}.o_collapse .o_navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.o_collapse .o_navbar-form.o_navbar-right:last-child{margin-right:-15px}.o_navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.o_navbar-fixed-bottom .o_navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.o_navbar-btn{margin-top:8px;margin-bottom:8px}.o_navbar-btn.btn-sm,.btn-group-sm>.o_navbar-btn.btn{margin-top:10px;margin-bottom:10px}.o_navbar-btn.btn-xs,.btn-group-xs>.o_navbar-btn.btn{margin-top:14px;margin-bottom:14px}.o_navbar-text{margin-top:15px;margin-bottom:15px;color:#777}.o_collapse .o_navbar-text{float:left;margin-left:15px;margin-right:15px}.o_collapse .o_navbar-text.o_navbar-right:last-child{margin-right:0}.o_dropdown_tab{position:relative}.o_dropdown_tab>a:first-child{padding-right:30px}.o_dropdown_tab>a:first-child .o_icon-fw{display:none;position:absolute;top:0;left:10px;padding-top:3px;line-height:20px}.o_dropdown_tab>a:first-child span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.o_dropdown_tab .o_navbar_tab_close{position:absolute;top:0px;right:10px;padding-left:0px;padding-right:0px;color:#d9534f;background-color:inherit}.o_dropdown_tab .o_navbar_tab_close:focus,.o_dropdown_tab .o_navbar_tab_close:hover{color:#c9302c;background-color:inherit}#o_navbar_more .dropdown-menu .divider:last-child{display:none}@media (min-width: 768px){#o_navbar_more .dropdown-menu{max-width:300px}}@media (max-width: 767px){#o_navbar_more>li{position:inherit}#o_navbar_more .dropdown-menu{left:0px;right:0px}#o_navbar_more .dropdown-menu a,#o_navbar_more .dropdown-menu i{line-height:30px}#o_navbar_more .dropdown-menu .o_navbar_tab_close{line-height:inherit}}.o_body_popup #o_topnav_printview{display:inline-block}.o_body_popup #o_topnav_close{float:right}.o_body_popup #o_topnav_close span{display:block}.o_body_popup #o_navbar_tools_permanent li>a{background-color:transparent}.o_toolbar{position:relative;margin-bottom:20px;margin-top:-10px;border:1px solid #e7e7e7}.o_toolbar:before,.o_toolbar:after{content:" ";display:table}.o_toolbar:after{clear:both}@media (min-width: 768px){.o_toolbar{border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}}.o_toolbar .o_breadcrumb:before,.o_toolbar .o_breadcrumb:after{content:" ";display:table}.o_toolbar .o_breadcrumb:after{clear:both}.o_toolbar .o_breadcrumb .breadcrumb{margin-bottom:0;padding:5px 9px;font-size:11px;line-height:15px;border-radius:0;background:#f5f5f5;border-top-right-radius:4px;border-top-left-radius:4px}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close{float:right;position:relative;margin:0 0 0 15px;vertical-align:middle}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a{line-height:15px;color:#d9534f}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a:hover{color:#b52b27}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a i{font-size:16px}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a span{display:none}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close:before{content:none}.o_toolbar .o_tools_container{text-align:center;min-height:37px;position:relative;background-color:#f8f8f8;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.o_toolbar .o_tools_container:before,.o_toolbar .o_tools_container:after{content:" ";display:table}.o_toolbar .o_tools_container:after{clear:both}@media (max-width: 991px){.o_toolbar .o_tools_container{min-height:35px}}@media (max-width: 767px){.o_toolbar .o_tools_container{min-height:22px;text-align:left}}.o_toolbar .o_tools_container span.o_tool_text{color:#777;display:inline-block}.o_toolbar .o_tools_container a{color:#777;display:inline-block}.o_toolbar .o_tools_container a:hover{color:#333}.o_toolbar .o_tools_container a.o_disabled{color:#aaa !important}.o_toolbar .o_tools_container a.o_disabled:hover{color:#aaa !important}.o_toolbar .o_tools_container a.active{color:#337ab7;background-color:transparent}.o_toolbar .o_tools_container a.btn-primary{color:#fff}.o_toolbar .o_tools_container .dropdown-menu a{display:block}.o_toolbar .o_tools_container .dropdown-menu a.active{color:#337ab7;background-color:transparent}.o_toolbar .o_breadcrumb+.o_tools_container{border-top:1px solid #e7e7e7}.o_toolbar .o_tools{margin-top:8px;margin-bottom:5px}.o_toolbar .o_tool,.o_toolbar .o_text{position:relative;margin:0 10px}.o_toolbar .o_tool:first-child,.o_toolbar .o_text:first-child{margin-left:0}.o_toolbar .o_tool:last-child,.o_toolbar .o_text:last-child{margin-right:0}.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:18px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{display:block;font-size:12px}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{position:absolute;right:50%;top:-18px;margin-right:-12px;font-size:13px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:16px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{font-size:11px}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{top:-16.5px;margin-right:-11px;font-size:12px}}@media (max-width: 767px){.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:20px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{display:none}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{display:block;position:relative;top:0;left:0;margin-right:0}}.o_toolbar .o_tool .o_chelp,.o_toolbar .o_text .o_chelp{position:relative;top:-1em;vertical-align:top;color:#fff}.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{padding:0;margin-top:5px;border:1px solid #ccc;background-color:#eee}.o_toolbar .o_tool_next a,.o_toolbar .o_tool_previous a{color:#777}.o_toolbar .o_tool_next a:hover,.o_toolbar .o_tool_previous a:hover{color:#333}.o_toolbar .o_tool_next a.o_disabled,.o_toolbar .o_tool_previous a.o_disabled{color:#aaa !important}.o_toolbar .o_tool_next a.o_disabled:hover,.o_toolbar .o_tool_previous a.o_disabled:hover{color:#aaa !important}.o_toolbar .o_tool_next i,.o_toolbar .o_tool_previous i{font-size:21px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{margin-top:4px}.o_toolbar .o_tool_next i,.o_toolbar .o_tool_previous i{font-size:18px}}@media (max-width: 767px){.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{margin-top:0}.o_toolbar .o_tool_next i,.o_toolbar .o_tool_previous i{font-size:20px}}.o_toolbar .o_tool_previous{margin-left:10px;border-bottom-left-radius:4px;border-top-left-radius:4px;border-right:0}.o_toolbar .o_tool_next{border-bottom-right-radius:4px;border-top-right-radius:4px}.o_toolbar .o_tool_dropdown{margin:0 10px}.o_toolbar .o_tool_dropdown:first-child{margin-left:0}.o_toolbar .o_tool_dropdown:last-child{margin-right:0}.o_toolbar .o_tool_dropdown a.dropdown-toggle{position:relative}.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:18px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span{display:block;font-size:12px}.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{position:absolute;right:50%;top:4px;margin-right:-20px;font-size:14px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:16px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span,.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{font-size:11px}.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{top:4px;margin-right:-18px;font-size:12px}}@media (max-width: 767px){.o_toolbar .o_tool_dropdown a.dropdown-toggle{padding:0 10px 0 5px}.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:20px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span{display:none}}.o_toolbar .o_tool_dropdown .dropdown-menu{text-align:left}.o_toolbar .o_tools_left{float:left}.o_toolbar .o_tools_right{float:right}.o_toolbar .o_tools_right_edge{float:right}.o_toolbar .o_tools_center{float:both;width:50%;margin-left:auto;margin-right:auto}.o_toolbar .o_tools_segments{margin:0 auto -1.1em auto}.o_toolbar .o_tools_segments.o_tools_segments_alone{margin-top:1.5em}@media (max-width: 991px){.o_toolbar .o_tools{margin-top:6px;margin-bottom:4px}.o_toolbar .o_tools.o_tools_segments{margin:0 auto -1.1em auto}.o_toolbar .o_tool span{max-width:10em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_toolbar .o_tools_segments .o_tool span{display:block}.o_toolbar .o_tool,.o_toolbar .o_text,.o_toolbar .o_tool_dropdown{margin:0 5px}}@media (max-width: 767px){.o_toolbar .o_tools{margin-top:6px;margin-bottom:4px}.o_toolbar .o_tools .o_chelp{top:0;vertical-align:top}.o_toolbar .o_tools.o_tools_segments{margin:0 auto -1.1em auto;text-align:center}.o_toolbar .o_tools_center{float:left}.o_toolbar .o_tool,.o_toolbar .o_text,.o_toolbar .o_tool_dropdown{margin:0 0;position:static}.o_toolbar .o_tool_dropdown .dropdown-menu{left:0px;right:0px}.o_toolbar .o_tool_dropdown .dropdown-menu a,.o_toolbar .o_tool_dropdown .dropdown-menu i{line-height:30px}.o_toolbar .o_tool_dropdown .dropdown-menu .o_navbar_tab_close{line-height:inherit}}#o_main_container .o_toolbar_message{display:table;margin:0 auto 20px auto}#o_main_container .o_toolbar_message.o_warning{padding-top:5px;padding-bottom:5px;border:1px solid #8a6d3b;border-radius:3px}.o_edit_mode .o_toolbar .o_tools_container{background:repeating-linear-gradient(300deg, #fff0d9, #fff0d9 10px, #fcfcfc 10px, #fcfcfc 20px)}.o_edit_mode .o_toolbar .o_edit_mode .o_tools_container{background:#f8f8f8}body{overflow-x:hidden}.o_container_offcanvas{position:relative;max-width:1324px;-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;-m-transition:all .25s ease-in-out;transition:all .25s ease-in-out}#o_offcanvas_right{position:absolute;top:0;right:-250px;width:250px;padding:15px 15px;background-color:#222;color:#9d9d9d;border:1px solid #090909;-webkit-box-shadow:0px 0px 4px 3px rgba(0,0,0,0.25);box-shadow:0px 0px 4px 3px rgba(0,0,0,0.25);min-height:100%;z-index:10;display:none}#o_offcanvas_right:before,#o_offcanvas_right:after{content:" ";display:table}#o_offcanvas_right:after{clear:both}@media screen and (max-width: 767px){.row-offcanvas{position:relative;-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;transition:all .25s ease-out}.row-offcanvas-right{right:0}.row-offcanvas-right .sidebar-offcanvas{right:-50%}.row-offcanvas-right.active{right:50%}.row-offcanvas-left{left:0}.row-offcanvas-left .sidebar-offcanvas{left:-50%}.row-offcanvas-left.active{left:50%}.sidebar-offcanvas{position:absolute;top:0;width:50%}}.o_info,.b_info,p.b_info,div.b_info,.o_form .o_info,.o_togglebox_wrapper div.o_togglebox_content,div.o_qti_item_itemfeedback,.o_assessmentitem_wrapper .modalFeedback .o_info{margin:20px 0;padding:20px;border-left:3px solid #777;background-color:#eee}.o_info h2,.o_info h3,.o_info h4,.o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_info h2,.o_info h5,.b_info h2,.o_form .o_info h2,.o_togglebox_wrapper div.o_togglebox_content h2,div.o_qti_item_itemfeedback h2,.o_assessmentitem_wrapper .modalFeedback .o_info h2,.b_info h3,.o_form .o_info h3,.o_togglebox_wrapper div.o_togglebox_content h3,div.o_qti_item_itemfeedback h3,.o_assessmentitem_wrapper .modalFeedback .o_info h3,.b_info h4,.o_form .o_info h4,.o_togglebox_wrapper div.o_togglebox_content h4,div.o_qti_item_itemfeedback h4,.o_assessmentitem_wrapper .modalFeedback .o_info h4,.b_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_info h2,.o_form .o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_info h2,.o_togglebox_wrapper div.o_togglebox_content .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_togglebox_wrapper div.o_togglebox_content h2,div.o_qti_item_itemfeedback .o_cal .fc-header-title h2,.o_cal .fc-header-title div.o_qti_item_itemfeedback h2,.o_assessmentitem_wrapper .modalFeedback .o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info h2,.b_info h5,.o_form .o_info h5,.o_togglebox_wrapper div.o_togglebox_content h5,div.o_qti_item_itemfeedback h5,.o_assessmentitem_wrapper .modalFeedback .o_info h5{color:#777}.o_note,.b_note,p.b_note,div.b_note,.o_form .o_desc,.o_course_run .o_statusinfo,.o_course_stats .o_desc,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment{margin:20px 0;padding:20px;border-left:3px solid #31708f;background-color:#d9edf7}.o_note h2,.o_note h3,.o_note h4,.o_note .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_note h2,.o_note h5,.b_note h2,.o_form .o_desc h2,.o_course_run .o_statusinfo h2,.o_course_stats .o_desc h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h2,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h2,.b_note h3,.o_form .o_desc h3,.o_course_run .o_statusinfo h3,.o_course_stats .o_desc h3,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h3,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h3,.b_note h4,.o_form .o_desc h4,.o_course_run .o_statusinfo h4,.o_course_stats .o_desc h4,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h4,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h4,.b_note .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_note h2,.o_form .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_desc h2,.o_course_run .o_statusinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_statusinfo h2,.o_course_stats .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_stats .o_desc h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h2,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h2,.b_note h5,.o_form .o_desc h5,.o_course_run .o_statusinfo h5,.o_course_stats .o_desc h5,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h5,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h5{color:#31708f}.o_important,.b_important,p.b_important,div.b_important,.o_bc_empty,.o_course_run .o_no_scoreinfo{margin:20px 0;padding:20px;border-left:3px solid #F4D000;background-color:#FFF1A4}.o_important h2,.o_important h3,.o_important h4,.o_important .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_important h2,.o_important h5,.b_important h2,.o_bc_empty h2,.o_course_run .o_no_scoreinfo h2,.b_important h3,.o_bc_empty h3,.o_course_run .o_no_scoreinfo h3,.b_important h4,.o_bc_empty h4,.o_course_run .o_no_scoreinfo h4,.b_important .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_important h2,.o_bc_empty .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_bc_empty h2,.o_course_run .o_no_scoreinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_no_scoreinfo h2,.b_important h5,.o_bc_empty h5,.o_course_run .o_no_scoreinfo h5{color:#F4D000}.o_success,.b_success,p.b_success,div.b_success,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback{margin:20px 0;padding:20px;border-left:3px solid #3c763d;background-color:#dff0d8}.o_success h2,.o_success h3,.o_success h4,.o_success .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_success h2,.o_success h5,.b_success h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h2,.b_success h3,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h3,.b_success h4,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h4,.b_success .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_success h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h2,.b_success h5,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h5{color:#3c763d}.o_warning,.b_warning,p.b_warning,div.b_warning,.o_instruction,.o_form .o_warning,p.o_gta_reopen_warning{margin:20px 0;padding:20px;border-left:3px solid #8a6d3b;background-color:#fcf8e3}.o_warning h2,.o_warning h3,.o_warning h4,.o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_warning h2,.o_warning h5,.b_warning h2,.o_instruction h2,.o_form .o_warning h2,p.o_gta_reopen_warning h2,.b_warning h3,.o_instruction h3,.o_form .o_warning h3,p.o_gta_reopen_warning h3,.b_warning h4,.o_instruction h4,.o_form .o_warning h4,p.o_gta_reopen_warning h4,.b_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_warning h2,.o_instruction .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_instruction h2,.o_form .o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_warning h2,p.o_gta_reopen_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title p.o_gta_reopen_warning h2,.b_warning h5,.o_instruction h5,.o_form .o_warning h5,p.o_gta_reopen_warning h5{color:#8a6d3b}.o_error,.b_error,p.b_error,div.b_error,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback{margin:20px 0;padding:20px;border-left:3px solid #a94442;background-color:#f2dede}.o_error h2,.o_error h3,.o_error h4,.o_error .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_error h2,.o_error h5,.b_error h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h2,.b_error h3,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h3,.b_error h4,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h4,.b_error .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_error h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h2,.b_error h5,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h5{color:#a94442}.o_instruction{margin-top:0px;border-left:none;padding-top:10px;padding-bottom:10px}.o_instruction>.o_button_group{margin-bottom:0px}div.o_callout_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1;background:#000;opacity:0;filter:alpha(opacity=0)}.o_alert_info{position:fixed;top:-100%;left:0;display:none;z-index:2000;width:100%;text-align:center}.o_alert_info .alert{position:relative;width:auto;margin:0 auto;text-align:left;-webkit-box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15);box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15)}.o_alert_info .alert .o_alert_close{float:right;color:#777}.o_alert_info .alert .o_alert_close:hover{color:#555}@media (min-width: 768px){.o_alert_info .alert{width:600px}}#o_msg_sticky,#o_msg_sticky_preview{position:relative;color:#a94442;background-color:#f2dede;border:1px solid #ebccd1;padding:10px 16px 10px 60px;min-height:40px;margin:-20px 0 20px 0}#o_msg_sticky .o_icon_info_msg,#o_msg_sticky_preview .o_icon_info_msg{position:absolute;left:10px;top:5px;font-size:40px}#o_msg_sticky.o_msg_sticky_fullscreen,#o_msg_sticky_preview.o_msg_sticky_fullscreen{margin-top:0}@media (min-width: 768px){.modal .o_modal_fullwidth{width:90%}}@media (min-width: 992px){.modal .o_modal_fullwidth{width:80%}}.modal .modal-header h4,.modal .modal-header .o_cal .fc-header-title h2,.o_cal .fc-header-title .modal .modal-header h2{color:#337ab7;font-weight:500;font-family:inherit;line-height:1.1}.o_tree{position:relative;display:block;background-color:none;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;overflow:hidden;font-size:14px}.o_tree a{color:#777;background-color:none}.o_tree a:hover,.o_tree a:focus{color:#333}.o_tree .o_tree_link{background-color:none}.o_tree .o_tree_link:hover,.o_tree .o_tree_link:focus{background-color:#f8f8f8}.o_tree .o_tree_link:first-child{background-color:transparent}.o_tree .o_tree_link:last-child:hover,.o_tree .o_tree_link:last-child:focus{background-color:#f8f8f8}.o_tree .o_insertion_point>a>span{padding:5px;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.o_tree .o_insertion_source>a>span.o_tree_item,.o_tree .o_insertion_source>a>span.o_dnd_item{border-bottom:solid #f90 4px;background-color:#fefbf6}.o_tree ul{margin:0;padding:0;list-style-type:none}.o_tree ul li{margin:0;padding:0;white-space:nowrap}.o_tree ul li div{position:relative;margin-bottom:-1px;border-bottom:1px solid #ddd}.o_tree ul li div.popover{position:absolute;left:auto;right:0}.o_tree ul li div a.o_tree_oc_l0{position:absolute;top:10px;left:-4px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l0,.o_tree ul .o_tree_level_close.b_tree_oc_l0{z-index:10}.o_tree ul li div a.o_tree_oc_l1{position:absolute;top:10px;left:11px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l1,.o_tree ul .o_tree_level_close.b_tree_oc_l1{z-index:10}.o_tree ul li div a.o_tree_oc_l2{position:absolute;top:10px;left:26px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l2,.o_tree ul .o_tree_level_close.b_tree_oc_l2{z-index:10}.o_tree ul li div a.o_tree_oc_l3{position:absolute;top:10px;left:41px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l3,.o_tree ul .o_tree_level_close.b_tree_oc_l3{z-index:10}.o_tree ul li div a.o_tree_oc_l4{position:absolute;top:10px;left:56px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l4,.o_tree ul .o_tree_level_close.b_tree_oc_l4{z-index:10}.o_tree ul li div a.o_tree_oc_l5{position:absolute;top:10px;left:71px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l5,.o_tree ul .o_tree_level_close.b_tree_oc_l5{z-index:10}.o_tree ul li div a.o_tree_oc_l6{position:absolute;top:10px;left:86px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l6,.o_tree ul .o_tree_level_close.b_tree_oc_l6{z-index:10}.o_tree ul li div a.o_tree_oc_l7{position:absolute;top:10px;left:101px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l7,.o_tree ul .o_tree_level_close.b_tree_oc_l7{z-index:10}.o_tree ul li div a.o_tree_oc_l8{position:absolute;top:10px;left:116px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l8,.o_tree ul .o_tree_level_close.b_tree_oc_l8{z-index:10}.o_tree ul li div a.o_tree_oc_l9{position:absolute;top:10px;left:131px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l9,.o_tree ul .o_tree_level_close.b_tree_oc_l9{z-index:10}.o_tree ul li div a.o_tree_oc_l10{position:absolute;top:10px;left:146px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l10,.o_tree ul .o_tree_level_close.b_tree_oc_l10{z-index:10}.o_tree ul li div a.o_tree_oc_l11{position:absolute;top:10px;left:161px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l11,.o_tree ul .o_tree_level_close.b_tree_oc_l11{z-index:10}.o_tree ul li div span.o_tree_l0{display:block;padding:10px 2px 10px 10px;z-index:9}.o_tree ul li div span.o_tree_l1{display:block;padding:10px 2px 10px 25px;z-index:9}.o_tree ul li div span.o_tree_l2{display:block;padding:10px 2px 10px 40px;z-index:9}.o_tree ul li div span.o_tree_l3{display:block;padding:10px 2px 10px 55px;z-index:9}.o_tree ul li div span.o_tree_l4{display:block;padding:10px 2px 10px 70px;z-index:9}.o_tree ul li div span.o_tree_l5{display:block;padding:10px 2px 10px 85px;z-index:9}.o_tree ul li div span.o_tree_l6{display:block;padding:10px 2px 10px 100px;z-index:9}.o_tree ul li div span.o_tree_l7{display:block;padding:10px 2px 10px 115px;z-index:9}.o_tree ul li div span.o_tree_l8{display:block;padding:10px 2px 10px 130px;z-index:9}.o_tree ul li div span.o_tree_l9{display:block;padding:10px 2px 10px 145px;z-index:9}.o_tree ul li div span.o_tree_l10{display:block;padding:10px 2px 10px 160px;z-index:9}.o_tree ul li div span.o_tree_l11{display:block;padding:10px 2px 10px 175px;z-index:9}.o_tree ul span.o_tree_leaf{display:none}.o_tree ul span.o_tree_link>input[type=checkbox]{margin-right:5px}.o_tree ul li .badge{position:absolute;font-size:70%}.o_tree ul li .badge:before{content:none}.o_tree ul li .badge.o_badge_1{top:3px;right:1px}.o_tree ul li .badge.o_badge_2{bottom:3px;right:1px}.o_tree ul li .badge.o_badge_3{top:3px;right:25px}.o_tree ul li .badge.o_badge_4{bottom:3px;right:25px}.o_tree ul li div.o_dnd_sibling{margin:0;padding:0;border-bottom:none}.o_tree ul li .active.o_tree_link{background-color:none;font-weight:bold}.o_tree ul li .active.o_tree_link a{color:#337ab7}.o_tree ul li .active.o_tree_link:hover,.o_tree ul li .active.o_tree_link:focus{background-color:#eee}.o_tree ul li .active.o_tree_link:hover a,.o_tree ul li .active.o_tree_link:focus a{color:#23527c}.o_tree ul li .active_parent.o_tree_link{font-weight:bold}.o_tree ul li .active_parent.o_tree_link a{color:#777}.o_tree ul li .active_parent.o_tree_link a:hover,.o_tree ul li .active_parent.o_tree_link a:focus{color:#333}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l0{left:6px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l1{left:21px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l2{left:36px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l3{left:51px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l4{left:66px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l5{left:81px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l6{left:96px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l7{left:111px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l8{left:126px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l9{left:141px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l10{left:156px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l11{left:171px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l0{padding:10px 2px 10px 20px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l1{padding:10px 2px 10px 35px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l2{padding:10px 2px 10px 50px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l3{padding:10px 2px 10px 65px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l4{padding:10px 2px 10px 80px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l5{padding:10px 2px 10px 95px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l6{padding:10px 2px 10px 110px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l7{padding:10px 2px 10px 125px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l8{padding:10px 2px 10px 140px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l9{padding:10px 2px 10px 155px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l10{padding:10px 2px 10px 170px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l11{padding:10px 2px 10px 185px}.o_tree .o_dnd_item{cursor:move;z-index:100}.o_tree .o_dnd_proxy{opacity:.4;filter:alpha(opacity=40);background-color:#f0ad4e;padding:5px 10px 5px 10px;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.o_tree .o_dnd_item.o_dnd_over{background-color:#ffff60}.o_tree .o_dnd_sibling{height:7px;width:100%}.o_tree .o_dnd_sibling.o_dnd_over{background:transparent url(../light/images/arrow_dd.png) top left no-repeat}.o_tree .o_dnd_l1{margin-left:0 !important}.o_tree .o_dnd_l2{margin-left:1em !important}.o_tree .o_dnd_l3{margin-left:2em !important}.o_tree .o_dnd_l4{margin-left:3em !important}.o_tree .o_dnd_l5{margin-left:4em !important}.o_tree .o_dnd_l6{margin-left:5em !important}.o_tree .o_dnd_l7{margin-left:6em !important}.o_tree .o_dnd_l8{margin-left:7em !important}.o_tree .o_dnd_l9{margin-left:8em !important}.o_tree .o_dnd_l10{margin-left:9em !important}.o_tree .o_dnd_l11{margin-left:10em !important}.o_tree.o_tree_insert_tool span.o_tree_link a{display:block}.o_offcanvas .o_tree{border:0}.o_selection_tree{position:relative;display:block;background-color:none;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;overflow:hidden;font-size:14px}.o_selection_tree ul{margin:0;padding:0;list-style-type:none}.o_selection_tree li{margin:0;padding:0;white-space:nowrap}.o_selection_tree li div{position:relative;margin-bottom:-1px;border-bottom:1px solid #ddd}.o_selection_tree li>div>span.o_tree_l0,.o_selection_tree li>div>div.checkbox.o_tree_l0,.o_selection_tree li>div>div.radio.o_tree_l0{display:block;padding:10px 2px 10px 10px;z-index:9}.o_selection_tree li>div>span.o_tree_l1,.o_selection_tree li>div>div.checkbox.o_tree_l1,.o_selection_tree li>div>div.radio.o_tree_l1{display:block;padding:10px 2px 10px 25px;z-index:9}.o_selection_tree li>div>span.o_tree_l2,.o_selection_tree li>div>div.checkbox.o_tree_l2,.o_selection_tree li>div>div.radio.o_tree_l2{display:block;padding:10px 2px 10px 40px;z-index:9}.o_selection_tree li>div>span.o_tree_l3,.o_selection_tree li>div>div.checkbox.o_tree_l3,.o_selection_tree li>div>div.radio.o_tree_l3{display:block;padding:10px 2px 10px 55px;z-index:9}.o_selection_tree li>div>span.o_tree_l4,.o_selection_tree li>div>div.checkbox.o_tree_l4,.o_selection_tree li>div>div.radio.o_tree_l4{display:block;padding:10px 2px 10px 70px;z-index:9}.o_selection_tree li>div>span.o_tree_l5,.o_selection_tree li>div>div.checkbox.o_tree_l5,.o_selection_tree li>div>div.radio.o_tree_l5{display:block;padding:10px 2px 10px 85px;z-index:9}.o_selection_tree li>div>span.o_tree_l6,.o_selection_tree li>div>div.checkbox.o_tree_l6,.o_selection_tree li>div>div.radio.o_tree_l6{display:block;padding:10px 2px 10px 100px;z-index:9}.o_selection_tree li>div>span.o_tree_l7,.o_selection_tree li>div>div.checkbox.o_tree_l7,.o_selection_tree li>div>div.radio.o_tree_l7{display:block;padding:10px 2px 10px 115px;z-index:9}.o_selection_tree li>div>span.o_tree_l8,.o_selection_tree li>div>div.checkbox.o_tree_l8,.o_selection_tree li>div>div.radio.o_tree_l8{display:block;padding:10px 2px 10px 130px;z-index:9}.o_selection_tree li>div>span.o_tree_l9,.o_selection_tree li>div>div.checkbox.o_tree_l9,.o_selection_tree li>div>div.radio.o_tree_l9{display:block;padding:10px 2px 10px 145px;z-index:9}.o_selection_tree li>div>span.o_tree_l10,.o_selection_tree li>div>div.checkbox.o_tree_l10,.o_selection_tree li>div>div.radio.o_tree_l10{display:block;padding:10px 2px 10px 160px;z-index:9}.o_selection_tree li>div>span.o_tree_l11,.o_selection_tree li>div>div.checkbox.o_tree_l11,.o_selection_tree li>div>div.radio.o_tree_l11{display:block;padding:10px 2px 10px 175px;z-index:9}.o_breadcrumb{position:relative}.o_breadcrumb .o_breadcrumb_close{float:right;position:relative;margin:0 0 0 15px;vertical-align:middle}.o_breadcrumb .o_breadcrumb_close a{line-height:15px;color:#d9534f}.o_breadcrumb .o_breadcrumb_close a:hover{color:#b52b27}.o_breadcrumb .o_breadcrumb_close a i{font-size:16px}.o_breadcrumb .o_breadcrumb_close a span{display:none}.o_breadcrumb .o_breadcrumb_close:before{content:none}.o_form .o_icon_mandatory{margin-right:0.25em}.o_form .o_form_chelp{padding-left:0.25em;margin-right:-1.25em}.o_form .o_form_example{font-size:90%}.o_form .o_error{margin-top:1px;margin-bottom:0;padding:10px}.o_form hr.o_spacer_noline{border-top:1px solid transparent}.o_form hr.o_spacer.form,.o_form hr.o_spacer_noline.form{margin-top:0px;margin-bottom:0px}.o_form .form-group.o_omit_margin{margin-bottom:0}.o_form .o_date{position:relative;padding-right:34px}.o_form .o_date.form-inline .form-group,.o_form .o_date.o_navbar-form .form-group{margin-left:0}.o_form input.o_date_ms{width:3em}.o_form .o_date.form-inline .o_date_ms.form-group,.o_form .o_date.o_navbar-form .o_date_ms.form-group{margin-left:25px}.o_form .has-feedback .o_date.form-inline .form-control.o_date_ms,.o_form .has-feedback .o_date.o_navbar-form .form-control.o_date_ms{padding-right:0}.o_form .o_form_element.form-inline .o_form_element.form-group,.o_form .o_form_element.o_navbar-form .o_form_element.form-group{margin-left:25px}.o_form .input-group.o_date_picker{width:12em}.o_form .o_filepreview{margin-bottom:10px}.o_form .o_fileinput{cursor:pointer;position:relative}.o_form .o_fileinput .o_fakechooser{position:relative;z-index:1}.o_form .o_fileinput .o_realchooser{position:absolute;top:0;right:0;z-index:2;opacity:0;filter:alpha(opacity=0)}.o_form .o_fileinput .o_realchooser.o_chooser_with_delete{right:38px}.o_form .o_fileElement.has-error .o_icon_error.form-control-feedback{display:none}.o_form .form-control.textarea_disabled{resize:both;overflow:auto;white-space:pre-wrap;background:#fafafa}.o_centered_form{text-align:center}.o_centered_form fieldset.o_form{display:inline-block;text-align:left}.o_choice_checkrow,.o_choice_textrow{vertical-align:text-top;padding-bottom:2px}.o_choice_textrow{padding-left:1em}.o_togglecheck a{white-space:nowrap}.o_catalog .o_catalog_delete_img{position:relative;top:-0.5em}.o_button_dirty{color:#fff;background-color:#f0ad4e;border-color:#eea236}.o_button_dirty:hover,.o_button_dirty:focus,.o_button_dirty.focus,.o_button_dirty:active,.o_button_dirty.active,.open>.o_button_dirty.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.o_button_dirty:active,.o_button_dirty.active,.open>.o_button_dirty.dropdown-toggle{background-image:none}.o_button_dirty.disabled,.o_button_dirty.disabled:hover,.o_button_dirty.disabled:focus,.o_button_dirty.disabled.focus,.o_button_dirty.disabled:active,.o_button_dirty.disabled.active,.o_button_dirty[disabled],.o_button_dirty[disabled]:hover,.o_button_dirty[disabled]:focus,.o_button_dirty[disabled].focus,.o_button_dirty[disabled]:active,.o_button_dirty[disabled].active,fieldset[disabled] .o_button_dirty,fieldset[disabled] .o_button_dirty:hover,fieldset[disabled] .o_button_dirty:focus,fieldset[disabled] .o_button_dirty.focus,fieldset[disabled] .o_button_dirty:active,fieldset[disabled] .o_button_dirty.active{background-color:#f0ad4e;border-color:#eea236}.o_button_dirty .badge{color:#f0ad4e;background-color:#fff}.o_button_toggle{border:1px solid #777;border-top-right-radius:9px;border-top-left-radius:9px;border-bottom-right-radius:9px;border-bottom-left-radius:9px;background:#eee;display:inline-block;height:18px;line-height:16px;font-size:16px;text-align:left;padding:0 0.5em 0 1px;margin:0}.o_button_toggle i{color:#777;text-shadow:1px 0 2px rgba(0,0,0,0.25)}.o_button_toggle span{line-height:16px;vertical-align:top;font-size:60%;color:#777;text-transform:uppercase}.o_button_toggle.o_on{text-align:right;padding:0 1px 0 0.5em}.o_button_toggle.o_on i{color:#337ab7;text-shadow:-1px 0 2px rgba(0,0,0,0.25)}.o_table_wrapper{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.o_table_wrapper.o_table_flexi .o_table_body{margin-top:20px}.o_table_wrapper.o_table_flexi .table{margin-top:20px}.o_table_wrapper.o_table_flexi .table td ul{margin:0}.o_table_wrapper.o_table_flexi.o_table_no_margin .table{margin:0}.o_table_wrapper.o_table_flexi tfoot{border-top:solid #ddd 2px}.o_table_wrapper.o_table_edit table tbody{border-top:solid #f90 4px;background-color:#fefbf6}.o_table_wrapper .o_table_search{max-width:50em}.o_table_wrapper .o_table_footer .o_table_pagination{text-align:center}.o_table_wrapper .o_table_rows_infos{float:left;padding-left:0;padding-right:20px;margin:20px 0}.o_table_wrapper .o_row_selected td{background-color:#dff0d8 !important}.o_table_wrapper .o_table{margin-bottom:0}.o_table_wrapper .o_marked{font-weight:bold}.o_table_wrapper .table{margin-bottom:0}.o_table_wrapper th a,.o_table_wrapper th a:hover{color:#333;text-decoration:none}.o_table_search a.btn.o_reset_quick_search{width:38px;margin-left:-38px;z-index:5;color:grey}.o_breadcrumb.o_table_flexi_breadcrumb ol.breadcrumb{margin:5px 0 0 0}div.o_table_flexi div.o_table_flexi_leaf{margin-left:1.55em}div.o_table_flexi div.o_table_flexi_l0{padding-left:0px}div.o_table_flexi div.o_table_flexi_l1{padding-left:15px}div.o_table_flexi div.o_table_flexi_l2{padding-left:30px}div.o_table_flexi div.o_table_flexi_l3{padding-left:45px}div.o_table_flexi div.o_table_flexi_l4{padding-left:60px}div.o_table_flexi div.o_table_flexi_l5{padding-left:75px}div.o_table_flexi div.o_table_flexi_l6{padding-left:90px}div.o_table_flexi div.o_table_flexi_l7{padding-left:105px}div.o_table_flexi div.o_table_flexi_l8{padding-left:120px}div.o_table_flexi div.o_table_flexi_l9{padding-left:135px}div.o_table_flexi div.o_table_flexi_l10{padding-left:150px}div.o_table_flexi div.o_table_flexi_l11{padding-left:165px}@media (max-width: 767px){.o_table_wrapper .o_table_rows_infos{clear:both}}a.o_orderby,a.o_orderby:hover{color:#333;text-decoration:none}a.o_orderby.o_orderby_asc,a.o_orderby.o_orderby_desc,a.o_orderby:hover.o_orderby_asc,a.o_orderby:hover.o_orderby_desc{border-bottom:1px solid #ddd}.o_table_row_count{padding-top:6px;padding-bottom:6px;vertical-align:middle}.o_table_row_details td{background-color:white !important}.o_table_config{font-size:12px}.o_table_buttons{text-align:center}.o_table_buttons input{margin-right:1em}.o_table_buttons input:last-child{margin-right:0}.o_table_tools{margin-left:6px}.o_table_tools_indications{margin-left:10px;padding-top:3px;font-size:80%}.o_table_tools_indications a{color:#d9534f}.o_table_toolbar_left .o_table_tools_indications{text-align:right}.o_table_count{max-width:20em;float:left;padding:0 15px}.o_info .table-bordered td,o_note .table-bordered td,o_important .table-bordered td,o_warning .table-bordered td,o_error .table-bordered td{border-color:#333}.panel .o_table_layout{border-top:1px solid #ddd;padding-top:6px}.panel .o_table_count{padding:0 15px}#o_navbar_imclient .o_im_messages{float:left}#o_navbar_imclient #o_im_message,#o_navbar_imclient #o_im_status,#o_navbar_imclient #o_im_summary{float:left;position:relative;padding:15px 3px}#o_navbar_imclient #o_im_status,#o_navbar_imclient #o_im_message{padding-left:15px}#o_navbar_imclient #o_im_summary .badge{color:#fff;background-color:#777}#o_navbar_imclient #o_im_status li>a>span{display:inline}#o_navbar_imclient #o_im_status div.o_chelp_wrapper{right:0.5em}#o_navbar_imclient #o_im_message a:hover,#o_navbar_imclient #o_im_message a:focus{text-decoration:none}#o_navbar_imclient #o_im_message .o_icon_message{color:#d9534f}#o_navbar_imclient #o_im_message .o_icon_message:hover{color:#f4c37d}.o_im_load_history{margin-bottom:6px}.o_im_load_history .o_label{font-size:12px;padding-right:0.5em;line-height:1.5em;color:#777}.o_im_chat_history{height:170px;font-size:90%;border:1px solid #eee;margin:0 0 1em 0;overflow:scroll;overflow-x:auto}.o_im_message_group{padding:3px 3px 3px 40px;min-height:40px;position:relative;border-top:1px solid #eee;background:#fff}.o_im_message_group.o_odd{background:#F4F4F4}.o_im_message_group .o_portrait{position:absolute;top:3px;left:3px}.o_im_message_group .o_im_from{color:#777;font-size:12px;font-weight:bold}.o_im_message_group .o_im_from:hover{color:#5e5e5e}.o_im_message_group div.o_im_body{padding:3px 0 3px 0;font-size:12px}.o_im_message_group div.o_im_body .o_date{float:right;color:#777;font-size:9px}.o_groupchat_roster{font-size:12px}.o_groupchat_roster li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333}.o_groupchat_roster li.o_vip{color:#3c763d}.o_groupchat_roster li.o_anonymous{color:#31708f}.o_im_buddieslist .o_im_buddieslist_toggler .btn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_im_buddieslist ul{font-size:12px}.o_im_buddieslist ul ul{padding-left:1em}.o_im_buddieslist ul a{color:#337ab7}.o_im_buddieslist ul a:hover{color:#23527c}.o_flag{position:relative;top:1px;display:inline-block;line-height:1;width:16px;height:16px;background-repeat:no-repeat;background-position:0 100%}option.o_with_flag{padding-left:23px;min-height:16px;background-repeat:no-repeat;background-position:2px 50%}.o_flag_en{background-image:url("../light/images/flags/gb.png")}.o_flag_de{background-image:url("../light/images/flags/de.png")}.o_flag_fr{background-image:url("../light/images/flags/fr.png")}.o_flag_it{background-image:url("../light/images/flags/it.png")}.o_flag_es{background-image:url("../light/images/flags/es.png")}.o_flag_da{background-image:url("../light/images/flags/dk.png")}.o_flag_cs{background-image:url("../light/images/flags/cz.png")}.o_flag_el{background-image:url("../light/images/flags/gr.png")}.o_flag_ee{background-image:url("../light/images/flags/ee.png")}.o_flag_ru{background-image:url("../light/images/flags/ru.png")}.o_flag_pl{background-image:url("../light/images/flags/pl.png")}.o_flag_zh_CN{background-image:url("../light/images/flags/cn.png")}.o_flag_zh_TW{background-image:url("../light/images/flags/tw.png")}.o_flag_lt{background-image:url("../light/images/flags/lt.png")}.o_flag_fa{background-image:url("../light/images/flags/ir.png")}.o_flag_pt_PT{background-image:url("../light/images/flags/pt.png")}.o_flag_pt_BR{background-image:url("../light/images/flags/br.png")}.o_flag_tr{background-image:url("../light/images/flags/tr.png")}.o_flag_hu{background-image:url("../light/images/flags/hu.png")}.o_flag_sq{background-image:url("../light/images/flags/al.png")}.o_flag_in{background-image:url("../light/images/flags/id.png")}.o_flag_ar{background-image:url("../light/images/flags/eg.png")}.o_flag_rm{background-image:url("../light/images/flags/rm.png")}.o_flag_af{background-image:url("../light/images/flags/za.png")}.o_flag_vi{background-image:url("../light/images/flags/vn.png")}.o_flag_mn{background-image:url("../light/images/flags/mn.png")}.o_flag_iw{background-image:url("../light/images/flags/il.png")}.o_flag_ko{background-image:url("../light/images/flags/kr.png")}.o_flag_nl_NL{background-image:url("../light/images/flags/nl.png")}.o_flag_jp{background-image:url("../light/images/flags/jp.png")}.o_flag_nb_NO{background-image:url("../light/images/flags/no.png")}.o_flag_et_EE{background-image:url("../light/images/flags/ee.png")}.o_flag_bg{background-image:url("../light/images/flags/bg.png")}.o_flag_hi_IN_ASIA{background-image:url("../light/images/flags/in.png")}.o_flag_ar_LB{background-image:url("../light/images/flags/lb.png")}.o_flag_gl_ES{background-image:url("../light/images/flags/galicia.png")}.o_flag_sk{background-image:url("../light/images/flags/sk.png")}.o_rating .o_rating_title{font-size:12px}.o_rating .o_rating_items{white-space:nowrap}.o_rating .o_rating_items .o_icon{color:#f0ad4e}.o_rating .o_rating_items .o_legend{margin-left:1em;font-size:12px;line-height:normal}.o_rating.o_rating_personal .o_rating_items .o_icon{color:#337ab7}.o_rating .o_rating_explanation{font-size:12px;color:#777}@media (max-width: 991px){.o_rating .o_rating_title,.o_rating .o_rating_explanation{display:none}}.o_comments .o_comment_wrapper .o_avatar{float:left;margin:0 1em 0 0}.o_comments .o_comment_wrapper .o_reply,.o_comments .o_comment_wrapper .o_delete{float:right}.o_comments .o_comment_wrapper .o_comment_wrapper{margin-left:16px}.o_ratings_and_comments .o_rating_wrapper{vertical-align:middle;display:inline-block}.o_ratings_and_comments a.o_comments{margin-left:10px;position:relative;top:0.1em}.d3chart .bar{shape-rendering:crispEdges}.d3chart .bar_default_light{fill:#64a0d3}.d3chart .bar_default,.d3chart .bubble_default{fill:#337ab7}.d3chart .bar_default_dark{fill:#23527c}.d3chart .axis{font:12px sans-serif}.d3chart .axis path,.d3chart .axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.o_forum_peekview .o_quote_wrapper,.o_forum_peekview .b_quote_wrapper{display:none}.o_forum_thread_sticky{font-weight:bold}.o_forum_switch{font-size:12px}.o_forum_toolbar{margin-bottom:6px;float:left}.o_forum_fulltextsearch{float:right}@media (max-width: 767px){.o_forum_fulltextsearch{float:left}.o_forum_toolbar .o_forum_tool span{display:none}}.o_forum{padding-bottom:50px}.o_forum .o_mark,.o_forum .o_ep_collect{float:right;position:relative;width:2em;margin-left:12px}.o_forum .o_portrait{float:left;margin-right:16px}.o_forum .o_portrait_avatar{width:70px;height:70px}.o_forum .o_newindicator{font-size:10px;color:#5cb85c;text-transform:uppercase;padding-left:1em;vertical-align:text-top;white-space:nowrap}.o_forum .o_author,.o_forum .o_date{display:inline-block;color:#777}.o_forum .o_date{font-size:12px}.o_forum .o_modified{color:#8a6d3b;font-size:12px;font-style:italic}.o_forum .o_forum_message{margin-bottom:20px;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1)}.o_forum .o_forum_message_new{-webkit-box-shadow:0 1px 10px rgba(92,184,92,0.3);box-shadow:0 1px 10px rgba(92,184,92,0.3)}.o_forum .o_forum_message_highlight{-webkit-box-shadow:0 1px 10px rgba(240,173,78,0.5);box-shadow:0 1px 10px rgba(240,173,78,0.5)}.o_forum .o_forum_message_header{padding:10px 15px;border-bottom:1px solid #ddd;background-color:#f5f5f5;border-top-right-radius:3px;border-top-left-radius:3px}.o_forum .o_forum_message_title{margin-top:0}.o_forum .o_forum_message_body{padding:10px 15px}.o_forum .o_forum_message_attachments{border-top:1px solid #ddd;padding:10px 15px;font-size:12px;background-color:#f7f7f9}.o_forum .o_attachment{position:relative;max-width:250px;vertical-align:top;margin:6px 12px 10px 0}.o_forum .o_attachment img{margin-top:6px}.o_forum .o_filename{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_forum .o_icon_enlarge{position:absolute;left:1em;bottom:1em;text-shadow:1px 1px 2px #fff, -1px 1px 2px #fff, 1px -1px 2px #fff, -1px -1px 2px #fff}@media (min-width: 768px) and (max-width: 991px){.o_forum .o_attachments{font-size:10px}.o_forum .o_attachment{max-width:200px}.o_forum .o_attachment img{max-width:150px}.o_forum .o_filename{max-width:200px}}@media (max-width: 767px){.o_forum .o_attachments{font-size:9px}.o_forum .o_attachment{max-width:150px}.o_forum .o_attachment img{max-width:100px}.o_forum .o_filename{max-width:150px}}.o_quote_wrapper,.b_quote_wrapper{position:relative;margin:10px 0}.o_quote_author,.b_quote_author{color:#777;font-size:12px}.o_quote_author:before,.b_quote_author:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï„Ž";font-size:21px;padding-right:0.5em}blockquote.o_quote,blockquote.b_quote{color:#555;font-size:12px;margin-top:6px;padding:0 12px}a.o_chelp{display:inline-block;padding:1px 3px;text-align:center;vertical-align:middle;white-space:nowrap;font-size:10px;font-weight:normal;line-height:15px;color:#fff;background-color:#337ab7;border:1px solid #2e6da4;border-radius:2px;cursor:help;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}a.o_chelp:active,a.o_chelp:hover,a.o_chelp:focus{text-decoration:none;color:#fff;background-color:#2a6598;border-color:#204d74}a.o_chelp i{font-size:10px !important}.o_chelp_wrapper{position:relative;float:right;display:inline-block;line-height:normal;margin-bottom:10px;margin-left:10px}.o_form_chelp,.o_chelp_tooltip{color:#737373}.o_draw_circle{border:4px solid #337ab7;border-radius:50%;position:absolute !important}.o_draw_rectangle{border:4px solid #337ab7;position:absolute !important}.o_iframedisplay iframe{width:100%}.o_singlepage .o_edit{position:absolute;top:10px;right:37px}.o_content_popup{position:absolute;top:10px;right:12px}.o_module_cp_wrapper .o_tools{position:absolute;top:10px;right:12px;text-align:right;vertical-align:middle}.o_module_cp_wrapper .o_tools .o_search_wrapper{display:inline-block;position:relative;top:-2px}ul.o_dropdown{margin:-5px -14px}ul.o_dropdown .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}ul.o_dropdown>li>a{display:block;padding:5px 14px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;background:#fff;white-space:nowrap}ul.o_dropdown>li>a:hover,ul.o_dropdown>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.badge.o_scorm_completed{background-color:#3c763d}.badge.o_scorm_failed{background-color:#a94442}.badge.o_scorm_incomplete{background-color:#8a6d3b}.badge.o_scorm_not_attempted{background:none}.o_bc_meta h5,.o_bc_meta .o_author,.o_bc_meta .o_comment,.tooltip h5,.tooltip .o_author,.tooltip .o_comment{color:#fff;margin:5px 0}.o_bc_meta .o_thumbnail,.tooltip .o_thumbnail{width:200px;height:200px;display:inline-block;background-color:#fff;margin:0 -5px}.o_htmleditor .o_metadata{border:1px solid #999;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom:0;background:#eee;position:relative;top:1px;padding:5px}.o_htmleditor .o_metadata #o_filename{float:left}.o_htmleditor .o_metadata .o_lastmodified{float:right;color:#777;line-height:1.428571429}.o_htmleditor #o_save{margin-top:10px;text-align:center}.o_htmleditor #o_save input{margin-right:1em}.o_htmleditor #o_save input:last-child{margin-right:0}.o_notifications_news_wrapper .o_notifications_news_subscription{margin:10px 0}.o_notifications_news_wrapper .o_notifications_news_subscription h4 i,.o_notifications_news_wrapper .o_notifications_news_subscription .o_cal .fc-header-title h2 i,.o_cal .fc-header-title .o_notifications_news_wrapper .o_notifications_news_subscription h2 i{display:none}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_context{color:#777}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content{margin-left:1.5em;position:relative}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content .o_icon{position:absolute;left:-1.5em;line-height:1.5em;top:0}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content .o_date{color:#777}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_url{margin-left:1.5em}.o_noti{margin:6px 0 6px 12px;float:right;color:#777}.o_noti .o_label{color:#777;cursor:help}@media (max-width: 767px){.o_noti .o_label span{display:none}}.panel-body .o_noti{margin:0}.o_portrait{display:inline-block}.o_portrait img{border-radius:50%;border:none;background-color:#eee;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.o_portrait_name{margin-top:6px}.o_block_inline .o_portait,.o_block_inline .o_portrait_name,.o_block_inline .o_portrait_image,.o_block_inline_right .o_portait,.o_block_inline_right .o_portrait_name,.o_block_inline_right .o_portrait_image,.o_block_inline_left .o_portait,.o_block_inline_left .o_portrait_name,.o_block_inline_left .o_portrait_image,.o_block_inline_both .o_portait,.o_block_inline_both .o_portrait_name,.o_block_inline_both .o_portrait_image{display:inline-block}.o_portrait_avatar,.o_portrait_dummy,.o_portrait_dummy_female_big,.o_portrait_dummy_male_big,.o_portrait_anonymous{width:100px;height:100px}.o_portrait_dummy{background-image:url("../light/images/portrait/dummy.png")}.o_portrait_dummy_female_big{background-image:url("../light/images/portrait/dummy_female_big.png")}.o_portrait_dummy_male_big{background-image:url("../light/images/portrait/dummy_male_big.png")}.o_portrait_anonymous{background-image:url("../light/images/portrait/anonymous.png")}.o_portrait_avatar_small,.o_portrait_dummy_small,.o_portrait_dummy_female_small,.o_portrait_dummy_male_small,.o_portrait_anonymous_small{width:30px;height:30px}.o_portrait_dummy_small{background-image:url("../light/images/portrait/dummy_small.png")}.o_portrait_dummy_female_small{background-image:url("../light/images/portrait/dummy_female_small.png")}.o_portrait_dummy_male_small{background-image:url("../light/images/portrait/dummy_male_small.png")}.o_portrait_anonymous_small{background-image:url("../light/images/portrait/anonymous_small.png")}.o_datecomp{position:relative;width:40px;height:52px;border:1px solid #555;margin-right:12px;text-align:center;vertical-align:middle}.o_datecomp div.o_year{position:absolute;left:0;width:100%;top:-20px;height:20px;line-height:20px;font-size:10px}.o_datecomp div.o_month{height:20px;line-height:20px;font-size:12px;background-color:#337ab7;color:#fff}.o_datecomp div.o_day{height:30px;line-height:30px;font-size:18px;border-top:1px solid #555;background-color:#fff;color:#333}.o_block_with_datecomp .o_head{position:relative;padding-left:52px}.o_block_with_datecomp .o_datecomp{position:absolute;top:0.2em;left:0}.o_block_with_datecomp .o_title{margin-top:0}.o_block_with_datecomp .o_meta{color:#777}.o_block_with_datecomp .o_content{border-left:5px solid #eee;padding:0 20px}.o_block_with_datecomp .o_block_footer{padding-left:25px}ul.o_certificates li{padding:5px 0}ul.o_certificates li a.o_sel_certificate_delete{padding-left:2em}.o_cal_toptoolbar{margin-bottom:6px}.o_cal_toptoolbar .o_cal_toptoolbar_help{float:left;margin-right:12px}.o_cal_toptoolbar .o_noti{margin-top:0}.o_feed .o_date,.o_feed .o_author{color:#777}.o_feed .o_subscription a{margin-right:1.5em}.o_feed .o_subscription .form-group{margin-bottom:5px}.o_feed .o_subscription .form-control{border:0;background:none;padding:0;height:auto;-webkit-box-shadow:none;box-shadow:none}.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper{float:left}.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_rating_title,.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_rating_explanation,.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_legend{display:none}.o_feed .o_blog_posts .o_ratings_and_comments a.o_comments span{display:none}.o_feed .o_content:before,.o_feed .o_content:after{content:" ";display:table}.o_feed .o_content:after{clear:both}.o_feed .o_enclosure{clear:both}.o_glossary .o_register{text-align:center}.o_glossary .o_meta{font-size:90%;color:#777;font-style:italic}.o_glossary dl dt:first-letter{font-size:21px}.o_glossary dl dt small{color:#777}.o_tm_glossary{border-bottom:1px dotted #666699 !important}.o_tm_yellow{background-color:#FFFF66}.o_tm_blue{background-color:#33FFFF}.o_tm_red{background-color:#FF3333}.o_tm_green{background-color:#99FF00}.o_coaching div#o_main_toolbar.o_toolbar{margin-top:0px}.o_eff_statement_details .o_user_infos{margin-top:20px}div.o_assessment_user_type_filter{display:inline-block;padding:0.5em;border:1px solid #eee;border-radius:4px}div.o_assessment_user_type_filter div.form-inline,div.o_assessment_user_type_filter div.o_navbar-form{margin-left:5px;display:inline-block}.vitero_iframe{width:100%;height:100%;border:none;min-height:60em}.o_reminder_rule{padding:5px 0}.o_segments.btn-group a span{overflow:hidden;display:block;text-overflow:ellipsis}.o_segments_content{margin-top:20px}.o_tabbed_pane .o_tabbed_pane_content{padding:20px 0 6px 0}.o_togglebox_wrapper .o_opener{position:relative;left:-0.5em}.o_togglebox_wrapper div.o_togglebox_content{position:relative;margin:0}.o_togglebox_wrapper div.o_togglebox_content .o_hide{position:absolute;bottom:0.5em;right:1em}.o_toolboxes ul{margin:0 0 1.5em 0;padding:0 0 0 1.5em}.o_qrcode{width:256px;height:256px}#o_ajax_busy{position:absolute;left:50%;top:20em;margin-left:-2.5em;height:5em;width:5em;color:#fff;z-index:1201;display:none}#o_body.o_ajax_busy{cursor:busy}.o_exception .o_visual{position:relative;background-image:url("../light/images/lion-500x333.jpg");filter:grayscale(50%);-webkit-filter:grayscale(50%);-moz-filter:grayscale(50%);-ms-filter:grayscale(50%);-o-filter:grayscale(50%);width:500px;height:333px;background-repeat:no-repeat;background-position:50% 50%;background-size:contain;margin:0 0 10px 16px}@media (min-width: 768px) and (max-width: 991px){.o_exception .o_visual{width:375px;height:249px}}@media (min-width: 500px) and (max-width: 767px){.o_exception .o_visual{width:250px;height:166px}}@media (max-width: 500px){.o_exception .o_visual{background-size:cover}}.o_exception .jumbotron h1,.o_exception .o_repo_details .o_lead h1,.o_repo_details .o_exception .o_lead h1{color:#d9534f}ul.o_assessment_docs{margin-bottom:0}ul.o_assessment_docs>li{margin-bottom:0.33em}ul.o_assessment_docs>li:last-child{margin-bottom:0em}.o_mail_message .o_mail_meta{background:#fafafa;border:1px solid #eee;padding:5px 10px}.o_mail_message .o_mail_meta h3{margin-top:0}.o_mail_message .o_mail_date,.o_mail_message .o_mail_from,.o_mail_message .o_mail_recipients{color:#777;font-size:90%}.o_mail_message .o_mail_date .o_label,.o_mail_message .o_mail_from .o_label,.o_mail_message .o_mail_recipients .o_label{font-weight:bold;margin-right:1em}.o_mail_message .o_mail_date .o_group span,.o_mail_message .o_mail_from .o_group span,.o_mail_message .o_mail_recipients .o_group span{font-weight:bold}.o_mail_message .o_mail_date .o_group span:after,.o_mail_message .o_mail_from .o_group span:after,.o_mail_message .o_mail_recipients .o_group span:after{content:':';margin-right:0.5em}.o_mail_message .o_mail_date i,.o_mail_message .o_mail_from i,.o_mail_message .o_mail_recipients i{margin-left:1em}.o_mail_message .o_mail_date ul.list-inline,.o_mail_message .o_mail_from ul.list-inline,.o_mail_message .o_mail_recipients ul.list-inline{display:inline}.o_mail_message .o_mail_date ul.list-inline li,.o_mail_message .o_mail_from ul.list-inline li,.o_mail_message .o_mail_recipients ul.list-inline li{padding-right:0;padding-left:0}.o_mail_message .o_more{margin-left:1em}.o_mail_message .o_showAllLink{float:right;font-size:80%}.progress .o_progress_marker{position:absolute;height:100%;top:0;width:3px;background:red}.progress .progress-bar{text-shadow:1px 1px 2px #000000}.o_progress_label_right{float:left;margin-right:10px}.o_web_content{padding-bottom:15px}.o_labeled_light,a.o_qpool_tools_status,.dropdown-toggle.o_qpool_tools_status,.o_labeled{text-transform:uppercase;text-align:center;text-decoration:none;vertical-align:text-bottom;font-size:75% !important;font-weight:bold !important;line-height:1;white-space:nowrap;border:1px solid;border-radius:3px;padding:2px 5px;background-color:#777;color:#fff}.o_labeled_light{background-color:#f8f8f8}.dropdown-menu.o_labeled{background-color:inherit}.o_ms_button{max-width:100%;width:100%;display:flex}.o_ms_button span:not(.o_ms_carret){text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.o_ms_button .o_ms_carret{margin:auto 0 auto auto}.o_ms_list{width:100%;height:auto;max-height:300px;overflow-x:hidden}.o_disclaimer .o_disclaimer_content{max-height:50vh;overflow:auto;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;background:#fbfbfb;padding:10px;border:1px solid #c2c2c2}.tt-input{width:400px}.tt-menu{width:400px;margin-top:6px;padding:0 0 0;color:#555;background-color:#fff;border:1px solid #66afe9;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;-webkit-box-shadow:0 0 8px rgba(102,175,233,0.6);box-shadow:0 0 8px rgba(102,175,233,0.6)}.tt-suggestion{padding:6px 12px;font-size:14px;line-height:1.428571429}.tt-suggestion.tt-cursor,.tt-suggestion:hover{color:#fff;background-color:#337ab7}.tt-suggestion p{margin:0}.tt-menu div.o_icon_error:before{content:''}.o_search_link_extended,.o_search_link_simple{margin-top:12px;display:inline-block}.o_search_results_stats{color:#777;padding-left:1.5em}.o_search_highlight{margin-left:12px;font-size:12px}.o_search_result_title h4,.o_search_result_title .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_search_result_title h2{display:inline-block;margin-right:12px;margin-bottom:6px}.o_search_result_title h4 .o_icon-fw,.o_search_result_title .o_cal .fc-header-title h2 .o_icon-fw,.o_cal .fc-header-title .o_search_result_title h2 .o_icon-fw{text-align:left}.o_search_result_highlight{font-weight:bold;background-color:transparent}.o_search_result_context{display:inline-block;color:#3c763d;margin-right:1em}.o_search_result_license{display:inline-block;color:#777}.o_search_result_excerpt{color:#555}.o_search_result .o_opener{font-size:12px}.o_search_result .o_opener i{width:1em}.o_search_result_details .o_togglebox_wrapper.o_block{margin-top:0;margin-bottom:0}.o_search_result_details .o_togglebox_wrapper .o_togglebox_content{color:#777;font-size:12px;background:#fff;padding:6px 12px}.o_search_result_details .o_togglebox_wrapper .o_search_result_license i{font-size:20px}@media (max-width: 767px){.o_search_result_details{display:none}}.wizard{border:1px solid #d4d4d4;border-radius:2px;background-color:#f9f9f9;position:relative;overflow:hidden;margin-bottom:15px}.wizard ul{list-style:none outside none;padding:0;margin:0;width:4000px}.wizard ul li{float:left;margin:0;padding:0 20px 0 30px;height:46px;line-height:46px;position:relative;background:#ededed;color:#333;font-size:16px;cursor:default}.wizard ul li .chevron{border:24px solid transparent;border-left:14px solid #d4d4d4;border-right:0;display:block;position:absolute;right:-14px;top:0;z-index:1}.wizard ul li .chevron:before{border:24px solid transparent;border-left:14px solid #ededed;border-right:0;content:"";display:block;position:absolute;right:1px;top:-24px}.wizard ul li.active{background:#f1f6fc;color:#333}.wizard ul li.active .chevron:before{border-left:14px solid #f1f6fc}.wizard ul li .badge{margin-right:8px}.wizard ul li:first-child{border-radius:4px 0 0 4px;padding-left:20px}.o_process{position:relative;padding-left:25px}.o_process .o_step{position:relative;height:auto;padding-top:10px;padding-left:30px;padding-bottom:10px}.o_process .o_bar{position:absolute;top:10px;left:8px;height:100%;border-left:4px solid #777}.o_process .o_bar:after{position:absolute;top:0;left:-10px;height:16px;width:16px;border:4px solid #777;border-radius:16px;background:#fff;content:" "}.o_process .o_title{margin-top:-1px;color:#777 !important}.o_process .o_title:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;left:-24px}.o_process .o_title a:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";width:1em}.o_process .o_title a.collapsed:before{content:""}.o_process .o_step.o_active .o_bar,.o_process .o_step.o_active .o_bar:after{border-color:#337ab7}.o_process .o_step.o_active .o_title{color:#337ab7 !important}.o_process .o_step.o_active .o_title:before{content:"";color:#337ab7}.o_process .o_step.o_done .o_bar,.o_process .o_step.o_done .o_bar:after{border-color:#5094ce}.o_process .o_step.o_done .o_title{color:#5094ce !important}.o_process .o_step.o_done .o_title:before{content:"";color:#5cb85c}.o_process .o_meta{color:#777;font-size:12px;margin-top:-0.5em}.o_cal_orange{background:#ffc266;border-color:#ff9900;color:#5D5D5D}.o_cal_orange .o_cal_wv_event_header{background:#ff9900}.o_cal_orange a{color:#5D5D5D !important}.o_cal_class.o_cal_orange{border-left:20px solid #ffc266}.o_cal_green{background:#66c266;border-color:#009900;color:#FFF}.o_cal_green .o_cal_wv_event_header{background:#009900}.o_cal_green a{color:#FFF !important}.o_cal_class.o_cal_green{border-left:20px solid #66c266}.o_cal_blue{background:#4d6e9f;border-color:#2e5894;color:#FFF}.o_cal_blue .o_cal_wv_event_header{background:#2e5894}.o_cal_blue a{color:#FFF !important}.o_cal_class.o_cal_blue{border-left:20px solid #4d6e9f}.o_cal_yellow{background:#ffe066;border-color:#ffcc00;color:#5D5D5D}.o_cal_yellow .o_cal_wv_event_header{background:#ffcc00}.o_cal_yellow a{color:#5D5D5D !important}.o_cal_class.o_cal_yellow{border-left:20px solid #ffe066}.o_cal_red{background:#c26666;border-color:#990000;color:#FFF}.o_cal_red .o_cal_wv_event_header{background:#990000}.o_cal_red a{color:#FFF !important}.o_cal_class.o_cal_red{border-left:20px solid #c26666}.o_cal_rebeccapurple{background:#663399;border-color:#663399;color:#FFF}.o_cal_rebeccapurple .o_cal_wv_event_header{background:#663399}.o_cal_rebeccapurple a{color:#FFF !important}.o_cal_class.o_cal_rebeccapurple{border-left:20px solid #639}.o_cal_fuchsia{background:#FF00FF;border-color:#dd00dd;color:#FFF}.o_cal_fuchsia .o_cal_wv_event_header{background:#FF00FF}.o_cal_fuchsia a{color:#FFF !important}.o_cal_class.o_cal_fuchsia{border-left:20px solid #f0f}.o_cal_olive{background:#808000;border-color:#636300;color:#FFF}.o_cal_olive .o_cal_wv_event_header{background:#808000}.o_cal_olive a{color:#FFF !important}.o_cal_class.o_cal_olive{border-left:20px solid olive}.o_cal_navy{background:#000080;border-color:#000057;color:#FFF}.o_cal_navy .o_cal_wv_event_header{background:#000080}.o_cal_navy a{color:#FFF !important}.o_cal_class.o_cal_navy{border-left:20px solid navy}.o_cal_maroon{background:#800000;border-color:#740000;color:#FFF}.o_cal_maroon .o_cal_wv_event_header{background:#800000}.o_cal_maroon a{color:#FFF !important}.o_cal_class.o_cal_maroon{border-left:20px solid maroon}.o_cal_lime{background:#00FF00;border-color:#00e200;color:#004d00}.o_cal_lime .o_cal_wv_event_header{background:#00FF00}.o_cal_lime a{color:#004d00 !important}.o_cal_class.o_cal_lime{border-left:20px solid lime}.o_cal_grey{background:#DDDAAA;border-color:#5D5D5D;color:#FFF}.o_cal_grey .o_cal_wv_event_header{background:#5D5D5D}.o_cal_grey a{color:#FFF !important}.o_cal_class.o_cal_grey{border-left:20px solid #DDDAAA}.o_sel_calendar_print_chooser{padding-right:4em}.o_cal_config_enabled,.o_cal_config_disabled{position:relative;float:left;display:inline}.o_cal_config_calendar{margin:0 5px;padding:1px 6px 1px 4px;position:relative;width:200px;overflow:hidden;float:left;display:inline}.o_cal_config_color{display:block;width:16px;height:16px;border-radius:8px}.o_cal_colorchooser_selected:before{content:""}#o_cal_colorchooser div{border:1px solid #337ab7;margin:5px;display:inline-block}#o_cal_colorchooser div:hover{border:1px solid #333}#o_cal_colorchooser a{width:20px;height:20px;display:inline-block}.o_cal_embedded_course_container .o_content_popup{top:0}.o_cal_wv_event_tooltip_content .o_cal_description{background-color:#f8f8f8;padding:10px 7px;margin:10px -7px}.o_cal_wv_event_tooltip_content .o_cal_tooltip_buttons{text-align:center;margin-top:20px}.o_cal_event_managed .fc-event-inner:after{margin-right:2px;float:right;font-family:FontAwesome;font-style:normal;font-weight:normal;font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:""}.o_cal_event_not_managed .fc-event-inner:after{margin-right:2px;float:right;font-family:FontAwesome;font-style:normal;font-weight:normal;font-size:100%;webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:""}.fc-button{color:#333;background-color:#fff;border-color:#ccc}.fc-button:hover,.fc-button:focus,.fc-button.focus,.fc-button:active,.fc-button.active,.open>.fc-button.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.fc-button:active,.fc-button.active,.open>.fc-button.dropdown-toggle{background-image:none}.fc-button.disabled,.fc-button.disabled:hover,.fc-button.disabled:focus,.fc-button.disabled.focus,.fc-button.disabled:active,.fc-button.disabled.active,.fc-button[disabled],.fc-button[disabled]:hover,.fc-button[disabled]:focus,.fc-button[disabled].focus,.fc-button[disabled]:active,.fc-button[disabled].active,fieldset[disabled] .fc-button,fieldset[disabled] .fc-button:hover,fieldset[disabled] .fc-button:focus,fieldset[disabled] .fc-button.focus,fieldset[disabled] .fc-button:active,fieldset[disabled] .fc-button.active{background-color:#fff;border-color:#ccc}.fc-button .badge{color:#fff;background-color:#333}.fc-button.fc-state-default{text-shadow:none}.fc-button.fc-state-active{color:#fff;background-color:#337ab7;border-color:#2e6da4}.fc-button.fc-state-active:hover,.fc-button.fc-state-active:focus,.fc-button.fc-state-active.focus,.fc-button.fc-state-active:active,.fc-button.fc-state-active.active,.open>.fc-button.fc-state-active.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.fc-button.fc-state-active:active,.fc-button.fc-state-active.active,.open>.fc-button.fc-state-active.dropdown-toggle{background-image:none}.fc-button.fc-state-active.disabled,.fc-button.fc-state-active.disabled:hover,.fc-button.fc-state-active.disabled:focus,.fc-button.fc-state-active.disabled.focus,.fc-button.fc-state-active.disabled:active,.fc-button.fc-state-active.disabled.active,.fc-button.fc-state-active[disabled],.fc-button.fc-state-active[disabled]:hover,.fc-button.fc-state-active[disabled]:focus,.fc-button.fc-state-active[disabled].focus,.fc-button.fc-state-active[disabled]:active,.fc-button.fc-state-active[disabled].active,fieldset[disabled] .fc-button.fc-state-active,fieldset[disabled] .fc-button.fc-state-active:hover,fieldset[disabled] .fc-button.fc-state-active:focus,fieldset[disabled] .fc-button.fc-state-active.focus,fieldset[disabled] .fc-button.fc-state-active:active,fieldset[disabled] .fc-button.fc-state-active.active{background-color:#337ab7;border-color:#2e6da4}.fc-button.fc-state-active .badge{color:#337ab7;background-color:#fff}body.o_cal_print fieldset{border:none;margin-bottom:2em}body.o_cal_print legend{font-size:2em;font-weight:bold}body.o_cal_print legend span{display:block;font-size:14px;font-weight:normal}body.o_cal_print ul.o_cal_wv_list{list-style-type:none;padding:0}body.o_cal_print ul.o_cal_wv_list>li{page-break-inside:avoid;margin-bottom:2em}body.o_cal_print ul.o_cal_wv_list .o_cal_date{font-size:1.25em;font-weight:bold;padding:0.5em 0 0.5em 0}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events{list-style-type:none;padding:0.5em 0 0 0}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event{position:relative;left:30px;page-break-inside:avoid;clear:both;margin-bottom:1.5em;padding-right:30px}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_time{float:left;font-weight:bold;margin-right:1em}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_subject{font-weight:bold}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_subject p{margin:0}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_location,body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_description,body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_freebusy{clear:both}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_freebusy{font-style:italic}body.o_cal_print .o_cal_class{position:absolute;left:-30px;width:20px}body.o_cal_print #o_cal_config legend{font-size:1.25em}body.o_cal_print #o_cal_config .o_cal_config_calendar{margin:0;padding:0}body.o_cal_print #o_cal_config .o_cal_config_calendar{position:relative;left:30px;float:none;padding-right:30px}.o_visual{position:absolute;top:0;left:0;overflow:hidden;height:120px;width:180px;vertical-align:middle}@media (min-width: 768px) and (max-width: 991px){.o_visual{height:80px;width:120px}}@media (max-width: 767px){.o_visual{height:50px;width:75px}}.o_visual img{width:100%;height:auto}.o_visual .o_visual_not_available{width:100%;height:100%;background-image:url("../light/images/no_preview.png");background-repeat:no-repeat;background-position:50% 50%;background-size:contain}.o_coursetable.o_rendertype_custom .o_table_row{position:relative;border:1px solid #337ab7;margin-bottom:10px}.o_coursetable.o_rendertype_custom .o_table_row .o_visual{box-sizing:content-box;border-right:1px solid #337ab7}.o_coursetable.o_rendertype_custom .o_table_row .o_access{position:absolute;top:0;right:0;height:120px;width:180px;overflow:hidden;border-left:1px solid #337ab7;padding-top:0.25em}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_state,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score{padding:0 1em;height:20px;line-height:20px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score{position:relative;left:2px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score .o_label{color:#777}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social{position:absolute;width:100%;bottom:32px;height:20px;padding-left:1em}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating .o_rating_title,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating o_rating_legend,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating .o_rating_explanation{display:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings{padding:0 0 0 1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_label{margin-bottom:1em;color:#777}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_methods{color:#5bc0de}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{position:absolute;display:block;bottom:0;width:90px;height:30px;line-height:30px;text-align:center}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book{right:0}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start{color:#fff;background-color:#337ab7;border-color:#2e6da4}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.dropdown-toggle{background-image:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled.active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled],.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled]:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled]:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled].focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled]:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled].active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.active{background-color:#337ab7;border-color:#2e6da4}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start .badge{color:#337ab7;background-color:#fff}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book{color:#fff;background-color:#f0ad4e;border-color:#eea236}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.dropdown-toggle{background-image:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled.active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled],.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled]:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled]:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled].focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled]:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled].active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.active{background-color:#f0ad4e;border-color:#eea236}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book .badge{color:#f0ad4e;background-color:#fff}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{right:90px;color:#fff;background-color:#5cb85c;border-color:#4cae4c}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.dropdown-toggle{background-image:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled.active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled],.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled]:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled]:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled].focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled]:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled].active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.active{background-color:#5cb85c;border-color:#4cae4c}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details .badge{color:#5cb85c;background-color:#fff}@media (min-width: 768px) and (max-width: 991px){.o_coursetable.o_rendertype_custom .o_table_row .o_access{height:80px;width:120px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_comments,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_label{display:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{width:60px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{right:60px}}@media (max-width: 767px){.o_coursetable.o_rendertype_custom .o_table_row .o_access{display:none}}.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:120px;margin:0 180px 0 180px;position:relative;padding:1em 0.5em 0.25em 1em;overflow:hidden}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title{margin:0;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a{display:block;color:#337ab7}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:hover{color:#286090}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_author{margin-top:0.5em;line-height:normal;font-size:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3c763d}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle{position:absolute;top:5px;right:40px;z-index:2px;background:white;padding:0 3px 3px 3px;border-radius:0px 0px 3px 3px;font-size:90%;line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle.o_active{color:#3c763d}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle.o_active:hover{color:#2b542c}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_desc{margin-top:0.5em}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_bookmark{position:absolute;top:-1px;right:15px}@media (min-width: 768px) and (max-width: 991px){.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:80px;margin:0 120px}}@media (max-width: 767px){.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:50px;margin:0 0 0 75px;padding:0 0 0 1em}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title{line-height:50px}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a{border-right:37px solid transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_author,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_bookmark,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_desc{display:none}}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_go_xs{position:absolute;top:0;right:0;padding:0 1em;height:50px;width:37px;line-height:50px;color:#fff;background-color:#337ab7}.o_coursetable.o_rendertype_classic .o_rating_explanation{display:none}.o_coursetable.o_rendertype_classic .o_start,.o_coursetable.o_rendertype_classic .o_book{white-space:nowrap}.o_coursetable.o_rendertype_classic .o_repoentry_type{color:#555}.o_coursetable.o_rendertype_classic .o_repoentry_ac{color:#555}.o_catalog .o_level{position:relative;margin-bottom:10px;padding:0;border-top:1px solid #337ab7;border-bottom:1px solid #337ab7}.o_catalog .o_level .o_visual{height:180px}.o_catalog .o_level .o_meta{position:relative;min-height:180px;height:180px;overflow:hidden;margin:0 0 0 180px;padding:1em 0.5em 0.5em 2em}.o_catalog .o_level .o_meta .o_title{margin:0}.o_catalog .o_level .o_meta .o_title a{display:block;color:#337ab7}.o_catalog .o_level .o_meta .o_title a:hover{color:#286090}.o_catalog .o_level .o_meta .o_desc{padding:1em 0 0.5em 0}@media (min-width: 768px) and (max-width: 991px){.o_catalog .o_level .o_visual{height:120px}.o_catalog .o_level .o_meta{min-height:120px;height:120px;margin:0 0 0 120px}}@media (max-width: 767px){.o_catalog .o_level .o_visual{height:75px}.o_catalog .o_level .o_meta{min-height:75px;height:75px;margin:0 0 0 75px;padding:0 0 0 1em}.o_catalog .o_level .o_meta .o_title{line-height:75px}.o_catalog .o_level .o_meta .o_desc{display:none}}.o_catalog .o_sublevels_list .o_sublevel{position:relative;border:1px solid #337ab7;margin-bottom:10px}.o_catalog .o_sublevels_list .o_sublevel .o_visual{height:75px;width:75px}.o_catalog .o_sublevels_list .o_sublevel .o_visual span.o_visual_not_available{width:100%;height:100%;display:block}.o_catalog .o_sublevels_list .o_sublevel .o_title{margin:0}.o_catalog .o_sublevels_list .o_sublevel .o_meta{border-left:1px solid #337ab7;min-height:75px;height:75px;margin:0 0 0 75px;padding:0 0 0 1em;overflow:hidden}.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_title{line-height:75px}.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_desc{display:none}.o_catalog .o_sublevels_list .o_sublevel .o_meta h4.o_title>a,.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_cal .fc-header-title h2.o_title>a,.o_cal .fc-header-title .o_catalog .o_sublevels_list .o_sublevel .o_meta h2.o_title>a{font-family:inherit;font-weight:inherit}.o_catalog .o_sublevels_list .o_sublevel .o_meta h4.o_title>a>i,.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_cal .fc-header-title h2.o_title>a>i,.o_cal .fc-header-title .o_catalog .o_sublevels_list .o_sublevel .o_meta h2.o_title>a>i{display:none}.o_catalog .o_sublevels_list .o_sublevel.o_fill_sublevels{border:1px solid transparent}.o_catalog .o_sublevels_list .o_sublevel.o_fill_sublevels .o_meta{border-left:1px solid transparent}.o_catalog .o_sublevels{position:relative;margin-bottom:20px}.o_catalog .o_sublevels:before,.o_catalog .o_sublevels:after{content:" ";display:table}.o_catalog .o_sublevels:after{clear:both}.o_catalog .o_sublevels .o_sublevel{position:relative;float:left;margin:0 20px 20px 0;width:180px}.o_catalog .o_sublevels .o_sublevel:last-child{margin-right:0}.o_catalog .o_sublevels .o_sublevel .o_visual{border:1px solid #337ab7;position:relative;height:180px}.o_catalog .o_sublevels .o_sublevel .o_visual span.o_visual_not_available{width:100%;height:100%;display:block}.o_catalog .o_sublevels .o_sublevel .o_meta{position:absolute;left:0;bottom:0;width:100%;border:1px solid #337ab7;border-top:0;background-color:rgba(255,255,255,0.8)}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title{margin:0;text-align:center;line-height:2em;height:2em;width:100%;overflow:hidden}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a{display:block;color:#337ab7;font-family:inherit;font-weight:inherit}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:hover{color:#286090}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a>i{display:none}@media (min-width: 768px) and (max-width: 991px){.o_catalog .o_sublevels .o_sublevel{width:120px;margin:0 10px 10px 0}.o_catalog .o_sublevels .o_sublevel .o_visual{height:120px}.o_catalog .o_sublevels .o_sublevel .o_title{font-size:90%}}@media (max-width: 767px){.o_catalog .o_sublevels .o_sublevel{width:120px;margin:0 1px 1px 0}.o_catalog .o_sublevels .o_sublevel .o_visual{height:120px;width:120px}.o_catalog .o_sublevels .o_sublevel .o_title{font-size:90%}}@media (min-width: 768px){.o_catalog .o_sublevels_list,.o_catalog .o_sublevels_compact{-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2;columns:2}}.o_repo_details{position:relative}.o_repo_details .o_lead{margin-bottom:10px}.o_repo_details .o_lead .o_author{margin-top:0.5em;margin-bottom:1em;font-size:120%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3c763d}.o_repo_details .o_lead .o_media{float:right;margin-left:2em;margin-bottom:2em}.o_repo_details .o_lead .o_media.o_desc_empty{float:none;margin-left:0;margin-bottom:0}.o_repo_details .o_lead h1{font-size:37px}.o_repo_details .o_lead h1 i{display:none}.o_repo_details .o_overview i{margin-right:0.5em}.o_repo_details .o_overview div{margin-bottom:0.25em}.o_repo_details .o_start_wrapper{clear:both;margin:2em 0 -10px 0;text-align:right}.o_repo_details .o_start_wrapper .o_start_inner{display:inline-block}.o_repo_details .o_start,.o_repo_details .o_book{max-width:400px;display:inline-block}.o_repo_details .o_social:before,.o_repo_details .o_social:after{content:" ";display:table}.o_repo_details .o_social:after{clear:both}.o_repo_details .o_social .o_rating_wrapper{float:left}.o_repo_details .o_social .o_comments{margin-left:1em}@media (max-width: 767px){.o_repo_details .o_lead p{font-size:16px}.o_repo_details .o_lead .o_media{margin-left:0;float:none;text-align:center}.o_repo_details .o_start_wrapper{text-align:center}.o_repo_details .o_start_wrapper .o_start_inner{display:block}.o_repo_details .o_start,.o_repo_details .o_book{max-width:100%;display:block}}@media (max-width: 613px){.o_repo_details .o_subcolumn{width:100%}}.o_meta .o_closed{padding:2px 5px;margin:5px 0}.o_overview .o_closed{padding:12px 15px;margin:15px 0}.o_ac_configuration span.o_ac_infos{font-weight:normal;color:grey}tr.o_entry_closed,tr.o_entry_closed td,tr.o_entry_closed td span,tr.o_entry_unpublished,tr.o_entry_unpublished td,tr.o_entry_unpublished td span{text-decoration:line-through}.o_repo_status_filter>div{display:inline-block}.o_repo_status_filter>div label{font-weight:normal}.badge.o_midpub{background-color:#3c763d}.badge.o_midwarn{background-color:#8a6d3b}.badge.o_midlock{background-color:#31708f}.badge.o_miderr{background-color:#a94442}.badge.o_middel{background-color:#777}.o_course_editor_legend .badge{font-size:80%}.o_course_editor_legend .badge:before{content:none}.o_passed{color:#3c763d;font-weight:bold}.o_passed a:hover{color:#2b542c}.o_passed th{color:#333}.o_failed{color:#a94442;font-weight:bold}.o_failed a:hover{color:#66512c}.o_failed th{color:#333}.o_unknown{color:#8a6d3b;font-weight:bold}.o_unknown a:hover{color:#66512c}.o_unknown th{color:#333}.o_noinfo{color:#777}.o_course_run .o_toc .o_entry .o_shorttitle{border-bottom:1px solid #777}.o_course_run .o_toc .o_entry .o_displaytitle{margin-top:5px;color:#777}.o_course_run .o_toc .o_entry .o_objectives{margin-top:10px;font-style:italic}.o_course_run .o_in_review{font-style:italic;position:relative}.o_course_run.o_titled_wrapper>h2 i{display:none}.o_course_run .o_cal_toptoolbar{margin-right:26px}.o_course_run .o_titled_wrapper .o_cal_toptoolbar{margin-right:0px}.o_tree.o_course_menu div.o_tree_l0>a:first-child{background-color:none}.o_st_peekview ul li{margin-bottom:0.5em}.o_cl_line{margin-bottom:10px;padding-bottom:5px}.o_cl_line.o_even{background-color:#f9f9f9}.o_ll_container h5{margin-bottom:5px}.o_ll_container h5 a.o_desc{color:#337ab7}.o_ll_container h5 a.o_desc small{display:none}.o_ll_container h5 a.o_desc:hover{color:#286090;text-decoration:none}.o_ll_container h5 a.o_desc:hover small{color:#5e5e5e;display:inline}.o_ll_container div.o_comment{color:#777}.o_cmembers .o_cmember{margin:12px 0;display:table}.o_cmembers .o_cmember .o_portrait{padding-right:10px;display:table-cell;vertical-align:top}.o_cmembers .o_cmember .o_portrait img{width:50px;height:50px}.o_cmembers .o_cmember .o_cmember_info_wrapper{display:table-cell;vertical-align:middle;color:#777}.o_cmembers .o_cmember .o_cmember_info_wrapper .o_mail{margin-left:6px}.o_cmembers .o_cmember a.o_mail{display:none}.o_cmembers .o_cmember:hover a.o_mail{display:inline}.o_cmembers_print{color:#000}.o_cmembers_print #o_print_brand{position:absolute;top:1cm;right:1cm;width:5cm;height:4cm}.o_cmembers_print #o_print_brand img{width:100%}.o_cmembers_print .o_portrait{width:100px;height:100px;position:relative}.o_cmembers_print .o_portrait img{border-radius:0px;max-width:100%;max-height:100%;width:auto;height:auto;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.o_cmembers_print .o_cmember{padding-left:0px;padding-right:15px;margin-bottom:20px}.o_cmembers_print .o_cmember .o_cmember_info_wrapper{word-wrap:break-word}.o_cmembers_print .o_cmember .o_prop.o_zipCode{float:left;padding-right:0.5em}.o_cmembers_print h1{font-size:18pt;color:#000}.o_cmembers_print h3{font-size:14pt;margin-top:5px;font-weight:normal;color:#000}.o_cmembers_print h4,.o_cmembers_print .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_cmembers_print h2{font-size:11pt;font-weight:strong;color:#000;padding-bottom:10px;border-bottom:1px solid #eee}.o_cmembers_print .o_cmember_info_wrapper{font-size:7pt;color:#000}.o_cmembers_print .o_cmember_info_wrapper strong{font-size:8pt}.tag.label.label-info{margin-right:3px}.input-group.o_tag_inputgroup .form-control{height:auto}div.o_correction_navigation .o_correction_navigation_back{float:left;line-height:32px}div.o_correction_navigation .o_correction_navigation_previous{position:absolute;right:50%;margin-right:102px}div.o_correction_navigation #o_cocurrent_item_SELBOX{width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute;left:50%;margin-left:-100px}div.o_correction_navigation .o_correction_navigation_next{position:absolute;left:50%;margin-left:102px}@media (max-width: 767px){div.o_correction_navigation .o_correction_navigation_previous span,div.o_correction_navigation .o_correction_navigation_next span{display:none}}table.table.o_qti_item_kprim>thead>tr>th,table.table.o_qti_item_kprim>tbody>tr>td{border:none}td.o_qti_item_kprim_input,th.o_qti_item_kprim_input{text-align:center}td.o_qti_item_kprim_input .radio,th.o_qti_item_kprim_input .radio{display:inline}td.o_qti_item_kprim_text{width:80%}div.o_qti_menu_section,div.o_qti_menu_section_clickable,div.o_qti_menu_section_active{margin-top:10px}div.o_qti_menu_item a,div.o_qti_menu_section a{text-decoration:none}div.o_qti_menu_item{padding:.1em}div.o_qti_menu_item_active{padding:.1em;font-weight:bold}div.o_qti_item_itemfeedback{background-color:#ffffff;border-color:#000000}div.o_qti_item_choice_option_flow{display:inline-block;padding:.5em;border:1px solid transparent}.d3chart .bar_green{fill:#5cb85c}.d3chart .bar_red{fill:#d9534f}.d3chart .bar_grey{fill:lightgrey}.d3chart circle.bubble_green{fill:#5cb85c}div.o_qti_statistics ul{list-style-type:none;padding:0;margin:0;font-size:90%}div.o_qti_statistics ul strong{font-weight:normal}div.o_qti_statistics ul li{padding-left:48px;margin-left:0;margin-bottom:10px}div.o_qti_statistics ul li.o_qti_statistics-ncorrect:before{font-size:125%;content:'\2A2F\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-correct:before{font-size:125%;content:'\2713\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-kplus:before{font-size:125%;content:'\2713\00A0\2A2F\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-kminus:before{font-size:125%;content:'\2A2F\00A0\2713\00A0\00A0'}div.o_qti_statistics ul li img{vertical-align:top}div.o_qti_statistics table.o_qti_statistics_figures tr{float:left}div.o_qti_statistics table.o_qti_statistics_figures tr:nth-child(2n+1){clear:left;padding-right:20px}div.o_qti_statistics table.o_qti_statistics_figures td{width:200px;padding-left:0;vertical-align:bottom}div.o_qti_statistics table.o_qti_statistics_figures td+td{width:100px}div.o_qti_statistics .o_qti_statistics_answer{background:#F5F5F5;padding:1px 2px;width:90%}div.o_qti_statistics div.o_qti_statistics_legend{padding-top:10px;width:470px;border:1px solid #ddd;border-radius:4px}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_green{background-color:#9dd53a}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_red{background-color:#f85032}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_grey{background-color:lightgrey}div.o_qti_metadatas .panel-body{border-top:none}.o_qti_menu_item_attempts:after,.o_qti_menu_item_attempts_marked:after{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.o_qti_menu_item_attempts:after{content:"ï„"}.o_qti_menu_item_attempts_marked:after{content:"";color:#337ab7}.o_qti_print div.o_qti_statistics{width:680px}@media print{div.o_qti_statistics{width:680px}}ul.sessionControl{list-style:none;margin:1em;text-align:center}ul.sessionControl li{display:inline;padding:0.2em}.association{margin:20px 20px 20px 40px;background:transparent url("../light/images/association_bg.png") repeat-x center center}.o_associate_item{padding:5px;margin:0 15px 10px 0;border:2px solid #999}.o_associate_item.oo-selected{border:2px solid #337ab7}.o_associate_item.oo-choosed{border:none !important}.o_associate_item.oo-drag{border:2px solid #337ab7 !important}.association_box{border:3px dotted #999}.association_box.oo-filled{border:3px solid #999}.association_box{background-color:white}.prompt{font-weight:bold}.sketch{position:relative;user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;-ms-user-select:none}#tmp_canvas{position:absolute;left:0px;right:0;bottom:0;top:0;cursor:crosshair;user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;-ms-user-select:none}#colors .black .o_icon:before{color:#000000}#colors .blue .o_icon:before{color:#0000FF}#colors .green .o_icon:before{color:#008000}#colors .yellow .o_icon:before{color:#FFFF00}#colors .red .o_icon:before{color:#FF0000}#colors .purple .o_icon:before{color:#800080}.o_gap_item{padding:5px;margin:5px;background-repeat:no-repeat;background-position:center center}.o_gap_item.oo-choosed{position:relative;left:auto;top:auto;padding:3px;margin:0}.o_gap_item.oo-selected{border:3px solid #337ab7}.o_item_container_help,.o_items_container_help{font-size:90%;font-style:italic;color:#777;padding:5px}.items_container{padding:15px}.items_container .o_item{float:left}#o_qti_hotspots_edit{min-height:100px;min-width:400px;background-repeat:no-repeat}#o_qti_hotspots_edit.o_qti_hotspot-standard .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-standard .o_draw_rectangle{background-color:rgba(255,255,255,0.5);border-color:#6E6E6E}#o_qti_hotspots_edit.o_qti_hotspot-standard .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-standard .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(45,0,255,0.5);border-color:#0000ff}#o_qti_hotspots_edit.o_qti_hotspot-light .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-light .o_draw_rectangle{background-color:rgba(221,221,221,0);border-color:#7E7E7E}#o_qti_hotspots_edit.o_qti_hotspot-light .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-light .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(51,122,183,0.05);border-color:#337ab7}#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_draw_rectangle{background-color:rgba(110,110,110,0.5);border-color:#3E3E3E}#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(222,222,222,0.2);border-color:#CECECE}#o_qti_hotspots_edit.o_qti_hotspot-green .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-green .o_draw_rectangle{background-color:rgba(142,142,142,0.25);border-color:#CECECE}#o_qti_hotspots_edit.o_qti_hotspot-green .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-green .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(134,195,81,0.5);border-color:#518b33}#o_qti_hotspots_edit.o_qti_hotspot-purple .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-purple .o_draw_rectangle{background-color:rgba(142,142,142,0.33);border-color:#CECECE}#o_qti_hotspots_edit.o_qti_hotspot-purple .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-purple .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(234,168,255,0.5);border-color:#ab47cb}div.hotspotInteraction{overflow-x:auto}img.o_hotspot_responsive[usemap]{max-width:100%;width:auto;height:auto}.form-inline.o_qti_gaptext_add_first_alternative,.o_qti_gaptext_add_first_alternative.o_navbar-form{padding:9px 0 3px 0}.form-inline.o_qti_gaptext_add_alternative,.o_qti_gaptext_add_alternative.o_navbar-form{margin-bottom:3px}.o_qti_item_body .extendedTextInteraction{margin:15px 0}.o_qti_item_body .extendedTextInteraction textarea{resize:vertical !important;font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.o_qti_item_body .extendedTextInteraction pre{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.o_qti_item_body .extendedTextInteraction .o_qti_essay_last_save{padding:2px 2px;font-style:italic;font-size:90%;text-align:right}.extendedTextInteraction div.form-control.textarea_disabled{white-space:pre-wrap;height:auto;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;color:#555 !important}#o_qti_run_title{margin:0 15px 0.5em 15px}#o_qti_run_title h3{margin:15px 0 0 0}#o_qti_run_infos{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:10px 0;margin:0 15px 1em 15px}#o_qti_run_infos .progress{background-color:#eee}#o_qti_run_infos #o_qti_scoreinfo .progress-bar{background-color:#337ab7}.progress-striped #o_qti_run_infos #o_qti_scoreinfo .progress-bar{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}#o_qti_run_infos #o_qti_questioninfo .progress-bar{background-color:#337ab7}.progress-striped #o_qti_run_infos #o_qti_questioninfo .progress-bar{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}#o_qti_run_infos #o_qti_run_scoreinfo,#o_qti_run_infos #o_qti_run_scoreprogress{white-space:nowrap}#o_qti_results_infos{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:10px 0;margin:0 0 1em 0}#o_qti_results_infos .progress{background-color:#eee}#o_qti_results_infos #o_qti_run_scoreinfo,#o_qti_results_infos #o_qti_run_scoreprogress{white-space:nowrap}#o_qti_assessment_test_timer{border:1px solid #e7e7e7;border-radius:4px;padding:10px;margin:0 15px 1em 15px}#o_qti_assessment_test_timer.o_10_minutes{background-color:#fcf8e3}#o_qti_assessment_test_timer.o_5_minutes{background-color:#f2dede}#o_qti_assessment_test_timer.o_panic{background-color:#ce8383}#o_qti_assessment_test_timer .o_qti_times_up{padding-left:2em;font-weight:bold}#o_qti_assessment_test_timer .o_qti_times_message{padding-left:2em;font-weight:bold}.o_draw_circle.o_qti_hotspot_correct,.o_draw_rectangle.o_qti_hotspot_correct{background-color:rgba(229,255,204,0.6)}#width_range_ui,#opacity_range_ui{width:120px}.o_slider_width_range,.o_slider_opacity_range{margin:3px 10px 0 0}.o_qti_hotspot_label{padding-left:48%}.o_info.o_assessmentsection_rubrics{margin:0 0 0.5em 0;position:relative}.o_info.o_assessmentsection_rubrics.o_hide{display:none}.o_info.o_assessmentsection_rubrics.o_show{display:block}.o_info.o_assessmentsection_rubrics a.o_hide{position:absolute;bottom:0.5em;right:1em}.o_assessmentitem h1{margin-bottom:0}.o_assessmentitem div.badResponse,.o_assessmentitem span.badResponse{color:#d9534f;font-weight:bold}.o_assessmentitem input.badResponse{border:1px solid #d9534f}.o_assessmentitem .infoControl input{margin-right:0.5em}.o_assessmentitem .infoControl .infoControlContent{display:none}.o_assessmentitem .sliderInteraction{margin:1em}.o_assessmentitem .sliderInteraction .sliderVertical .sliderValue{margin:1em 0}.o_assessmentitem .sliderInteraction .sliderVertical .sliderWidget{height:200px}.o_assessmentitem .sliderInteraction .sliderHorizontal .sliderValue{text-align:center}.o_assessmentitem div.orderInteraction div.highlight{border:1px solid #d9534f}.o_assessmentitem div.orderInteraction div.box.vertical{width:50%;float:left;position:relative;padding:0;margin-top:5px}.o_assessmentitem div.orderInteraction div.box.vertical ul{min-height:200px}.o_assessmentitem div.orderInteraction div.box.horizontal ul{min-height:50px;width:100%}.o_assessmentitem div.orderInteraction div.box.source{padding:5px 10px;border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8}.o_assessmentitem div.orderInteraction div.box.source.horizontal{padding:5px 10px 15px 10px}.o_assessmentitem div.orderInteraction div.box.target ul{border:2px solid #5bc0de;border-radius:4px;background:#d9edf7}.o_assessmentitem div.orderInteraction div.box.target ul.oo-accepted{border-color:#1f7e9a}.o_assessmentitem div.orderInteraction div.box.target.vertical{padding:6px 0 0 10px}.o_assessmentitem div.orderInteraction div.box.target.vertical ul{padding:10px}.o_assessmentitem div.orderInteraction div.box.target.horizontal{padding-top:10px}.o_assessmentitem div.orderInteraction div.box.target.horizontal ul{padding:10px 10px 0 10px}.o_assessmentitem div.orderInteraction div.box.horizontal ul li{float:left;width:auto;margin-right:10px;min-width:50px}.o_assessmentitem div.orderInteraction div.box span.info{color:#666;font-style:italic;font-size:smaller}.o_assessmentitem div.orderInteraction ul{list-style-type:none;margin:0;padding:0}.o_assessmentitem .hottext{position:relative;margin:-2px 0.15em -2px 0.15em;white-space:nowrap}.o_assessmentitem .hottext input{margin:0 3px 0 2px;position:absolute;top:0.1em;left:0.05em}.o_assessmentitem .hottext input+label{display:inline;padding:0 0.1em 0 1.2em;background:#f8f8f8;border:1px solid #e7e7e7;border-radius:2px;color:#333;font-weight:normal;white-space:normal}.o_assessmentitem .hottext input:checked+label{color:#333;background:#d9edf7;border:1px solid #bce8f1}.o_assessmentitem .gap{font-weight:bold;border:1px dashed #000}.o_assessmentitem .textEntryInteraction input{margin:-1px 2px;line-height:90%;vertical-align:middle;font-size:13.72px;line-height:1.5;border:1px solid #999;background:#fff;padding:1px 1px;color:#333}.o_assessmentitem .textEntryInteraction input:valid,.o_assessmentitem .textEntryInteraction input:disabled{color:#333;-webkit-text-fill-color:#333;background:#d9edf7;border:1px solid #bce8f1}li.o_assessmentitem_order_item{padding:10px;margin-bottom:10px;border:2px dashed #999;border-radius:4px;background-color:#ffffff;background:#fcf8e3;list-style-type:none}li.o_assessmentitem_order_item:before,li.o_assessmentitem_order_item:after{content:" ";display:table}li.o_assessmentitem_order_item:after{clear:both}body>li.o_assessmentitem_order_item{display:block}.o_assessmentitem_wrapper .itemTitle{background:#f8f8f8;border:1px solid #e7e7e7;border-radius:4px 4px 0 0;margin-top:0;margin-bottom:0;padding:5px 10px;line-height:1.5em;position:relative}.o_assessmentitem_wrapper .itemTitle .o_qti_item_max_score{position:absolute;left:49%}.o_assessmentitem_wrapper .o_qti_item_body{min-height:200px;margin:0;padding:5px 10px;border-left:1px solid #e7e7e7;border-right:1px solid #e7e7e7;font-size:14px;line-height:1.8}.o_assessmentitem_wrapper .o_assessment_item_not_final.o_warning{margin:0}.o_assessmentitem_wrapper .modalFeedback h4:first-of-type,.o_assessmentitem_wrapper .modalFeedback .o_cal .fc-header-title h2:first-of-type,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback h2:first-of-type{padding-left:10px;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper h4,.o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper h2{border-left:1px solid #e7e7e7;border-right:1px solid #e7e7e7;padding-bottom:5px;margin-bottom:0}.o_assessmentitem_wrapper ul.o_testpartnavigation,.o_qti_menu_buttonstyle ul.o_testpartnavigation{list-style:none;padding:0;margin:0}.o_assessmentitem_wrapper li.o_assessmentitem,.o_qti_menu_buttonstyle li.o_assessmentitem{margin-bottom:2px}.o_assessmentitem_wrapper .o_assessmentitem_status,.o_qti_menu_buttonstyle .o_assessmentitem_status{float:right;display:block;padding:0.3em;margin-left:1em;border-radius:0.3em;border-width:1px;font-size:0.8em;line-height:1.2em;color:#fff}.o_assessmentitem_wrapper .o_assessmentitem_status.ended,.o_qti_menu_buttonstyle .o_assessmentitem_status.ended{background-color:#5bc0de}.o_assessmentitem_wrapper .o_assessmentitem_status.invalid,.o_qti_menu_buttonstyle .o_assessmentitem_status.invalid{background-color:#d9534f}.o_assessmentitem_wrapper .o_assessmentitem_status.answered,.o_qti_menu_buttonstyle .o_assessmentitem_status.answered{background-color:#5cb85c}.o_assessmentitem_wrapper .o_assessmentitem_status.notAnswered,.o_qti_menu_buttonstyle .o_assessmentitem_status.notAnswered{background-color:#f0ad4e}.o_assessmentitem_wrapper .o_assessmentitem_status.notPresented,.o_qti_menu_buttonstyle .o_assessmentitem_status.notPresented{background-color:#ddd}.o_assessmentitem_wrapper .o_assessmentitem_status.review,.o_qti_menu_buttonstyle .o_assessmentitem_status.review{background-color:#5bc0de}.o_assessmentitem_wrapper .o_assessmentitem_status.reviewNotAllowed,.o_assessmentitem_wrapper .o_assessmentitem_status.reviewInvalid,.o_assessmentitem_wrapper .o_assessmentitem_status.reviewNotAnswered,.o_assessmentitem_wrapper .o_assessmentitem_status.reviewNotSeen,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewNotAllowed,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewInvalid,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewNotAnswered,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewNotSeen{background-color:#5bc0de;opacity:0.7}.o_assessmentitem_wrapper .o_assessmentitem_status i:before,.o_qti_menu_buttonstyle .o_assessmentitem_status i:before{color:#fff}.o_assessmentitem_controls{background:#f8f8f8;border:1px solid #e7e7e7;border-radius:0 0 4px 4px;margin-top:0;margin-bottom:16px;padding:5px 10px}.o_assessmentitem_controls button{margin-bottom:0}.o_assessmentitem_controls .o_sel_assessment_item_submit span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";padding-right:0.5em}.o_assessmentitem_controls .o_sel_next_question span:after{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï”";padding-left:0.5em}.o_assessmentitem_controls .o_sel_question_menu span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";padding-right:0.5em}.o_assessmentitem_controls .o_sel_end_testpart span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";padding-right:0.5em}.o_assessmentitem_controls .o_sel_back_test_feedback span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï“";padding-right:0.5em}.o_assessmentitem_controls .o_sel_show_solution span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï„©";padding-right:0.5em}.o_assessmentitem_controls .o_sel_solution_hide span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï„©";padding-right:0.5em}.o_assessmentitem_control_view_solution{background:#f8f8f8;border:1px solid #e7e7e7;margin:0;padding:5px 10px}.o_assessmentitem_scoring{background:#f8f8f8;border:1px solid #e7e7e7;border-bottom:0;border-radius:4px 4px 0 0;margin-top:0;margin-bottom:0;padding:5px 10px}.o_assessmentitem_scoring_buttons{background:#f8f8f8;border:1px solid #e7e7e7;border-top:0;border-radius:0 0 4px 4px;margin-top:0;margin-bottom:16px;padding:5px 10px}.o_assessmentitem_scoring_override_window{width:300px}.itemPrompt{margin:1.5em 0;font-style:italic;color:#666666}.o_qti_item_body{margin:1em 0}.o_sel_assessment_item_hint{margin-top:1em}.o_assessment_test_results .o_sel_assessment_item_hint{display:none}tr.choiceinteraction td.control{padding:0.5em}tr.choiceinteraction td.choiceInteraction{padding:0.5em}.choiceInteraction label{font-weight:normal}.choiceInteraction div.o_qti_item_choice_option_flow{display:inline-block;padding:.5em;border:1px solid transparent}.choiceInteraction div.o_qti_item_choice_option_flow label span{font-weight:normal}.choiceInteraction div.o_qti_item_choice_option_flow label span>p{display:inline-block}.choiceInteraction.choiceright table tr td.choiceInteraction{background-color:#e7e7e7;border-bottom:3px solid white}.matchInteraction.choiceright table tr td.o_qti_item_kprim_text{background-color:#e7e7e7;border-bottom:3px solid white}.matchInteraction input[type='text']{display:inline;width:auto}.matchInteraction div.bar_green{background-color:#5cb85c}.matchInteraction div.bar_red{background-color:#d9534f}.source-left,.target-left,.source-right,.target-right{width:50%;float:left;position:relative;padding:0;margin-top:5px}.o_match_dnd_sources{padding:10px 10px 0 10px;min-height:60px;border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8}.o_match_dnd_sources.oo-accepted{border-color:#1f7e9a}.o_match_dnd_source{padding:10px;margin-bottom:10px;border:2px dashed #999;border-radius:4px;background-color:#ffffff;background:#fcf8e3;cursor:move;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.o_match_dnd_source:before,.o_match_dnd_source:after{content:" ";display:table}.o_match_dnd_source:after{clear:both}.o_match_dnd_source.oo-selected{border:2px dashed #f0ad4e;background:#fae3c4}.o_match_dnd_source.oo-drag{border:2px dashed #f0ad4e !important}.source-bottom .o_match_dnd_source,.source-top .o_match_dnd_source{margin:0 0 10px 0}.o_match_dnd_targets .oo-accepted{border:2px solid #1f7e9a;border-radius:4px}.o_match_dnd_target{padding:10px 10px 0 10px;margin:0 0 10px 10px;border:2px solid #5bc0de;border-radius:4px;background:#d9edf7}.o_match_dnd_target:before,.o_match_dnd_target:after{content:" ";display:table}.o_match_dnd_target:after{clear:both}.o_match_dnd_target .o_match_dnd_target_drop_zone{margin:0;padding:5px 0 0 15px;min-height:30px}.o_match_dnd_target .o_match_dnd_target_drop_zone .o_match_dnd_source{border:2px dashed #777}.target-bottom .o_match_dnd_target,.target-top .o_match_dnd_target{margin:0 0 10px 0}.target-bottom .o_match_dnd_target .o_match_dnd_target_drop_zone,.target-top .o_match_dnd_target .o_match_dnd_target_drop_zone{padding-left:0px}.target-bottom .o_match_dnd_target .o_match_dnd_target_drop_zone .o_match_dnd_source,.target-top .o_match_dnd_target .o_match_dnd_target_drop_zone .o_match_dnd_source{padding-left:15px}.table.o_match_true_false_edit th.o_sel_match_target_0,.table.o_match_true_false_edit th.o_sel_match_target_1,.table.o_match_true_false_edit th.o_sel_match_target_2{width:12%}.match_true_false input[type="checkbox"]{-webkit-appearance:radio;-moz-appearance:radio;-ms-appearance:radio;appearance:radio}.match_true_false .table>tbody>tr>td.o_match_true_false_unanswered,.match_true_false .table>tbody>tr>td.o_match_true_false_right,.match_true_false .table>tbody>tr>td.o_match_true_false_wrong{vertical-align:middle;width:11%}.match_true_false th.o_match_true_false_unanswered,.match_true_false th.o_match_true_false_right,.match_true_false th.o_match_true_false_wrong{width:11%}.match_true_false td.o_match_true_false_answer,.match_true_false th.o_match_true_false_answer{width:67%}.match_true_false td.o_match_true_false_unanswered{background-color:#fbfbfb}.match_true_false td.o_match_true_false_right{background-color:#eaf6ea}.match_true_false td.o_match_true_false_wrong{background-color:#fdf7f7}.o_assessmentitem .mathEntryInteraction{border:1px solid #ddedfc;background-color:#edf1f6;background:linear-gradient(to top, #edf1f6 0%, #f6f9fb 100%);border-radius:0.4em;padding:1em;margin:0.5em 0}.o_assessmentitem .mathEntryInteraction .inputPanel{line-height:1em;text-align:left}.o_assessmentitem .mathEntryInteraction .inputPanel input{margin:0;padding:0}.o_assessmentitem .mathEntryInteraction .previewPanel{text-align:center}.o_assessmentitem .mathEntryInteraction.horizontal{min-height:5em;width:40em}.o_assessmentitem .mathEntryInteraction.horizontal .inputPanel{width:45%;float:left;margin:2em 0}.o_assessmentitem .mathEntryInteraction.horizontal .previewPanel{width:50%;margin-left:40%}.o_assessmentitem .mathEntryInteraction.vertical{min-height:6em}.o_assessmentitem .mathEntryInteraction.vertical .inputPanel{padding:0 5em}.o_assessmentitem .mathEntryInteraction.vertical .inputPanel:before{content:'Input Maths: '}.o_assessmentitem .mathEntryInteraction.vertical .previewPanel{margin-top:2em;min-height:4em}.o_assessmentitem div.upConversionAjaxControlMessage{width:auto;text-align:center;display:inline;padding:0.5em 0 0.5em 20px}.o_assessmentitem div.success{background:#5cb85c}.o_assessmentitem div.failure{background-color:#f0ad4e}.o_assessmentitem div.error{background-color:#d9534f}.o_assessmentitem div.upConversionAjaxControlPreview{margin:0.5em 0;font-size:110%}.o_assessmentitem table.inputHelp{border-collapse:collapse;width:100%;font-size:90%}.o_assessmentitem table.inputHelp th{border:1px solid #999999;padding:0.2em 0.5em;background-color:#cad8e5}.o_assessmentitem table.inputHelp td{color:#999999;border:1px solid #999999;padding:0.2em 0.5em}.o_assessmentitem table.inputHelp kbd{color:black;font-size:100%;line-height:100%}.o_assessmentitem table.inputHelp .longComma{margin-right:0.5em}.o_togglebox_wrapper #modal-correct-solution div.o_togglebox_content{background-color:#fcf8e3;border-color:#8a6d3b}.o_candidatecomment{padding:0;margin:2em 0 1em 0;border:none}.o_candidatecomment legend{font-size:110%;font-weight:bold;color:#777;margin-bottom:0;border-bottom:0}.o_candidatecomment div.o_item_container_help{margin:0;padding:0}.o_candidatecomment textarea{display:block;color:#777}.o_qti_menu_menustyle ul.o_testpartnavigation{list-style:none;padding:0;margin:0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:0 1em 0.5em 1em;margin:0 0 0.5em 0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection header{margin:0 0 1em 0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection header div.rubric{font-style:italic}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection ul.o_testpartnavigation_inner{list-style:none;padding:0;margin:0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem{padding:0.1em 0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem a{color:#777}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem a:hover,.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem a:focus{color:#333}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem.active a{color:#337ab7;font-weight:bold}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem.active a:hover,.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem.active a:focus{color:#23527c;background-color:#eee}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem span{vertical-align:middle}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_status{display:inline;position:relative;left:-0.3em;background:transparent;border:0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_status span{display:none}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_attempts{float:right;display:block;padding:0.3em;border-radius:2px;background-color:#fafafa;color:#777;font-size:0.7em}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_attempts.o_assessmentitem_attempts_limited{color:#f0ad4e}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_attempts.o_assessmentitem_attempts_nomore{color:#5bc0de}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_marks{float:right;display:inline-block;font-size:0.8em;position:relative;top:0.3em;right:-0.5em}.o_qti_menu_menustyle ul.o_testpartnavigation .o_assessmentitem .questionTitle{margin-right:1em}.testFeedback h1:first-of-type{margin-top:0}ul.testPartDrilldown{list-style:none;padding:0;margin:0}ul.testPartDrilldown li.o_assessmentsection{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:0 1em 0.5em 1em}ul.testPartDrilldown li.o_assessmentsection header{margin:0 0 1em 0}ul.testPartDrilldown li.o_assessmentsection header div.rubric{font-style:italic}ul.testPartDrilldown li.o_assessmentsection ul.testPartDrilldownInner{list-style:none;padding:0;margin:0}ul.testPartDrilldown li.currentItem{border:1px solid #e7e7e7;border-radius:0.5em;padding:0 1em;margin-top:1em}.testItemControl{margin-top:0.5em}.o_qti_statistics_answer{background:#F5F5F5;padding:1px 2px;width:90%}.o_qti_statistics_answer p{display:inline-block}.o_assessment_test_results .o_qti_assessment_title{border-bottom:1px solid #ddd}.o_assessment_test_results table th{width:40%}.o_assessment_test_results .o_qti_sectionsummary .o_qti_section{text-align:center}.o_assessment_test_results .o_qti_sectionsummary .o_qti_section .o_qti_section_sublisting{padding:0 10%;min-height:3em}.o_assessment_test_results .o_qti_sections .o_qti_section{margin-top:40px}.o_assessment_test_results .o_qti_sections .o_qti_section h3{margin-bottom:20px}.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_id{display:none}.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment{margin:0;padding:5px 10px 10px 5px;border-top:1px solid #ddd;broder-bottom:1px solid #ddd}.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h4,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h2{font-size:100%;font-weight:bold;color:inherit}.o_assessment_test_results .o_qti_to_overview{text-align:right}.o_sel_assessment_item_feedbacks{min-height:250px}.o_alternative_question_types h4 select,.o_alternative_question_types .o_cal .fc-header-title h2 select,.o_cal .fc-header-title .o_alternative_question_types h2 select{display:inline-block;width:auto}#o_dev_tool #o_dev_tool_mode{width:1em;height:1em;float:left;border:1px solid #000;margin-right:5px}a.o_dev{position:absolute;left:0;top:0;z-index:4000;background:#f0ad4e;border:1px solid #d59645;border-top:none;border-left:none;border-radius:0 0 4px 0;color:#fff}a.o_dev:hover{color:#d9534f}.o_dev_w{margin:1px}.o_dev_w .o_dev_h{color:#000;font-size:8px;line-height:10px;margin:0}.o_dev_w .o_dev_h span{background:#f4c37d;border:1px solid #f0ad4e;border-bottom:0}.o_dev_w .o_dev_c{position:relative;border:1px dotted #eee}.o_dev_w .o_dev_c .o_dev_i{position:absolute;top:0px;left:24px;height:auto;width:auto;padding:5px;border:1px solid black;display:none;margin:0px;z-index:999;font-size:11px;background-color:#BBF}.o_dev_w.o_dev_m>.o_dev_c{border:1px solid #f0ad4e;margin:0px;background-color:#f8e9d4}.o_wikimod_nav .o_noti{margin:0}.o_wikimod_editform_wrapper{margin-top:30px}.o_wiki-file-deleted{text-decoration:line-through}div.o_wiki_wrapper a.wikiimg{text-decoration:none;color:inherit;font-weight:inherit}div.o_wiki_wrapper div.imgcaption{padding:0.3em 0em 0.2em 0.3em}div.o_wiki_wrapper div.imgleft{clear:left;float:left;margin:0.3em 0.3em 0.3em 0em}div.o_wiki_wrapper div.imgright{clear:right;float:right;margin:0.3em 0em 0.3em 0.3em}div.o_wiki_wrapper div.imgcenter{clear:both;overflow:hidden;text-align:center;margin:0.3em 0em 0.3em 0em}div.o_wiki_wrapper div.imgthumb{border:1px solid #bbbbbb;padding:0.3em}div.o_wiki_wrapper table.gallery{border:1px solid #ccc;margin:2px;padding:2px;background-color:white}div.o_wiki_wrapper table.gallery tr{vertical-align:middle}div.o_wiki_wrapper table.gallery td{background-color:#f9f9f9;border:solid 2px white;text-align:center;vertical-align:middle;width:150px}div.o_wiki_wrapper img.gallery{border:1px solid #bbbbbb;padding:0.3em}div.o_wiki_wrapper a.edit{font-style:italic;color:red}div.o_wiki_wrapper a.externallink:before{padding-right:2px}div.o_wiki_wrapper a.externallink:before:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:"ï‚Ž"}.o_ep_icon_map:before{content:""}.o_ep_icon_collection:before{content:""}.o_ep_icon_page:before{content:""}.o_ep_icon_struct:before{content:""}.o_ep_icon_liveblog:before{content:"ï‚¡"}.o_artefact_closed:before{content:""}.o_portfolio_toc .o_ep_link{float:right;margin-right:0px}.o_portfolio_toc .o_ep_commentlink{float:right;margin-right:10%}.o_portfolio_toc li.level1{font-size:1.2em;margin:1.2em 0 0.2em 0;border-bottom:1px solid #ddd}.o_portfolio_toc li.level2{padding-left:20px;font-size:1.1em;border-bottom:1px dotted #ddd}.o_portfolio_toc li.level3{padding-left:40px}.o_eportfolio_page .o_eportfolio_structure>h5{border-bottom:1px solid #ddd;margin-top:1.2em}.o_eportfolio_maps .panel{font-family:'Century Gothic', 'Apple Gothic', sans-serif;box-shadow:3px 3px 4px rgba(20,20,20,0.4)}.o_eportfolio_maps .panel-heading{padding:5px 10px}.o_eportfolio_maps h4,.o_eportfolio_maps .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps h2{padding:11px 15px;background:rgba(255,255,230,0.7) none;border-radius:6px}.o_eportfolio_maps .table>tbody>tr>td{border-top:none}.o_eportfolio_maps .panel-body{border-top:none}.o_eportfolio_maps .panel>.panel-body+.table{border-top:none}.panel-footer .o_ep_options{display:inline-block}.o_eportfolio_map{padding:0 20px 2px 3px;border-radius:6px 10px 6px 0;font-family:'Century Gothic', 'Apple Gothic', sans-serif}.o_map_header{padding-left:5px}.o_eportfolio_map ul.nav-tabs li:not(.active) a{background-color:rgba(240,240,240,0.7);border-radius:4px 4px 0 0}.o_eportfolio_edit{border-radius:4px 4px 0 0}.o_ep_actualpage,.o_eportfolio_edit{padding:15px;background-color:#fff}.o_ep_content{margin-top:15px}.o_ep_filter .o_date.form-inline .form-group,.o_ep_filter .o_date.o_navbar-form .form-group{margin-left:8px}.o_eportfolio_share_policy_wrapper{border:1px solid #ddd;border-radius:4px}.o_eportfolio_share_header{padding:10px 15px;border-bottom:1px solid #ddd;background-color:#f5f5f5}.o_eportfolio_share_policy{padding:10px 15px}.o_map-default{background:#fafafa;background:#fafafa -webkit-gradient(linear, 37% 20%, 53% 100%, from(#fafafa), to(#efefef));background:#fafafa -moz-linear-gradient(43% 71% 101deg, #efefef, #fafafa);background:#fafafa -o-linear-gradient(#fafafa, #efefef);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#fafafa', EndColorStr='#efefef');border:1px solid #efefef;border-left:3px solid rgba(188,188,188,0.8)}.o_eportfolio_maps .o_map-default h4,.o_eportfolio_maps .o_map-default .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-default h2{color:#444;background:none}.o_eportfolio_maps .o_map-default .panel-body,.o_eportfolio_maps .o_map-default td,.o_eportfolio_maps .o_map-default a{color:#000}.o_map-comic{background:#a2c3e8 none;font-family:'Comic Sans MS', 'Comic Sans', fantasy;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_map-leather{background-color:#957352;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(248,248,248,0.7)), color-stop(100%, rgba(193,193,193,0.5))),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-webkit-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-moz-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-ms-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-o-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");font-family:Palatino, Georgia, serif;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-leather h4,.o_eportfolio_maps .o_map-leather .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-leather h2{background:rgba(243,230,225,0.3) none}.o_eportfolio_maps .o_map-leather .panel-body,.o_eportfolio_maps .o_map-leather td{color:#333}.o_eportfolio_maps .o_map-leather a{color:#fad9a4}.o_eportfolio_map.o_map-leather .o_map_header h4,.o_eportfolio_map.o_map-leather .o_map_header .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_map.o_map-leather .o_map_header h2,.o_eportfolio_map.o_map-leather .o_map_header p,.o_eportfolio_map.o_map-leather .o_map_header a,.o_eportfolio_map.o_map-leather .o_map_header span,.o_eportfolio_map.o_map-leather .o_map_header label{color:#333}.o_map-epmst-green{background-color:#ECF69A;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-green h4,.o_eportfolio_maps .o_map-epmst-green .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green h2{color:#444}.o_eportfolio_maps .o_map-epmst-green .panel-body,.o_eportfolio_maps .o_map-epmst-green td,.o_eportfolio_maps .o_map-epmst-green a{color:#000}.o_map-epmst-green2{background:#99E44D;background:#99E44D -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99E44D), to(#CBF1A5));background:#99E44D -moz-linear-gradient(43% 71% 101deg, #CBF1A5, #99E44D);background:#99E44D -o-linear-gradient(#99E44D, #CBF1A5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99E44D', EndColorStr='#CBF1A5');border:1px solid #bbb;border-left:3px solid rgba(136,136,136,0.8)}.o_eportfolio_maps .o_map-epmst-green2 h4,.o_eportfolio_maps .o_map-epmst-green2 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green2 h2{color:#555}.o_eportfolio_maps .o_map-epmst-green2 .panel-body,.o_eportfolio_maps .o_map-epmst-green2 td,.o_eportfolio_maps .o_map-epmst-green2 a{color:#000}.o_map-epmst-green3{background:#DFF0C1;background:#DFF0C1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#DFF0C1), to(#A0D346));background:#DFF0C1 -moz-linear-gradient(43% 71% 101deg, #A0D346, #DFF0C1);background:#DFF0C1 -o-linear-gradient(#DFF0C1, #A0D346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#DFF0C1', EndColorStr='#A0D346');border:1px solid #bbb;border-left:3px solid rgba(136,136,136,0.8)}.o_eportfolio_maps .o_map-epmst-green3 h4,.o_eportfolio_maps .o_map-epmst-green3 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green3 h2{color:#555}.o_eportfolio_maps .o_map-epmst-green3 .panel-body,.o_eportfolio_maps .o_map-epmst-green3 td,.o_eportfolio_maps .o_map-epmst-green3 a{color:#000}.o_map-epmst-green4{background-color:#D7DBB5;border:1px solid #bbb;border-left:3px solid rgba(136,136,136,0.8)}.o_eportfolio_maps .o_map-epmst-green4 h4,.o_eportfolio_maps .o_map-epmst-green4 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green4 h2{color:#555}.o_eportfolio_maps .o_map-epmst-green4 .panel-body,.o_eportfolio_maps .o_map-epmst-green4 td,.o_eportfolio_maps .o_map-epmst-green4 a{color:#000}.o_map-epmst-red{background:#FFBA71;background:#FFBA71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#FFBA71), to(#FFBA99));background:#FFBA71 -moz-linear-gradient(43% 71% 101deg, #FFBA99, #FFBA71);background:#FFBA71 -o-linear-gradient(#FFBA71, #FFBA99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFBA71', EndColorStr='#FFBA99');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red h4,.o_eportfolio_maps .o_map-epmst-red .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red h2{color:#444}.o_eportfolio_maps .o_map-epmst-red .panel-body,.o_eportfolio_maps .o_map-epmst-red td,.o_eportfolio_maps .o_map-epmst-red a{color:#000}.o_map-epmst-red2{background:#FF9772;background:#FF9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#FF9772), to(#FF9780));background:#FF9772 -moz-linear-gradient(43% 71% 101deg, #FF9780, #FF9772);background:#FF9772 -o-linear-gradient(#FF9772, #FF9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#FF9772', EndColorStr='#FF9780');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red2 h4,.o_eportfolio_maps .o_map-epmst-red2 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red2 h2{color:#444}.o_eportfolio_maps .o_map-epmst-red2 .panel-body,.o_eportfolio_maps .o_map-epmst-red2 td,.o_eportfolio_maps .o_map-epmst-red2 a{color:#000}.o_map-epmst-red3{background:#E8AFBB;background:#E8AFBB -webkit-gradient(linear, 37% 20%, 53% 100%, from(#E8AFBB), to(#E8AFA0));background:#E8AFBB -moz-linear-gradient(43% 71% 101deg, #E8AFA0, #E8AFBB);background:#E8AFBB -o-linear-gradient(#E8AFBB, #E8AFA0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#E8AFBB', EndColorStr='#E8AFA0');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red3 h4,.o_eportfolio_maps .o_map-epmst-red3 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red3 h2{color:#444}.o_eportfolio_maps .o_map-epmst-red3 .panel-body,.o_eportfolio_maps .o_map-epmst-red3 td,.o_eportfolio_maps .o_map-epmst-red3 a{color:#000}.o_map-epmst-red4{background:#FFA800;background:#FFA800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#FFA800), to(#FFAF00));background:#FFA800 -moz-linear-gradient(43% 71% 101deg, #FFAF00, #FFA800);background:#FFA800 -o-linear-gradient(#FFA800, #FFAF00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFA800', EndColorStr='#FFAF00');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red4 h4,.o_eportfolio_maps .o_map-epmst-red4 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red4 h2{color:#444}.o_eportfolio_maps .o_map-epmst-red4 .panel-body,.o_eportfolio_maps .o_map-epmst-red4 td,.o_eportfolio_maps .o_map-epmst-red4 a{color:#000}.o_map-epmst-blue{background:#00D2F8;background:#00D2F8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00D2F8), to(#4A9EAD));background:#00D2F8 -moz-linear-gradient(43% 71% 101deg, #4A9EAD, #00D2F8);background:#00D2F8 -o-linear-gradient(#00D2F8, #4A9EAD);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00D2F8', EndColorStr='#4A9EAD');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue h4,.o_eportfolio_maps .o_map-epmst-blue .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue .panel-body,.o_eportfolio_maps .o_map-epmst-blue td,.o_eportfolio_maps .o_map-epmst-blue a{color:#000}.o_map-epmst-blue2{background-color:#C4F6FF;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue2 h4,.o_eportfolio_maps .o_map-epmst-blue2 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue2 h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue2 .panel-body,.o_eportfolio_maps .o_map-epmst-blue2 td,.o_eportfolio_maps .o_map-epmst-blue2 a{color:#000}.o_map-epmst-blue3{background-color:#B3E2F7;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue3{box-shadow:3px 3px 4px rgba(20,20,20,0.4)}.o_eportfolio_maps .o_map-epmst-blue3 h4,.o_eportfolio_maps .o_map-epmst-blue3 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue3 h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue3 .panel-body,.o_eportfolio_maps .o_map-epmst-blue3 td,.o_eportfolio_maps .o_map-epmst-blue3 a{color:#000}.o_map-epmst-blue4{background:#DEE7F7;background:#DEE7F7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#DEE7F7), to(#C1E9FD));background:#DEE7F7 -moz-linear-gradient(43% 71% 101deg, #C1E9FD, #DEE7F7);background:#DEE7F7 -o-linear-gradient(#DEE7F7, #C1E9FD);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#DEE7F7', EndColorStr='#C1E9FD');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue4 h4,.o_eportfolio_maps .o_map-epmst-blue4 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue4 h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue4 .panel-body,.o_eportfolio_maps .o_map-epmst-blue4 td,.o_eportfolio_maps .o_map-epmst-blue4 a{color:#000}.o_portfolio div#o_main_toolbar.o_toolbar{margin-top:0px}.o_section_lead,.o_page_lead,.o_assignment_lead{padding:10px 10px;margin-bottom:10px;background-color:#f2f2f2;border-radius:3px;border:1px #d9d9d9 solid}.o_section_ended .o_section_lead{border-color:#eba5a3;background-color:#f4cecd}.o_media.o_media_right,.o_media.o_media_right_large{float:right;margin-left:2em;margin-bottom:2em}.o_media.o_media_left,.o_media.o_media_left_large{float:left;margin-right:2em;margin-bottom:2em}.o_media.o_media_left,.o_media.o_media_right{max-height:200px;max-width:50%}.o_media.o_media_left img,.o_media.o_media_right img{max-height:200px}.o_media.o_media_right_large,.o_media.o_media_left_large{max-height:300px;max-width:75%}.o_media.o_media_right_large img,.o_media.o_media_left_large img{max-height:300px}.o_media img{border-radius:3px;border:1px #d9d9d9 solid;background:#fff;height:auto;width:auto}@media (max-width: 767px){.o_page_lead .o_media.o_media_right,.o_page_lead .o_media.o_media_right_large{margin-left:1em;margin-bottom:1em}.o_page_lead .o_media.o_media_left,.o_page_lead .o_media.o_media_left_large{margin-right:1em;margin-bottom:1em}.o_page_lead .o_media.o_media_left,.o_page_lead .o_media.o_media_right{max-height:120px;max-width:30%}.o_page_lead .o_media.o_media_left img,.o_page_lead .o_media.o_media_right img{max-height:120px}.o_page_lead .o_media.o_media_right_large,.o_page_lead .o_media.o_media_left_large{max-height:180px;max-width:50%}.o_page_lead .o_media.o_media_right_large img,.o_page_lead .o_media.o_media_left_large img{max-height:180px}}.o_portfolio_page .o_block_imagebg{border:1px #d9d9d9 solid}.o_page_lead{padding:20px}.o_page_lead h2{margin-bottom:5px}.o_page_lead .o_portfolio_page_meta{margin-bottom:5px}.o_page_lead .o_page_summary{font-size:18px}.o_page_lead .o_media.o_desc_empty{max-height:300px;text-align:center}.o_page_lead .o_media.o_desc_empty img{max-height:300px}.o_page_lead .o_portfolio_status_block{border-top:1px solid #d9d9d9;padding-top:1em;margin-bottom:-1em}.o_page_lead .o_portfolio_status{display:inline-block;padding-right:2em}.o_page_lead.o_block_imagebg .o_portfolio_status{padding:2px;background-color:rgba(255,255,255,0.8)}.o_portfolio_status_block p.o_section_ended{font-size:120%}.o_page_assignment{font-size:12px}.o_page_assignment.o_togglebox_wrapper div.o_togglebox_content{margin:10px 0 20px 0;padding:20px;border-left:3px solid #d9534f;background-color:#f2dede}.o_page_assignment .o_page_assignement_info{position:relative;left:-1em}.o_page_export .o_page_assignment .o_opener,.o_binder_export .o_page_assignment .o_opener{visibility:hidden}.o_page_export .o_page_assignment .o_closer,.o_binder_export .o_page_assignment .o_closer{display:none}.o_portfolio_listing.o_rendertype_custom .o_table_body.container-fluid{padding-right:0px;padding-left:0px}.o_portfolio_listing.o_rendertype_custom .o_portfolio_entry{position:relative;display:inline-block;height:230px;width:400px;vertical-align:top;margin-right:10px}.o_portfolio_listing.o_rendertype_custom .o_portfolio_entry ul{padding-left:2em}.o_portfolio_listing.o_rendertype_custom .panel-imagebg .panel-body ul{margin:0;padding:0;list-style-type:none}.o_portfolio_listing.o_rendertype_custom .panel-imagebg .panel-body ul li{padding:2px}.o_binder.o_portfolio_assignments .panel-heading,.o_binder.o_portfolio_assignments .panel-body{border-left:3px solid #d9534f}.panel-default.o_portfolio_assignments .panel-heading,.panel-default.o_portfolio_assignments .panel-body{border-left:3px solid #d9534f}.o_portfolio_page .o_portfolio_assignments .o_portfolio_page_body{border-left:3px solid #d9534f}.o_portfolio_page .o_portfolio_assignments .o_portfolio_page_body .o_portfolio_page_meta_wrapper,.o_portfolio_page .o_portfolio_assignments .o_portfolio_page_body .o_portfolio_page_summary{padding-left:10px}.o_portfolio_page_summary .o_media.o_media_right,.o_portfolio_page_summary .o_media.o_media_right_large{margin-left:1em;margin-bottom:1em}.o_portfolio_page_summary .o_media.o_media_left,.o_portfolio_page_summary .o_media.o_media_left_large{margin-right:1em;margin-bottom:1em}.o_portfolio_page_summary .o_media.o_media_left,.o_portfolio_page_summary .o_media.o_media_right{max-height:150px}.o_portfolio_page_summary .o_media.o_media_left img,.o_portfolio_page_summary .o_media.o_media_right img{max-height:150px}.o_portfolio_page_summary .o_media.o_media_right_large,.o_portfolio_page_summary .o_media.o_media_left_large{max-height:230px}.o_portfolio_page_summary .o_media.o_media_right_large img,.o_portfolio_page_summary .o_media.o_media_left_large img{max-height:230px}.o_portfolio_categories .tag{font-size:80%;font-weight:normal}.o_portfolio_categories div,.o_portfolio_categories form{display:inline-block}.o_portfolio_categories_edit .bootstrap-tagsinput{margin-bottom:0;padding:0px 4px}.o_portfolio_last_modified+.o_portfolio_categories,.o_portfolio_page_meta+.o_portfolio_categories{margin-left:1em}.o_rendertype_classic .o_pf_page,.o_rendertype_classic .o_pf_assignment{padding-left:1em}.o_portfolio_timeline .o_timeline_up{text-align:center}.o_portfolio_timeline .o_timeline_down{text-align:center}.o_portfolio_timeline .axis path,.o_portfolio_timeline .axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.o_portfolio_timeline .x.axis line,.o_portfolio_timeline .x.axis path{display:none}.o_portfolio_timeline path.o_timeline_curve{fill:none;stroke:#ccc;shape-rendering:crispEdges}.o_portfolio_timeline .y.axis .tick line,.o_portfolio_timeline .y.axis path.domain{stroke:#ddd}.o_portfolio_timeline text{fill:#888;stroke:none;font-size:10px}.o_portfolio_timeline .dot.o_pf_status_draft{fill:#f0ad4e}.o_portfolio_timeline .dot.o_pf_status_published{fill:#337ab7}.o_portfolio_timeline .dot.o_pf_status_inrevision{fill:#d9534f}.o_portfolio_timeline .dot.o_pf_status_closed{fill:#5cb85c}.o_portfolio_timeline .dot.o_pf_status_deleted{fill:#000}.o_pf_comments{margin-top:3em}.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file{background-color:#f8f8f8;padding:10px;border-radius:10px}.o_pf_content .o_forum{border:1px #f8f8f8 solid;padding:10px;border-radius:10px}.o_pf_content .o_image,.o_pf_content .o_video{padding:10px;width:100%}.o_pf_content .o_image img,.o_pf_content .o_video img{border:1px #f8f8f8 solid;border-radius:10px}.o_pf_content .o_image .o_artefact_metadata,.o_pf_content .o_video .o_artefact_metadata{text-align:left}.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_forum,.o_pf_content .o_wiki{background-color:#f8f8f8;padding:10px;border-radius:10px}.o_pf_content .o_efficiencystatement h3,.o_pf_content .o_efficiencystatement .h3,.o_pf_content .o_feed h3,.o_pf_content .o_feed .h3,.o_pf_content .o_forum h3,.o_pf_content .o_forum .h3,.o_pf_content .o_wiki h3,.o_pf_content .o_wiki .h3{font-size:14px}.o_pf_content .o_efficiencystatement .row,.o_pf_content .o_feed .row,.o_pf_content .o_forum .row,.o_pf_content .o_wiki .row{margin:0}.o_pf_content .o_efficiencystatement .o_block_with_datecomp,.o_pf_content .o_feed .o_block_with_datecomp,.o_pf_content .o_forum .o_block_with_datecomp,.o_pf_content .o_wiki .o_block_with_datecomp{margin-top:0.5em;margin-bottom:0}.o_pf_video_placeholder{background-color:#f8f8f8;border:1px solid #f8f8f8;border-radius:10px;display:table;min-width:400px;text-align:center;padding:40px 10px}.o_pf_video_placeholder i{display:table-cell;vertical-align:middle}.o_pf_content_editor .o_toolbar{border:none}.o_pf_content_editor .o_page_part{border:2px solid transparent}.o_pf_content_editor .o_page_part:hover{border:2px dotted #78acd9}.o_pf_content_editor .o_page_fragment_edit{position:relative}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above{height:25px;width:100%;background:#78acd9;position:absolute;z-index:3;left:0;top:-25px;box-shadow:3px -8px 10px 0px rgba(0,0,0,0.2)}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_add_above{position:absolute;left:0;top:-25px;height:25px;border-left:2px dashed #78acd9;border-top:2px dashed #78acd9;border-right:2px dashed #78acd9;border-radius:10px 10px 0 0;box-shadow:0 -5px 10px 0px rgba(0,0,0,0.2);background:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_sel_add_element_above{display:inline-block;padding:5px 5px 0 5px}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above{padding-right:25px;line-height:25px;vertical-align:middle}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above .o_page_type{display:none}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above a{float:right;color:#fff;padding-right:1em}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above a:hover{color:#e6e6e6}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd{position:absolute;z-index:4;top:0;right:0;width:25px;height:100%;background:#78acd9}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a{position:absolute;display:inline-block;width:25px;height:25px;line-height:25px;text-align:center;vertical-align:middle;color:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a:hover{color:#e6e6e6}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_disabled{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_disabled:hover{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_sel_move_up_element{z-index:4;top:-25px}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_sel_move_down_element{bottom:0}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit{padding-right:25px;border:2px solid #78acd9;box-shadow:5px 5px 10px 0px rgba(0,0,0,0.2)}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit:hover{border:2px solid #78acd9}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar{position:absolute;z-index:5;left:5px;top:-25px;display:inline-block;height:25px;line-height:25px;vertical-align:middle}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a{color:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a:hover{color:#e6e6e6}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a.o_disabled{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a.o_disabled:hover{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_title .o_page_edit_toolbar li{font-weight:bold}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_richtext_mce textarea{border:0}.o_pf_content_editor .o_page_fragment_edit .o_page_add_below{position:absolute;z-index:3;left:0;bottom:-25px;height:25px;border-left:2px dashed #78acd9;border-bottom:2px dashed #78acd9;border-right:2px dashed #78acd9;border-radius:0 0 10px 10px;box-shadow:3px 8px 10px 0px rgba(0,0,0,0.2);background:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_add_below .o_sel_add_element_below{display:inline-block;padding:0 5px 5px 5px}.o_pf_content_editor .o_pf_add_contents{margin-top:30px}.o_portfolio_add_callout a span{display:none}.o_portfolio_add_callout ul.list-inline{margin-bottom:0}.o_portfolio_image_options{clear:both;width:300px;padding:5px}.o_binder_page_listing .o_portfolio_page_links{background-color:#f8f8f8;border-radius:4px}.o_binder_page_listing .o_portfolio_page_links .o_portfolio_comment{float:right}.o_portfolio_toc{padding-bottom:6em}.o_portfolio_toc .o_portfolio_section_meta{font-size:80%;color:#777;position:relative;top:-15px}.o_portfolio_toc .o_section{position:relative}.o_portfolio_toc .o_section .o_header_with_buttons h4,.o_portfolio_toc .o_section .o_header_with_buttons .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_portfolio_toc .o_section .o_header_with_buttons h2{padding-right:0.5em}.o_portfolio_toc .o_section_actions{position:absolute;top:0;right:0}.o_portfolio_toc .o_section_actions .o_section_move_up_and_down{display:inline-block}.o_portfolio_toc .o_section_actions .o_section_dropdown{display:inline-block;position:relative;top:-0.5em;padding-left:0.5em}.o_portfolio_toc ul>li>ul{padding-left:1.5em}.o_portfolio div span.badge{padding:3px 7px}.o_portfolio div .o_portfolio_entry_draft{background-color:#f0ad4e}.o_portfolio div .o_portfolio_published{background-color:#337ab7}.o_portfolio div .o_portfolio_entry_revision{background-color:#d9534f}.o_portfolio div .o_portfolio_entry_closed{background-color:#5cb85c}.o_portfolio div .o_portfolio_entry_deleted{background-color:#000}.o_portfolio div .o_portfolio_entry_incoming{background-color:#5cb85c}.o_portfolio div .o_portfolio_entry_inprocess{background-color:#c8c8c8}.o_portfolio div .o_portfolio_entry_done{background-color:#5cb85c}.o_portfolio_content .o_portfolio_toc.o_portfolio_toc_withtimeline{width:70%;float:left}.o_portfolio_content .o_portfolio_timeline{width:29%;float:right}.o_portfolio_content .o_portfolio_toc.o_portfolio_withtimeline,.o_portfolio_content .o_portfolio_entries.o_portfolio_withtimeline{width:70%;float:left}.o_portfolio_content .o_portfolio_timeline{width:29%;float:right}.o_portfolio_page_meta_wrapper{background-position:left top;background-repeat:no-repeat}.o_portfolio_rights table .o_portfolio_section td:first-child{padding-left:1.5em}.o_portfolio_rights table .o_portfolio_page td:first-child{padding-left:2.5em}.o_portfolio_publication table{padding-bottom:10px}.o_portfolio_publication table td{padding:5px 5px 5px 0}.o_portfolio_publication .o_portfolio_ac{font-size:90%}.o_portfolio_publication .o_portfolio_ac table td:nth-of-type(2){width:200px;white-space:nowrap}.o_portfolio_publication .o_portfolio_ac table td:nth-of-type(3){width:40px;white-space:nowrap}.o_portfolio_publication ul ul{margin-left:2em;margin-bottom:5px}.o_portfolio_publication ul li{background:#fbfbfb;padding:3px;margin-bottom:2px}.o_portfolio_publication ul li li{background:#f2f2f2}.o_portfolio_publication ul li li li{background:#eee}.o_portfolio_publication ul li li .table{margin-bottom:0px}@media (max-width: 767px){.o_portfolio_content .o_portfolio_toc.o_portfolio_withtimeline,.o_portfolio_content .o_portfolio_entries.o_portfolio_withtimeline{width:100%;float:none}.o_portfolio_content .o_sel_timeline_off,.o_portfolio_content .o_sel_timeline_on,.o_portfolio_content .o_portfolio_timeline{display:none}.o_portfolio_content .o_portfolio_content .o_portfolio_toc.o_portfolio_withtimeline{width:100%;float:none}}.o_portfolio_media_browser .o_portfolio_medias{position:relative;margin-bottom:20px;margin-top:20px}.o_portfolio_media_browser .o_portfolio_medias:before,.o_portfolio_media_browser .o_portfolio_medias:after{content:" ";display:table}.o_portfolio_media_browser .o_portfolio_medias:after{clear:both}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media{position:relative;float:left;margin:0 20px 20px 0;width:180px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media:last-child{margin-right:0}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual{border:1px solid #337ab7;position:relative;height:180px;width:180px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual span.o_visual_not_available{width:100%;height:100%;display:block}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon span.o_visual_not_available{background-image:none}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon{font-size:6em;text-align:center;color:#eee;line-height:140px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta{position:absolute;left:0;bottom:0;width:100%;border:1px solid #337ab7;border-top:0;background-color:rgba(255,255,255,0.8)}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title{margin:0;text-align:center;line-height:2em;height:2em;width:100%;overflow:hidden}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a{display:block;color:#337ab7;font-family:inherit;font-weight:inherit}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a:hover{color:#286090}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a>i{display:none}@media (min-width: 768px) and (max-width: 991px){.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media{width:80px;margin:0 10px 10px 0}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual{height:80px;width:80px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon{font-size:2.5em;line-height:55px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_title{font-size:90%}}@media (max-width: 767px){.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media{width:80px;margin:0 1px 1px 0}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual{height:80px;width:80px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon{font-size:2.5em;line-height:55px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_title{font-size:90%}}.o_ed_htitle h1,.o_ed_htitle .h1{font-size:30px}.o_ed_htitle h2,.o_ed_htitle .h2{font-size:24px}.o_ed_htitle h3,.o_ed_htitle .h3{font-size:18px}.o_ed_htitle h4,.o_ed_htitle .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_ed_htitle h2,.o_ed_htitle .h4{font-size:14px}.o_ed_htitle h5,.o_ed_htitle .h5{font-size:12px}.o_ed_htitle h6,.o_ed_htitle .h6{font-size:12px}@media print{.o_binder h1{font-size:43.2px;margin-top:10cm}.o_portfolio_section{margin-bottom:1cm}.o_portfolio_section h3:first-of-type{font-size:36px}.o_page_lead{border:0;border-bottom:1px solid #d9d9d9;border-radius:0;background-color:none;padding:0;margin-bottom:10px}.o_page_lead .o_portfolio_status_block{border-top:0;margin-bottom:0}.o_page_lead .o_media img{border:0}.o_page_lead .o_portfolio_categories{display:block;margin-left:0}.o_page_lead .o_portfolio_status_block{padding-top:0}.o_page_lead .o_page_summary{margin-top:1em;font-style:italic}.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file,.o_pf_content .o_forum,.o_pf_content .o_image,.o_pf_content .o_video,.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_forum,.o_pf_content .o_wiki{padding:0;border-radius:0;border:0}.o_pf_content .o_cit .o_desc p,.o_pf_content .o_text .o_desc p,.o_pf_content .o_file .o_desc p,.o_pf_content .o_forum .o_desc p,.o_pf_content .o_image .o_desc p,.o_pf_content .o_video .o_desc p,.o_pf_content .o_efficiencystatement .o_desc p,.o_pf_content .o_feed .o_desc p,.o_pf_content .o_forum .o_desc p,.o_pf_content .o_wiki .o_desc p{margin:0}.o_efficiencystatement table{font-size:90%}.o_artefact_metadata{page-break-inside:avoid;border:0;border-left:5px solid #eee;padding-left:10px;font-size:80%}.o_artefact_metadata table td,.o_artefact_metadata table th{border:0 !important;padding:2px !important}.o_artefact_metadata table th:first-of-type{width:20%}.o_pf_video_placeholder{background-color:#f8f8f8 !important;-webkit-print-color-adjust:exact;color-adjust:exact}.o_pf_video_placeholder.visible-print-block{display:table !important}}.o_evaluation_form .o_evaluation_block{margin-top:2em;margin-bottom:2em}.o_evaluation_form .o_evaluation_step_labels{margin-bottom:1em;font-weight:bold}.o_evaluation_form .o_evaluation_step_labels div,.o_evaluation_form .o_evaluation_step_labels span{display:inline-block;text-align:center}.o_evaluation_form .o_slider{margin-bottom:1em}.o_evaluation_form .o_slider .radio{padding:0;min-height:unset}.o_evaluation_form .o_slider label{padding:0}.o_evaluation_form .o_slider input{padding:0;margin:0;position:relative}.o_evaluation_form .o_slider .o_evaluation_no_response label{margin-top:-3px}.o_evaluation_form .o_slider.hover{background-color:#f5f5f5}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_steps label{padding:0;margin:0;text-align:center}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_steps div.radio{background-color:#f9f9f9;margin-top:0px;display:inline-block;text-align:center}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_steps div.radio:hover{background-color:#f5f5f5}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_no_response div.checkbox{margin-top:0px}.o_evaluation_form .o_slider .ui-slider.ui-slider-horizontal.ui-widget-content{margin-top:0.3em}.o_evaluation_form .o_evaluation_left_label{text-align:right;font-weight:normal}.o_evaluation_form .o_evaluation_left_label_la{text-align:left;padding-left:0px;font-weight:normal}.o_evaluation_form .o_evaluation_right_label{text-align:left;font-weight:normal}.o_evaluation_form .o_evaluation_legend{padding-left:0.5em;margin-bottom:0.5em}.o_evaluation_form .o_evaluation_mc_other{margin-top:-20px;margin-left:20px}.o_evaluation_form .o_eva_disc_open{margin-top:-30px;margin-left:10px}.o_evaluation_discrete_slider .o_evaluation_step_labels{position:relative}.o_evaluation_discrete_slider .o_evaluation_step_labels div:first-child{position:absolute;left:0px;text-align:left}.o_evaluation_discrete_slider .o_evaluation_step_labels div{display:inline-block;text-align:center}.o_evaluation_discrete_slider .o_evaluation_step_labels div:last-child{position:absolute;right:0px;text-align:right}@media (max-width: 768px){.o_evaluation_form .o_evaluation_left_label{text-align:left}.o_evaluation_form .o_evaluation_right_label{text-align:right}.o_evaluation_form .o_evaluation_no_response{text-align:left}.o_evaluation_form .o_evaluation_no_response .o_evaluation_no_resp_value{font-weight:bold}.o_evaluation_form .o_evaluation_slider .o_evaluation_no_response{margin-top:0.7em}}@media (min-width: 768px){.o_evaluation_form .o_evaluation_no_resp_value{display:none}}.o_slider_overview{width:100%;height:20px;position:relative}.o_slider_overview .o_slider_overview_line{top:5px;left:0px;position:absolute;width:100%;height:11px;border:1px solid #999;border-radius:4px}.o_slider_overview .o_slider_overview_point{position:absolute;width:10px;height:10px;background-color:#337ab7}.o_evaluation_editor_form{margin:10px 10px 0 10px}.o_evaluation_editor_form .o_slider_editor{margin-top:10px;position:relative}.o_evaluation_editor_form .o_evaluation_step_labels{display:inline-block}.o_evaluation_editor_form .o_evaluation_step_labels input{width:100%}.o_evaluation_editor_form .o_slider_descrete_radio div.radio{background-color:#f9f9f9;padding-top:5px;padding-bottom:-5px;margin-top:0px;display:inline-block;text-align:center}.o_evaluation_editor_form .o_slider_descrete_radio div.radio:hover{background-color:#f5f5f5}.o_evaluation_editor_form .o_slider_continous{padding-top:10px;padding-bottom:-10px}.o_evaluation_editor_form .o_slider_descrete{padding-top:5px;padding-bottom:-5px}.o_evaluation_editor_form .o_evaluation_example{font-size:90%}.o_evaluation_editor_form .o_slider_editor_delete{padding-right:48px}.o_evaluation_editor_form .o_slider_editor_delete .o_slider_editor_delete_button{position:absolute;right:15px}.d3chart .o_eva_bar{fill:#337ab7}@media print{.o_evaluation_block{page-break-inside:avoid}.o_evaluation_discrete_radio .o_slider .o_evaluation_steps div.radio{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#f9f9f9 !important}}.o_cit{position:relative;margin:10px 0}.o_cit blockquote.o_quote{color:#555;font-size:18px;margin-top:6px;margin-bottom:0;padding:0 12px;font-style:italic;padding:5px 5px 0;border:0}.o_cit blockquote.o_quote p:last-child:after{content:'1)';top:-0.5em;font-size:75%;line-height:0;position:relative;vertical-align:baseline}.o_cit .o_cit_bibinfo{font-size:90%;margin-left:1em;position:relative}.o_cit .o_cit_bibinfo>div:first-child:before{content:'1)';position:absolute;top:0.5em;left:-1em;font-size:75%;line-height:0;vertical-align:baseline}.o_cit .title,.o_cit .url,.o_cit .authors,.o_cit .pages,.o_cit .date,.o_cit .dateAdded,.o_cit .place,.o_cit .institution,.o_cit .issue,.o_cit .publisher,.o_cit .publicationTitle,.o_cit .edition,.o_cit .series,.o_cit .volume{margin-right:0.5em}.o_cit .title{font-style:italic}.o_cit .publicationTitle{color:black}.o_cit .links{padding-left:2em}.o_cit .notes{padding-left:2em;color:grey}.o_cit .note{font-style:italic}.o_cit .note p:first-child{margin-top:0}.o_cit .note p:first-child{margin-bottom:0}.o_cit .listing.web .item{padding-left:0;text-indent:0}.o_cit .listing.web .title{display:block;font-weight:bold;font-style:normal}.o_cit .listing.web .publicationTitle{display:block;font-style:italic}.o_cit .listing.web .url{display:block}.o_cit .listing.web .links{padding-left:0}.o_cit .listing.web .notes{padding-left:0}.o_cit .general-info{border-top:1px solid #eee;padding-top:30px;margin-top:30px}.o_cit .copyright{display:none}@media print{.o_cit blockquote.o_quote{page-break-inside:avoid}}.o_video_poster{position:relative;display:inline-block;width:400px;max-width:100%;height:225px;background-size:cover;background-repeat:no-repeat;border:1px solid #eee}.o_video_poster_select{text-align:center}.o_video_poster_select .o_video_poster{margin:5px}.o_video_poster_select .o_video_poster a{position:absolute;left:0;top:0;width:100%;height:100%}.o_video_poster_select .o_video_poster a span{position:absolute;bottom:0;width:100%;display:block;line-height:3em;background:#f8f8f8;opacity:0.8}.o_video_poster_select .o_video_poster a:hover{border:1px solid #bbb}.o_video_poster_select .o_video_poster a:hover span{opacity:0.9}.o_video_peekview{text-align:center}.o_video_listing .o_table_body.container-fluid{padding-right:0px;padding-left:0px}.o_video_listing .o_video_entry{position:relative;display:inline-block;height:230px;width:250px;vertical-align:top;margin-right:10px}.o_video_listing .o_video_poster{width:250px;max-width:100%;height:140px;border:1px solid #eee}.o_video_listing .o_timecode{position:absolute;bottom:2px;right:3px;padding:3px 4px;background:#333;color:#fff;font-size:12px;line-height:12px}.o_video_listing .o_meta{padding:2px;font-size:11px}.o_video_listing .o_meta h5{font-size:14px;margin-top:0;margin-bottom:5px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o_video_listing .o_date{margin-left:10px;display:inline-block}.o_video_listing .o_date:before{content:'\002022';margin-right:10px;display:inline-block}.o_video_run .o_author{margin-top:0.5em;margin-bottom:1em;line-height:normal;font-size:90%;color:#3c763d}.o_video_run .o_ratings_and_comments{margin-top:2em;border-top:1px solid #eee;padding-top:1em}.o_video_chapter_editor .o_table_wrapper.o_table_flexi .table{margin-top:0}.mejs__controls .mejs__sourcechooser-button>button{background:transparent;display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.mejs__controls .mejs__sourcechooser-button>button:before{content:"";color:white;font-size:18px}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector{visibility:visible !important;width:170px;padding-left:10px}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li label{font-weight:normal;font-size:10px;width:140px}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li label:hover{color:#eee}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li label .type{display:none}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li input{visibility:hidden;margin:0;width:0}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li input:checked+label{color:#d9534f}.mejs__controls .mejs__captions-button .mejs__captions-selector{right:-26px}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li label{font-weight:normal;font-size:10px}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li label:hover{color:#eee}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li label .type{display:none}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li input{visibility:hidden;margin:0;width:0}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li input:checked+label{color:#d9534f}.mejs__button.mejs__speed-button{width:36px}.mejs__controls .mejs__speed-button>button{background:transparent;width:36px;margin:11px 0 0 0;font-size:11px;line-height:normal;color:#ffffff}.mejs__controls .mejs__speed-button .mejs__speed-selector{height:150px;top:auto;bottom:40px}.mejs__controls .mejs__speed-button .mejs__speed-selector ul li label{font-weight:normal;font-size:10px}.mejs__chapters .mejs__chapter .mejs__chapter-block .ch-title,.mejs__chapters .mejs__chapter .mejs__chapter-block .ch-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.o_userbulk_changedcell{font-style:italic;font-weight:bold}.o_qpool_source_status{text-align:center}.o_qitem_author{white-space:nowrap}.dropdown-toggle.o_qpool_tools_status>i{margin:0 0 3px 0}.dropdown-menu.o_qpool_tools_status{cursor:pointer}a.o_qpool_status{margin:0 2px 2px 2px;text-align:left}a.o_qpool_status_draft,.dropdown-toggle.o_qpool_status_draft{background-color:#4a6785 !important;border-color:#4a6785;color:#fff !important}a.o_qpool_status_review,.dropdown-toggle.o_qpool_status_review{background-color:#ffd351 !important;border-color:#ffd351;color:#fff !important}a.o_qpool_status_revised,.dropdown-toggle.o_qpool_status_revised{background-color:#933 !important;border-color:#933;color:#fff !important}a.o_qpool_status_finalVersion,.dropdown-toggle.o_qpool_status_finalVersion{background-color:#14892c !important;border-color:#14892c;color:#fff !important}a.o_qpool_status_endOfLife,.dropdown-toggle.o_qpool_status_endOfLife{background-color:#aaa !important;border-color:#aaa;color:#fff !important}.o_qpool_status_draft_light{border-color:#4a6785;color:#4a6785}.o_qpool_status_review_light{border-color:#ffd351;color:#333}.o_qpool_status_revised_light{border-color:#933;color:#933}.o_qpool_status_finalVersion_light{border-color:#14892c;color:#14892c}.o_qpool_status_endOfLife_light{border-color:#aaa;color:#aaa}.btn-arrow-right.o_qpool_qitem_draft{background:#f8f8f8;border-bottom-color:#4a6785;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_review{background:#f8f8f8;border-bottom-color:#ffd351;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_revised{background:#f8f8f8;border-bottom-color:#933;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_final{background:#f8f8f8;border-bottom-color:#14892c;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_end_of_life{background:#f8f8f8;border-bottom-color:#aaa;border-bottom-width:3px}.btn-arrow-right.o_qpool_status_slected{background-color:#e7e7e7;color:#555}.btn-arrow-right,.btn-arrow-left{position:relative;padding-left:18px;padding-right:18px;margin-bottom:5px}.btn-arrow-right{padding-left:36px}.btn-arrow-left{padding-right:36px}.btn-arrow-right:before,.btn-arrow-right:after,.btn-arrow-left:before,.btn-arrow-left:after{content:"";position:absolute;top:5px;width:22.627417px;height:22.627417px;background:inherit;border:inherit;border-left-color:transparent;border-bottom-color:transparent;border-radius:0px 4px 0px 0px;-webkit-border-radius:0px 4px 0px 0px;-moz-border-radius:0px 4px 0px 0px}.btn-arrow-right:before,.btn-arrow-right:after{transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);-ms-transform:rotate(45deg)}.btn-arrow-left:before,.btn-arrow-left:after{transform:rotate(225deg);-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-o-transform:rotate(225deg);-ms-transform:rotate(225deg)}.btn-arrow-right:before,.btn-arrow-left:before{left:-11px}.btn-arrow-right:after,.btn-arrow-left:after{right:-11px}.btn-arrow-right:after,.btn-arrow-left:before{z-index:1}.btn-arrow-right:before,.btn-arrow-left:after{background-color:white}body.o_dmz{background:transparent}body.o_dmz #o_bg{position:absolute;top:0;left:0;width:100%;height:100%;border-top:50px solid transparent;border-bottom:70px solid transparent;background:url("../light/images/learn-bg.jpg");background-size:cover;background-position:center center;background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 )}body.o_dmz #o_bg:after{content:" ";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right, rgba(255,255,255,0.1) 0.2%, rgba(255,255,255,0.6) 60%, rgba(255,255,255,0.8) 100%);background-size:cover;background-position:center center;background-repeat:no-repeat}body.o_dmz #o_toplink{display:none}body.o_dmz #o_main_wrapper,body.o_dmz #o_main_wrapper #o_main_container{background:transparent}.o_login{padding-bottom:20px;padding-left:10%;padding-right:10%;text-align:right}.o_login .o_login_intro{padding-left:10%}.o_login .o_login_intro h1{margin-bottom:40px;color:#337ab7}.o_login .o_login_intro .lead{color:#333}.o_login .o_login_intro .lead h1,.o_login .o_login_intro .lead h2,.o_login .o_login_intro .lead h3,.o_login .o_login_intro .lead h4,.o_login .o_login_intro .lead .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_login .o_login_intro .lead h2,.o_login .o_login_intro .lead h5{margin-bottom:20px;color:#337ab7}.o_login .o_login_messages,.o_login .o_login_box{display:inline-block;width:400px;text-align:left}.o_login .o_login_messages .o_infomessage_wrapper{background:rgba(255,255,255,0.5);border:1px solid transparent;border-radius:4px;padding:6px 12px}.o_login .o_login_messages .o_infomessage_wrapper .o_info,.o_login .o_login_messages .o_infomessage_wrapper .o_warning,.o_login .o_login_messages .o_infomessage_wrapper .o_note{margin:0}.o_login .o_login_box{padding-top:10px}.o_login .o_login_providers{margin-bottom:6px;border-radius:4px;-webkit-box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3);box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3)}.o_login .o_login_providers a span{display:block;font-size:9px;padding-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_login .o_login_providers .o_icon_provider_olat{font-size:1em}.o_login .o_login_provider{background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3);box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3)}.o_login .o_login_form{position:relative;padding:10px 12px}.o_login .o_login_form .o_login_pwd{position:absolute;bottom:2em;right:12px}.o_login .o_login_form .o_form .o_desc{margin:0 0 30px 0;padding:0;border-left:0;background-color:transparent}.o_login .o_login_register{display:block;line-height:2em;font-size:18px;text-align:center;color:#fff;background-color:#5bc0de;border-color:#46b8da;border-radius:4px;margin-top:16px;padding:10px 12px}.o_login .o_login_register:hover,.o_login .o_login_register:focus,.o_login .o_login_register.focus,.o_login .o_login_register:active,.o_login .o_login_register.active,.open>.o_login .o_login_register.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.o_login .o_login_register:active,.o_login .o_login_register.active,.open>.o_login .o_login_register.dropdown-toggle{background-image:none}.o_login .o_login_register.disabled,.o_login .o_login_register.disabled:hover,.o_login .o_login_register.disabled:focus,.o_login .o_login_register.disabled.focus,.o_login .o_login_register.disabled:active,.o_login .o_login_register.disabled.active,.o_login .o_login_register[disabled],.o_login .o_login_register[disabled]:hover,.o_login .o_login_register[disabled]:focus,.o_login .o_login_register[disabled].focus,.o_login .o_login_register[disabled]:active,.o_login .o_login_register[disabled].active,fieldset[disabled] .o_login .o_login_register,fieldset[disabled] .o_login .o_login_register:hover,fieldset[disabled] .o_login .o_login_register:focus,fieldset[disabled] .o_login .o_login_register.focus,fieldset[disabled] .o_login .o_login_register:active,fieldset[disabled] .o_login .o_login_register.active{background-color:#5bc0de;border-color:#46b8da}.o_login .o_login_register .badge{color:#5bc0de;background-color:#fff}.o_login .o_login_register small{font-size:14px}.o_login .o_login_social{position:relative;padding:10px 12px}.o_login .o_login_social li{padding:10px 12px}.o_login .o_login_social li>a{display:block;line-height:2em;text-align:center;font-size:18px;border-radius:4px;padding:10px 12px}.o_login .o_login_social .btn-default.o_sel_auth_facebook{color:#fff;background-color:#4568b2;border-color:#3e5da0}.o_login .o_login_social .btn-default.o_sel_auth_facebook:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook:focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook.focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_facebook.dropdown-toggle{color:#fff;background-color:#37538d;border-color:#2d4374}.o_login .o_login_social .btn-default.o_sel_auth_facebook:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_facebook.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled],.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook.active{background-color:#4568b2;border-color:#3e5da0}.o_login .o_login_social .btn-default.o_sel_auth_facebook .badge{color:#4568b2;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_twitter{color:#fff;background-color:#2cc5ff;border-color:#13beff}.o_login .o_login_social .btn-default.o_sel_auth_twitter:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter:focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter.focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_twitter.dropdown-toggle{color:#fff;background-color:#00b4f8;border-color:#009ad4}.o_login .o_login_social .btn-default.o_sel_auth_twitter:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_twitter.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled],.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter.active{background-color:#2cc5ff;border-color:#13beff}.o_login .o_login_social .btn-default.o_sel_auth_twitter .badge{color:#2cc5ff;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_google{color:#fff;background-color:#e15f4f;border-color:#dd4b39}.o_login .o_login_social .btn-default.o_sel_auth_google:hover,.o_login .o_login_social .btn-default.o_sel_auth_google:focus,.o_login .o_login_social .btn-default.o_sel_auth_google.focus,.o_login .o_login_social .btn-default.o_sel_auth_google:active,.o_login .o_login_social .btn-default.o_sel_auth_google.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_google.dropdown-toggle{color:#fff;background-color:#d83825;border-color:#ba3120}.o_login .o_login_social .btn-default.o_sel_auth_google:active,.o_login .o_login_social .btn-default.o_sel_auth_google.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_google.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_google.disabled,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled],.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google.active{background-color:#e15f4f;border-color:#dd4b39}.o_login .o_login_social .btn-default.o_sel_auth_google .badge{color:#e15f4f;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_linkedin{color:#fff;background-color:#0181bd;border-color:#0170a4}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin:focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_linkedin.dropdown-toggle{color:#fff;background-color:#015e8a;border-color:#014667}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_linkedin.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled],.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin.active{background-color:#0181bd;border-color:#0170a4}.o_login .o_login_social .btn-default.o_sel_auth_linkedin .badge{color:#0181bd;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_adfs{color:#fff;background-color:#337ab7;border-color:#2e6da4}.o_login .o_login_social .btn-default.o_sel_auth_adfs:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs:focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs.focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_adfs.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.o_login .o_login_social .btn-default.o_sel_auth_adfs:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_adfs.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled],.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs.active{background-color:#337ab7;border-color:#2e6da4}.o_login .o_login_social .btn-default.o_sel_auth_adfs .badge{color:#337ab7;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect{color:#fff;background-color:#337ab7;border-color:#2e6da4}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:hover,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled],.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.active{background-color:#337ab7;border-color:#2e6da4}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect .badge{color:#337ab7;background-color:#fff}.o_old_browser{display:none}.o_browser_ie7 .o_old_browser,.o_browser_ie8 .o_old_browser,.o_browser_ie9 .o_old_browser,.o_browser_ie10 .o_old_browser{display:block}@media (max-width: 767px){body.o_dmz #o_bg{background:none;display:none}.o_login{padding:0}.o_login .o_login_intro{padding:0;text-align:left}.o_login .o_login_box_wrapper{text-align:center;padding:0}.o_login .o_login_box{padding-left:0;padding-right:0}.o_login .o_login_box .o_login_providers,.o_login .o_login_box .o_login_provider{-webkit-box-shadow:none;box-shadow:none}.o_login .o_login_messages,.o_login .o_login_box{width:100%;display:block}}.o_home_main h1{text-align:center}.o_home_main .o_icon_rss{line-height:20px;vertical-align:middle}.o_showall{font-size:12px;text-align:right;margin-bottom:5px;margin-top:10px}.o_portlet{position:relative;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1)}.o_portlet .o_header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 12px;border-bottom:1px solid #ddd;background-color:#f5f5f5;border-top-right-radius:4px;border-top-left-radius:4px}.o_portlet .o_content{padding:6px 12px}.o_portlet .o_portlet_table{margin:-12px;margin-bottom:-6px;margin-top:0}.o_portlet .o_table_empty.o_info{padding:6px}.o_portlet .o_toolbox{position:absolute;top:-1px;right:-1px;z-index:2;background-color:#fff;border:1px solid #faebcc;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;padding:6px 12px}.o_portlet .o_toolbox div{display:inline}.o_portlet .o_edit_shim{position:absolute;height:100%;width:100%;z-index:1;background:#fcf8e3;opacity:0.8}.o_inactive .o_header a{float:right;margin-left:12px;margin-top:10px}.o_portlet_dyk_q{margin-top:5px;font-style:italic}.o_portlet_dyk_a{margin:5px 0}.o_portlet_dyk_next{margin:5px 0;text-align:right}.o_library_icon:before{content:""}.o_library ul{list-style:none;margin:0 0 15px 0;padding:0}.o_library ul ul{margin:0}.o_library_overview .o_library_newest_files ul li{float:left;margin-right:15px}.o_library_item{margin-bottom:10px;position:relative}.o_library_item .o_library_visual,.o_library_item .o_library_extra,.o_library_item .o_library_meta{margin-top:15px}.o_library_item .o_library_visual{float:left;background-color:#fff;border-radius:4px;border:1px solid #ddd}.o_library_item .o_library_visual .o_thumbnail_available,.o_library_item .o_library_visual .o_thumbnail_unavailable{background-size:146px auto;width:150px !important;height:150px !important;background-repeat:no-repeat;background-position:50% 50%}.o_library_item .o_library_visual .o_thumbnail_available:before,.o_library_item .o_library_visual .o_thumbnail_unavailable:before{content:none}.o_library_item .o_library_visual .o_thumbnail_available{background-size:146px auto}.o_library_item .o_library_visual .o_thumbnail_unavailable{display:none}.o_library_item .o_library_extra{float:right;width:200px}.o_library_item .o_library_meta{clear:both}.o_library_item .o_library_meta .o_library_desc{padding-bottom:10px}.o_library_item .o_library_meta small{display:block;word-wrap:break-word}.o_library_item h4,.o_library_item .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_library_item h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:normal}.o_library_item .btn{display:block;margin-bottom:0.5em}.o_library_item .o_comments{display:inline-block}.o_library_item .table{table-layout:fixed;word-wrap:break-word;margin-bottom:0}.o_library_item p.o_library_show_more{text-align:right;margin:0;padding-top:20px}.o_library_item .o_library_more{padding-top:20px;display:none}.o_library_folder{margin-top:-20px}.o_library .o_ratings_and_comments .o_rating_title,.o_library .o_ratings_and_comments .o_rating_explanation{display:none}@media (min-width: 768px){.o_library_item .o_library_meta{clear:none;margin-left:150px;margin-right:200px;padding:0 10px}.o_library_item .o_library_more{display:none}.o_library_item .o_library_more table tbody{vertical-align:top}.o_library_item .o_library_more table tr,.o_library_item .o_library_more table th,.o_library_item .o_library_more table td{display:inline-block}.o_library_item .o_library_more table tr{width:49%}.o_library_item .o_library_more table th{width:30%}.o_library_item .o_library_more table td{width:70%}}.o_library_item_compact .o_library_extra{width:auto}.o_library_item_compact .o_library_meta{padding:0 10px 0 0;margin:0;overflow:hidden}.o_library_item_compact .btn{display:inline-block}.o_library_item_compact h4,.o_library_item_compact .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_library_item_compact h2{overflow:hidden;margin-right:70px}.o_library_item_compact h4 a,.o_library_item_compact .o_cal .fc-header-title h2 a,.o_cal .fc-header-title .o_library_item_compact h2 a{text-overflow:ellipsis;white-space:nowrap}.o_library_item_compact p.o_library_show_more{padding:20px;position:absolute;top:0;right:0}span.o_translation_i18nitem{position:relative !important}span.o_translation_i18nitem a.o_translation_i18nitem_launcher{position:absolute !important;z-index:100 !important;width:18px !important;height:20px !important;top:0 !important;left:5px !important;background:#fff;border:1px solid #337ab7 !important;border-radius:3px;text-align:center;padding:0 !important}.o_user_infos{position:relative}.o_user_infos .o_user_portrait{position:absolute;top:0;left:15px;width:100px;height:100px}.o_user_infos .o_user_infos_inner{margin:0 30px 0 100px}.o_user_infos .o_user_infos_inner table{margin:0 30px 15px 30px}.o_useradmin .o_user_infos .o_user_infos_inner{margin-right:45px}div.o_skype_button{display:inline-block}div.o_skype_button p{margin:0 0 0 0}div.o_skype_button p a img{margin:0 !important;vertical-align:middle !important}.o_useradmin div#o_main_toolbar.o_toolbar{margin-top:0px}.o_members_pagination{text-align:center}.o_bcard_logo{margin-left:10px;height:66px}.o_bcard_title_with_logo{clear:both;padding:20px 0 0 0}.o_visitingcard_image,.o_visitingcard_logo{height:66px}.o_visitingcard .o_icon_visitingcard{display:none}.o_visitingcard .o_portrait_avatar,.o_visitingcard .o_portrait_dummy,.o_visitingcard .o_portrait_dummy_female_big,.o_visitingcard .o_portrait_dummy_male_big,.o_visitingcard .o_portrait_anonymous{width:66px;height:66px;margin-right:10px}@media (max-width: 767px){.o_visitingcard .o_portrait_avatar,.o_visitingcard .o_portrait_dummy,.o_visitingcard .o_portrait_dummy_female_big,.o_visitingcard .o_portrait_dummy_male_big,.o_visitingcard .o_portrait_anonymous{width:50px;height:50px;margin:5px 5px 0 0}.o_visitingcard_image,.o_visitingcard_logo{height:50px}.o_visitingcard_logo,.o_bcard_logo{height:50px;margin:5px 0 0 5px}.o_visitingcard_logo img,.o_bcard_logo img{position:relative;transform:scale(.7575757576);top:-8px}}@media (max-width: 414px){.o_visitingcard_logo img{max-width:260px}}@media (max-width: 375px){.o_visitingcard_logo img{max-width:220px}}@media (max-width: 320px){.o_visitingcard_logo img{max-width:180px}.o_bcard_logo img{max-width:150px}}.o_gta_coach_selection .o_noti{display:inline-block;float:none;margin:0}.o_gta_coach_selection .o_gta_coach_selection_bar{position:relative}.o_gta_coach_selection .o_gta_coach_selection_bar .o_noti{position:absolute;top:3px;right:0}p.o_gta_reopen_warning{margin-top:-20px}.o_lecture_authorized_absence div.form-inline,.o_lecture_authorized_absence div.o_navbar-form{display:inline}.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table{margin-top:0}.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_date,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_startTime,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_endTime,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_details,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_tools{width:1%}.o_lectures_teacher_overview .o_lectures_current_wrapper{border:1px solid transparent;background:#f8f8f8;border-radius:4px;margin:10px -10px 20px -10px;padding:10px}.o_lectures_teacher_overview .o_lectures_current_wrapper .o_button_group{margin-bottom:0}.o_lectures_teacher_overview .o_lectures_teacher_search .o_form .o_date{padding-right:10px;position:relative}.o_lectures_teacher_overview .o_lectures_teacher_search span.o_chelp_wrapper{position:absolute;top:0;right:0}.o_lectures_rollcall legend{margin-bottom:10px}.o_lectures_rollcall .o_desc,.o_lectures_rollcall .o_preparation{margin:0}.o_rollcall_next_previous_group{text-align:center}.o_rollcall_next_previous_group a.o_sel_close{float:left}.o_rollcall_next_previous_group a.o_sel_close span{display:none}.o_rollcall_next_previous_group .form-control{display:inline;width:auto}@media (max-width: 767px){.o_rollcall_next_previous_group a span{display:none}}.o_lecture_free{color:#777}.o_rollcall_portrait>div{margin:0 auto 10px auto;width:100px}.o_edubase_pv{overflow:hidden;padding-top:10px}.o_edubase_pv_fig{display:inline-block;vertical-align:top;width:110px;margin-right:3%}.o_edubase_run_enabled .o_edubase_page{font-size:12px;color:#777}.o_edubase_run_disabled .o_edubase_booksection{margin-right:3%;margin-bottom:3%;width:177px;display:inline-table}.o_edubase_run_disabled .o_edubase_page{font-size:12px;color:#777}.o_edubase_bs_buttons{padding-top:10px}.o_edubase_bs_book_id{margin-top:-2px}.o_edubase_bs_details{margin-left:-20px}.o_edubase_bs_details_label{visibility:hidden}.o_edubase_bs_cover object{margin-left:10px;margin-top:10px;height:120px}.o_edubase_bs_cover img{margin-left:10px;margin-top:10px;height:120px}.o_edubase_edit_books .o_icon_error{visibility:hidden}.o_edubase_edit_books .o_icon_help{margin-bottom:0px}.o_edubase_edit_books .row{margin-bottom:5px}.o_taxonomy div#o_main_toolbar.o_toolbar{margin-top:0px}.o_taxonomy_listing.o_rendertype_custom .o_table_body.container-fluid{padding-right:0px;padding-left:0px}.o_taxonomy_listing.o_rendertype_custom .o_taxonomy_row{position:relative;display:inline-block;height:200px;width:450px;vertical-align:top;margin-right:10px}.o_taxonomy_listing.o_rendertype_custom .o_taxonomy_row ul{padding-left:2em}.ui-widget{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:100%}.ui-widget-header{border-top:none;border-left:none;border-right:none;border-bottom:1px solid #eee;background:#fff;font-weight:bold}.ui-icon,.ui-widget-content .ui-icon,.ui-widget-header .ui-icon,.ui-state-default .ui-icon,.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-state-active .ui-icon,.ui-state-highlight .ui-icon,.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background:none;background-image:none}.ui-dialog{-webkit-box-shadow:0px 1px 8px -1px rgba(0,0,0,0.35);box-shadow:0px 1px 8px -1px rgba(0,0,0,0.35);background-color:#fefefe}.ui-dialog .ui-widget-header .ui-dialog-title{color:#337ab7;font-weight:500;font-family:inherit;line-height:1.1}.ui-dialog .ui-widget-header .ui-dialog-titlebar-close:before{content:"ï€" !important}.ui-dialog .ui-widget-header .ui-dialog-titlebar-close{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ui-dialog .ui-widget-header .ui-dialog-titlebar-close span{display:none}.ui-dialog .ui-widget-header .ui-button.ui-corner-all{border:none !important;background:#fff !important;float:right}.ui-dialog .ui-widget-content{border-color:#fff;padding:5px;overflow:auto;background:white !important}.ui-dialog .ui-dialog-titlebar{padding:4px 7px 4px 7px;background-color:#eee !important}.ui-dialog.ui-corner-all{border-radius:4px}.ui-dialog.ui-widget-content{border:1px solid transparent}.ui-dialog.o_modal-ui{max-width:100vw;max-height:100vh}.ui-dialog.o_modal-ui div.ui-dialog-buttonpane{display:none}@media (max-width: 767px){.ui-dialog.o_modal-ui{height:100vh !important;width:100vw !important}.ui-dialog.o_modal-ui div.ui-dialog-content{height:90vh !important}}.ui-slider.ui-slider-horizontal.ui-widget-content{border-color:#aaa;background:#f9f9f9}.ui-slider.ui-slider-horizontal.ui-widget-content.ui-state-disabled{opacity:0.65}.ui-slider.ui-slider-horizontal.ui-widget-content .ui-slider-handle{border:1px solid #337ab7;background-image:none;background-color:#337ab7}.ui-datepicker{z-index:2000 !important;-webkit-box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15);box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15)}.ui-datepicker .ui-widget-header .ui-corner-all,.ui-datepicker .ui-widget-header .ui-datepicker-next.ui-corner-all{border:none !important;background:#fff !important}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e:before{content:"ï¡";font-weight:normal;color:black}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w:before{content:"ï ";font-weight:normal;color:black}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e,.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{font-family:'FontAwesome';display:inline-block;background-image:none;background-position:0 0;font-weight:normal;text-indent:0;color:white}.ui-datepicker .ui-widget-header .ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-widget-header .ui-datepicker .ui-datepicker-next-hover{top:2px}.ui-datepicker .ui-state-default{background:#eee}.ui-datepicker .ui-state-highlight,.ui-datepicker .ui-widget-content .ui-state-highlight{border:1px solid #2e6da4;background:#337ab7;color:#fff}.ui-datepicker.ui-corner-all{border-radius:4px}.ui-datepicker.ui-widget-content{border:1px solid transparent}label.mce-label{display:inline;max-width:150px;margin-bottom:0;font-weight:normal}.o_richtext_mce_without_path .mce-statusbar{border:none}.o_richtext_mce_without_path .mce-path{display:none !important}.o_richtext_mce_without_path .mce-menubtn.mce-fixed-width span{width:auto}.o_richtext_mce>.o_richtext_mce_modes{text-align:right;padding-right:4px}.o_richtext_mce>.o_richtext_mce_modes a{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}i.mce-ico.mce-i-media,i.mce-ico.mce-i-movie,i.mce-ico.mce-i-help,i.mce-ico.mce-i-gaptext,i.mce-ico.mce-i-gapnumerical,i.mce-ico.mce-i-hottext,i.mce-ico.mce-i-edit{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}i.mce-ico.mce-i-media:before{content:""}i.mce-ico.mce-i-movie:before{content:""}i.mce-ico.mce-i-gaptext:before{content:"ï…"}i.mce-ico.mce-i-gapnumerical:before{content:""}i.mce-ico.mce-i-hottext:before{content:"ï"}i.mce-ico.mce-i-math:before{content:'\03A3'}i.mce-ico.mce-i-edit:before{content:"ï„"}i.mce-ico.mce-i-help{width:9px;height:9px;padding-top:1px}i.mce-ico.mce-i-help:before{content:"ï™";color:white}.mce-tabs span.o_chelp_wrapper{float:right;margin:5px}.mce-wordcount:after{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"ï™"}.mce-danger .mce-wordcount:after{color:#d9534f;content:"ïª"}.mce-statusbar.mce-danger{background-color:#f2dede}div.o_table_search span.twitter-typeahead{display:table-cell;padding-top:3px}.tag.label.label-info{margin-right:3px}@media print{a[href]:after{content:""}#o_header_wrapper,#o_offcanvas_right,#o_navbar_wrapper,#o_footer_wrapper,#o_toplink,#o_main_left,#o_main_right,#o_main_toolbar,#jsMath_PrintWarning,.o_noti,.o_opener,.o_hide,.o_noprint{display:none !important}.o_print_break_avoid{page-break-inside:avoid}.o_print_break_before{page-break-before:always}.o_print_break_after{clear:both;page-break-after:always}.btn{display:none}.o_form textarea,.o_form .form-control.textarea_disabled{-webkit-print-color-adjust:exact;color-adjust:exact;background:#fff !important;height:auto !important;color:#000 !important;resize:none}#o_comment_form_link,.o_comments form{display:none !important}.o_avatar{display:none}body.o_dmz{background:white !important;-webkit-print-color-adjust:exact;color-adjust:exact}.modal-dialog{margin:0 !important;width:100% !important;height:100% !important;background:#fff !important;-webkit-print-color-adjust:exact;color-adjust:exact}.progress{page-break-inside:avoid;-webkit-print-color-adjust:exact;color-adjust:exact;background-color:rgba(0,0,0,0.1) !important;border:1px solid rgba(0,0,0,0.5)}.progress-bar{-webkit-print-color-adjust:exact;background-color:#000 !important;border:10px solid #000}.ui-slider.ui-slider-horizontal.ui-widget-content{-webkit-print-color-adjust:exact;color-adjust:exact;background:#f9f9f9 !important}.ui-slider.ui-slider-horizontal.ui-widget-content .ui-slider-handle{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#337ab7 !important}.radial-progress{page-break-inside:avoid;-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#eee !important}.radial-progress .circle .mask .fill{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#000 !important}.radial-progress .inset{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#fff !important}body{margin:0}table,figure,figure{page-break-inside:avoid}h1,h2,h3,h4,.o_cal .fc-header-title h2,h5,h6{page-break-after:avoid}}.o_highscore .o_position{text-align:center;font-size:1.2em;font-weight:bold}.o_highscore .o_position h2{font-size:3em;font-weight:700;line-height:1.2em}@media screen and (-webkit-min-device-pixel-ratio: 0){.o_highscore .o_position h2{background:linear-gradient(330deg, #e05252 0%, #99e052 25%, #52e0e0 50%, #9952e0 75%, #e05252 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline}.o_highscore .o_position h2:after{content:"\A";white-space:pre}}.o_highscore .o_position_relative{font-size:1em;font-weight:normal}.o_highscore .o_podium{position:relative;vertical-align:bottom;height:300px;margin-bottom:50px}.o_highscore .o_rank{width:30%;position:absolute;bottom:0;text-shadow:rgba(102,102,102,0.5) 0 -1px 0,rgba(255,255,255,0.6) 0 2px 1px}.o_highscore .o_rank:before{position:absolute;bottom:0;left:0;width:100%;text-align:center}.o_highscore .o_rank .o_name{position:absolute;top:100%;width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:1em;text-shadow:none}.o_highscore .o_rank .o_score{color:#777;font-size:90%;width:100%;text-align:center;position:absolute;top:-20px;text-shadow:none}.o_highscore .o_rank .o_singleportrait{position:absolute;width:100%;text-align:center;top:-125px}.o_highscore .o_rank .o_rank_portraits{position:relative;left:0;top:-210px;height:180px;width:200px;text-align:center;vertical-align:bottom;display:table-cell}.o_highscore .o_rank .o_rank_portraits ul{display:inline-block}.o_highscore .o_rank .o_rank_portraits .o_portrait{margin:5px}.o_highscore .o_first{height:150px;left:30%;border:1px solid #d9d9d9;border-top-left-radius:4px;border-top-right-radius:4px;background:gold;background:-moz-linear-gradient(top, #fff7cc 0%, #ffdf33 50%, gold 51%, #ffe766 100%);background:-webkit-linear-gradient(top, #fff7cc 0%, #ffdf33 50%, gold 51%, #ffe766 100%);background:linear-gradient(top, #fff7cc 0%, #ffdf33 50%, gold 51%, #ffe766 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='$basecolor', endColorstr='lighten($basecolor,20%)',GradientType=0 )}.o_highscore .o_first:before{content:"1";font-size:700%;line-height:150px;color:#666}.o_highscore .o_second{height:100px;left:0;background:silver;background:-moz-linear-gradient(top, #fff 0%, #dadada 50%, silver 51%, #f3f3f3 100%);background:-webkit-linear-gradient(top, #fff 0%, #dadada 50%, silver 51%, #f3f3f3 100%);background:linear-gradient(top, #fff 0%, #dadada 50%, silver 51%, #f3f3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='$basecolor', endColorstr='lighten($basecolor,20%)',GradientType=0 );border-left:1px solid #d9d9d9;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;border-top-left-radius:4px}.o_highscore .o_second:before{content:"2";font-size:500%;line-height:100px;color:#666}.o_highscore .o_third{height:80px;left:60%;background:#cd7f32;background:-moz-linear-gradient(top, #f5e5d6 0%, #d7995b 50%, #cd7f32 51%, #e1b284 100%);background:-webkit-linear-gradient(top, #f5e5d6 0%, #d7995b 50%, #cd7f32 51%, #e1b284 100%);background:linear-gradient(top, #f5e5d6 0%, #d7995b 50%, #cd7f32 51%, #e1b284 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='$basecolor', endColorstr='lighten($basecolor,20%)',GradientType=0 );border-right:1px solid #d9d9d9;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;border-top-right-radius:4px}.o_highscore .o_third:before{content:"3";font-size:300%;line-height:80px;color:#666}.o_highscore .o_histogram{position:relative;bottom:-40px;margin-bottom:40px}.o_highscore .o_histogram .d3chart{width:100%;padding-top:50px;height:300px}.o_highscore .o_histogram .d3chart text{fill:#888}.o_highscore .o_histogram .d3chart .axis path,.o_highscore .o_histogram .d3chart .axis line{stroke:#888}.o_highscore .o_histogram .d3chart .o_myself{fill:#337ab7}.o_highscore .o_histogram .d3chart .o_myself:hover{fill:#5094ce}.o_highscore .o_histogram .d3chart .o_other{fill:#777}.o_highscore .o_histogram .d3chart .o_other:hover{fill:#919191}.o_highscore .o_histogram .d3chart .o_empty{fill:#000}.o_listing .o_table_wrapper.o_table_flexi .table{margin-top:0}.o_listing table th:nth-of-type(1),.o_listing table th :nth-of-type(2){width:5em}body.o_browser_ie7 #o_offcanvas_right,body.o_browser_ie8 #o_offcanvas_right{right:0px} /*# sourceMappingURL=theme.css.map */ diff --git a/src/main/webapp/static/themes/light/theme.css.map b/src/main/webapp/static/themes/light/theme.css.map index 018664969d54b167358a601a0416465a63c7112a..b398b854892bb4ec3df046647278bdf8ec4847f4 100644 --- a/src/main/webapp/static/themes/light/theme.css.map +++ b/src/main/webapp/static/themes/light/theme.css.map @@ -1,6 +1,6 @@ { "version": 3, -"mappings": "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", +"mappings": "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", "sources": ["_license.scss","../../bootstrap/stylesheets/bootstrap/_normalize.scss","../../bootstrap/stylesheets/bootstrap/_print.scss","../../bootstrap/stylesheets/bootstrap/_scaffolding.scss","../../bootstrap/stylesheets/bootstrap/mixins/_vendor-prefixes.scss","_config.scss","../../bootstrap/stylesheets/bootstrap/_variables.scss","../../bootstrap/stylesheets/bootstrap/mixins/_tab-focus.scss","../../bootstrap/stylesheets/bootstrap/mixins/_image.scss","../../bootstrap/stylesheets/bootstrap/_type.scss","../../bootstrap/stylesheets/bootstrap/mixins/_text-emphasis.scss","../../bootstrap/stylesheets/bootstrap/mixins/_background-variant.scss","../../bootstrap/stylesheets/bootstrap/mixins/_clearfix.scss","../../bootstrap/stylesheets/bootstrap/mixins/_text-overflow.scss","../../bootstrap/stylesheets/bootstrap/_code.scss","../../bootstrap/stylesheets/bootstrap/_grid.scss","../../bootstrap/stylesheets/bootstrap/mixins/_grid.scss","../../bootstrap/stylesheets/bootstrap/mixins/_grid-framework.scss","../../bootstrap/stylesheets/bootstrap/_tables.scss","../../bootstrap/stylesheets/bootstrap/mixins/_table-row.scss","../../bootstrap/stylesheets/bootstrap/_forms.scss","../../bootstrap/stylesheets/bootstrap/mixins/_forms.scss","../../bootstrap/stylesheets/bootstrap/_buttons.scss","../../bootstrap/stylesheets/bootstrap/mixins/_buttons.scss","../../bootstrap/stylesheets/bootstrap/mixins/_opacity.scss","../../bootstrap/stylesheets/bootstrap/_component-animations.scss","../../bootstrap/stylesheets/bootstrap/_dropdowns.scss","../../bootstrap/stylesheets/bootstrap/mixins/_nav-divider.scss","../../bootstrap/stylesheets/bootstrap/mixins/_reset-filter.scss","../../bootstrap/stylesheets/bootstrap/_button-groups.scss","../../bootstrap/stylesheets/bootstrap/mixins/_border-radius.scss","../../bootstrap/stylesheets/bootstrap/_input-groups.scss","../../bootstrap/stylesheets/bootstrap/_navs.scss","../../bootstrap/stylesheets/bootstrap/_navbar.scss","../../bootstrap/stylesheets/bootstrap/mixins/_nav-vertical-align.scss","../../bootstrap/stylesheets/bootstrap/_breadcrumbs.scss","../../bootstrap/stylesheets/bootstrap/_pagination.scss","../../bootstrap/stylesheets/bootstrap/mixins/_pagination.scss","../../bootstrap/stylesheets/bootstrap/_pager.scss","../../bootstrap/stylesheets/bootstrap/_labels.scss","../../bootstrap/stylesheets/bootstrap/mixins/_labels.scss","../../bootstrap/stylesheets/bootstrap/_badges.scss","../../bootstrap/stylesheets/bootstrap/_jumbotron.scss","../../bootstrap/stylesheets/bootstrap/_thumbnails.scss","../../bootstrap/stylesheets/bootstrap/_alerts.scss","../../bootstrap/stylesheets/bootstrap/mixins/_alerts.scss","../../bootstrap/stylesheets/bootstrap/_progress-bars.scss","../../bootstrap/stylesheets/bootstrap/mixins/_gradients.scss","../../bootstrap/stylesheets/bootstrap/mixins/_progress-bar.scss","../../bootstrap/stylesheets/bootstrap/_media.scss","../../bootstrap/stylesheets/bootstrap/_list-group.scss","../../bootstrap/stylesheets/bootstrap/mixins/_list-group.scss","../../bootstrap/stylesheets/bootstrap/_panels.scss","../../bootstrap/stylesheets/bootstrap/mixins/_panels.scss","../../bootstrap/stylesheets/bootstrap/_responsive-embed.scss","../../bootstrap/stylesheets/bootstrap/_wells.scss","../../bootstrap/stylesheets/bootstrap/_close.scss","../../bootstrap/stylesheets/bootstrap/_modals.scss","../../bootstrap/stylesheets/bootstrap/_tooltip.scss","../../bootstrap/stylesheets/bootstrap/_popovers.scss","../../bootstrap/stylesheets/bootstrap/_utilities.scss","../../bootstrap/stylesheets/bootstrap/mixins/_center-block.scss","../../bootstrap/stylesheets/bootstrap/mixins/_hide-text.scss","../../bootstrap/stylesheets/bootstrap/_responsive-utilities.scss","../../bootstrap/stylesheets/bootstrap/mixins/_responsive-visibility.scss","modules/_bootstrap.scss","modules/_fonts.scss","../../font-awesome/scss/_path.scss","../../font-awesome/scss/_core.scss","../../font-awesome/scss/_larger.scss","../../font-awesome/scss/_fixed-width.scss","../../font-awesome/scss/_list.scss","../../font-awesome/scss/_variables.scss","../../font-awesome/scss/_bordered-pulled.scss","../../font-awesome/scss/_animated.scss","../../font-awesome/scss/_rotated-flipped.scss","../../font-awesome/scss/_mixins.scss","../../font-awesome/scss/_stacked.scss","modules/_icons.scss","modules/_emoticons.scss","modules/_helpers.scss","modules/_type.scss","modules/_content_embedded.scss","modules/_mixins.scss","modules/_tinymce.scss","modules/_radial-progress.scss","modules/_layout.scss","modules/_main.scss","modules/_footer.scss","modules/_navbar.scss","modules/_toolbar.scss","modules/_offcanvas.scss","modules/_dialog.scss","modules/_tree.scss","modules/_breadcrumb.scss","modules/_form.scss","modules/_table.scss","modules/_im.scss","modules/_flags.scss","modules/_rating_and_comments.scss","modules/_chart.scss","modules/_forum.scss","modules/_various_modules.scss","modules/_autocomplete.scss","modules/_search.scss","modules/_wizard.scss","modules/_process.scss","modules/_cal.scss","modules/_coursesite.scss","modules/_repository.scss","modules/_course.scss","modules/_qti.scss","modules/_qti21.scss","modules/_devel.scss","modules/_wiki.scss","modules/_portfolio.scss","modules/_portfoliomaps/_epmst_default.scss","modules/_portfoliomaps/_mixins.scss","modules/_portfoliomaps/_epmst_comic.scss","modules/_portfoliomaps/_epmst_leather.scss","modules/_portfoliomaps/_epmst_green.scss","modules/_portfoliomaps/_epmst_green2.scss","modules/_portfoliomaps/_epmst_green3.scss","modules/_portfoliomaps/_epmst_green4.scss","modules/_portfoliomaps/_epmst_red.scss","modules/_portfoliomaps/_epmst_red2.scss","modules/_portfoliomaps/_epmst_red3.scss","modules/_portfoliomaps/_epmst_red4.scss","modules/_portfoliomaps/_epmst_blue.scss","modules/_portfoliomaps/_epmst_blue2.scss","modules/_portfoliomaps/_epmst_blue3.scss","modules/_portfoliomaps/_epmst_blue4.scss","modules/_portfolio_v2.scss","modules/_evaluation_form.scss","modules/_citation.scss","modules/_video.scss","modules/_admin.scss","modules/_qpool.scss","modules/_dmz.scss","modules/_portal.scss","modules/_library.scss","modules/_translationtool.scss","modules/_user.scss","modules/_members.scss","modules/_grouptask.scss","modules/_lecture.scss","modules/_edubase.scss","modules/_taxonomy.scss","modules/_thirdparty.scss","modules/_print.scss","modules/_highscore.scss","_patches.scss"], "names": [], "file": "theme.css" diff --git a/src/main/webapp/static/themes/openolat/theme.css b/src/main/webapp/static/themes/openolat/theme.css index 12daaefae473f73328bbb22034e2edf1400f60ce..f4b7f971f957622a301827f7cb04abb884607d2b 100644 --- a/src/main/webapp/static/themes/openolat/theme.css +++ b/src/main/webapp/static/themes/openolat/theme.css @@ -22,5 +22,5 @@ * @author gnaegi, www.frentix.com * @date April. 2014 * ======================================================== -**//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#3b678a;text-decoration:none}a:hover,a:focus{color:#243f54;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail,.o_form .o_filepreview img,.o_feed .o_media{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,.o_cal .fc-header-title h2,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h1 .small,h2 small,h2 .small,h3 small,h3 .small,h4 small,.o_cal .fc-header-title h2 small,h4 .small,.o_cal .fc-header-title h2 .small,h5 small,h5 .small,h6 small,h6 .small,.h1 small,.h1 .small,.h2 small,.h2 .small,.h3 small,.h3 .small,.h4 small,.h4 .small,.h5 small,.h5 .small,.h6 small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,h1 .small,.h1 small,.h1 .small,h2 small,h2 .small,.h2 small,.h2 .small,h3 small,h3 .small,.h3 small,.h3 .small{font-size:65%}h4,.o_cal .fc-header-title h2,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.o_cal .fc-header-title h2 small,h4 .small,.o_cal .fc-header-title h2 .small,.h4 small,.h4 .small,h5 small,h5 .small,.h5 small,.h5 .small,h6 small,h6 .small,.h6 small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.o_cal .fc-header-title h2,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width: 768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#3b678a}a.text-primary:hover{color:#2c4c66}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff}.bg-primary{background-color:#3b678a}a.bg-primary:hover{background-color:#2c4c66}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ul ol,ol ul,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width: 768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.428571429;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container:before,.container:after{content:" ";display:table}.container:after{clear:both}@media (min-width: 768px){.container{width:750px}}@media (min-width: 992px){.container{width:970px}}@media (min-width: 1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container-fluid:before,.container-fluid:after{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}@media (min-width: 768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}}@media (min-width: 992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}}@media (min-width: 1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width: 767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;-o-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#fafafa;opacity:1}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio: 0){input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:34px}input[type="date"].input-sm,.input-group-sm>input[type="date"].form-control,.input-group-sm>input[type="date"].input-group-addon,.input-group-sm>.input-group-btn>input[type="date"].btn,input[type="time"].input-sm,.input-group-sm>input[type="time"].form-control,.input-group-sm>input[type="time"].input-group-addon,.input-group-sm>.input-group-btn>input[type="time"].btn,input[type="datetime-local"].input-sm,.input-group-sm>input[type="datetime-local"].form-control,.input-group-sm>input[type="datetime-local"].input-group-addon,.input-group-sm>.input-group-btn>input[type="datetime-local"].btn,input[type="month"].input-sm,.input-group-sm>input[type="month"].form-control,.input-group-sm>input[type="month"].input-group-addon,.input-group-sm>.input-group-btn>input[type="month"].btn{line-height:30px}input[type="date"].input-lg,.input-group-lg>input[type="date"].form-control,.input-group-lg>input[type="date"].input-group-addon,.input-group-lg>.input-group-btn>input[type="date"].btn,input[type="time"].input-lg,.input-group-lg>input[type="time"].form-control,.input-group-lg>input[type="time"].input-group-addon,.input-group-lg>.input-group-btn>input[type="time"].btn,input[type="datetime-local"].input-lg,.input-group-lg>input[type="datetime-local"].form-control,.input-group-lg>input[type="datetime-local"].input-group-addon,.input-group-lg>.input-group-btn>input[type="datetime-local"].btn,input[type="month"].input-lg,.input-group-lg>input[type="month"].form-control,.input-group-lg>input[type="month"].input-group-addon,.input-group-lg>.input-group-btn>input[type="month"].btn{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="radio"].disabled,fieldset[disabled] input[type="radio"],input[type="checkbox"][disabled],input[type="checkbox"].disabled,fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,fieldset[disabled] .radio-inline,.checkbox-inline.disabled,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,fieldset[disabled] .radio label,.checkbox.disabled label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn,.form-group-sm .form-control{height:30px;line-height:30px}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,.form-group-sm .form-control,select[multiple].input-sm,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>.input-group-btn>select[multiple].btn,.form-group-sm .form-control{height:auto}.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn,.form-group-lg .form-control{height:46px;line-height:46px}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,.form-group-lg .form-control,select[multiple].input-lg,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>.input-group-btn>select[multiple].btn,.form-group-lg .form-control{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label ~ .form-control-feedback{top:25px}.has-feedback label.sr-only ~ .form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width: 768px){.form-inline .form-group,.o_navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control,.o_navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static,.o_navbar-form .form-control-static{display:inline-block}.form-inline .input-group,.o_navbar-form .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.o_navbar-form .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.o_navbar-form .input-group .input-group-btn,.form-inline .input-group .form-control,.o_navbar-form .input-group .form-control{width:auto}.form-inline .input-group>.form-control,.o_navbar-form .input-group>.form-control{width:100%}.form-inline .control-label,.o_navbar-form .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.o_navbar-form .radio,.form-inline .checkbox,.o_navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.o_navbar-form .radio label,.form-inline .checkbox label,.o_navbar-form .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.o_navbar-form .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"],.o_navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback,.o_navbar-form .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}@media (min-width: 768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width: 768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width: 768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn.focus,.btn:active:focus,.btn:active.focus,.btn.active:focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled,.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled.active,.btn-default[disabled],.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled].active,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#3b678a;border-color:#335a78}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#2c4c66;border-color:#213a4d}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled,.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled.active,.btn-primary[disabled],.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary.active{background-color:#3b678a;border-color:#335a78}.btn-primary .badge{color:#3b678a;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled,.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled.active,.btn-success[disabled],.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled].active,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled,.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled.active,.btn-info[disabled],.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled].active,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled,.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled.active,.btn-warning[disabled],.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled,.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled.active,.btn-danger[disabled],.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#3b678a;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#243f54;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#3b678a}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width: 768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#3b678a}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#3b678a}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 768px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{content:" ";display:table}.navbar:after{clear:both}@media (min-width: 768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{content:" ";display:table}.navbar-header:after{clear:both}@media (min-width: 768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width: 768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;visibility:visible !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width: 480px) and (orientation: landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width: 768px){.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width: 768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width: 768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width: 768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width: 768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width: 767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width: 768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width: 768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width: 767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width: 768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm,.btn-group-sm>.navbar-btn.btn{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs,.btn-group-xs>.navbar-btn.btn{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width: 768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width: 768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right ~ .navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width: 767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:hover,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#090909;color:#fff}@media (max-width: 767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:hover,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.428571429;text-decoration:none;color:#3b678a;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{color:#243f54;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#3b678a;border-color:#3b678a;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#3b678a}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#2c4c66}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#3b678a;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.jumbotron,.o_repo_details .o_lead{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.o_repo_details .o_lead h1,.jumbotron .h1,.o_repo_details .o_lead .h1{color:inherit}.jumbotron p,.o_repo_details .o_lead p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr,.o_repo_details .o_lead>hr{border-top-color:#d5d5d5}.container .jumbotron,.container .o_repo_details .o_lead,.o_repo_details .container .o_lead,.container-fluid .jumbotron,.container-fluid .o_repo_details .o_lead,.o_repo_details .container-fluid .o_lead{border-radius:6px}.jumbotron .container,.o_repo_details .o_lead .container{max-width:100%}@media screen and (min-width: 768px){.jumbotron,.o_repo_details .o_lead{padding:48px 0}.container .jumbotron,.container .o_repo_details .o_lead,.o_repo_details .container .o_lead,.container-fluid .jumbotron,.container-fluid .o_repo_details .o_lead,.o_repo_details .container-fluid .o_lead{padding-left:60px;padding-right:60px}.jumbotron h1,.o_repo_details .o_lead h1,.jumbotron .h1,.o_repo_details .o_lead .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;-o-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#3b678a}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4,.alert .o_cal .fc-header-title h2,.o_cal .fc-header-title .alert h2{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#3b678a;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#3b678a;border-color:#3b678a}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#b3cbde}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table,.panel-collapse>.table,.panel-collapse>.table-responsive>.table,.panel-collapse>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption,.panel-collapse>.table caption,.panel-collapse>.table-responsive>.table caption,.panel-collapse>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child,.panel-collapse>.table:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child,.panel-collapse>.table:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body,.panel-collapse>.panel-body+.table,.panel-collapse>.panel-body+.table-responsive,.panel-collapse>.table+.panel-body,.panel-collapse>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td,.panel-collapse>.table>tbody:first-child>tr:first-child th,.panel-collapse>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered,.panel-collapse>.table-bordered,.panel-collapse>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel-collapse>.table-bordered>thead>tr>th:first-child,.panel-collapse>.table-bordered>thead>tr>td:first-child,.panel-collapse>.table-bordered>tbody>tr>th:first-child,.panel-collapse>.table-bordered>tbody>tr>td:first-child,.panel-collapse>.table-bordered>tfoot>tr>th:first-child,.panel-collapse>.table-bordered>tfoot>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel-collapse>.table-bordered>thead>tr>th:last-child,.panel-collapse>.table-bordered>thead>tr>td:last-child,.panel-collapse>.table-bordered>tbody>tr>th:last-child,.panel-collapse>.table-bordered>tbody>tr>td:last-child,.panel-collapse>.table-bordered>tfoot>tr>th:last-child,.panel-collapse>.table-bordered>tfoot>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel-collapse>.table-bordered>thead>tr:first-child>td,.panel-collapse>.table-bordered>thead>tr:first-child>th,.panel-collapse>.table-bordered>tbody>tr:first-child>td,.panel-collapse>.table-bordered>tbody>tr:first-child>th,.panel-collapse>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel-collapse>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel-collapse>.table-bordered>tbody>tr:last-child>td,.panel-collapse>.table-bordered>tbody>tr:last-child>th,.panel-collapse>.table-bordered>tfoot>tr:last-child>td,.panel-collapse>.table-bordered>tfoot>tr:last-child>th,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive,.panel-collapse>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#3b678a}.panel-primary>.panel-heading{color:#fff;background-color:#3b678a;border-color:#3b678a}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3b678a}.panel-primary>.panel-heading .badge{color:#3b678a;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3b678a}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.428571429px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width: 992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;visibility:visible;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:normal;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width: 767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width: 767px){.visible-xs-block{display:block !important}}@media (max-width: 767px){.visible-xs-inline{display:inline !important}}@media (max-width: 767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-block{display:block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline{display:inline !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-block{display:block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline{display:inline !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width: 1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width: 1200px){.visible-lg-block{display:block !important}}@media (min-width: 1200px){.visible-lg-inline{display:inline !important}}@media (min-width: 1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width: 767px){.hidden-xs{display:none !important}}@media (min-width: 768px) and (max-width: 991px){.hidden-sm{display:none !important}}@media (min-width: 992px) and (max-width: 1199px){.hidden-md{display:none !important}}@media (min-width: 1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}body .modal{position:absolute;overflow:visible}body div.tooltip-inner{max-width:400px}body div.popover{max-width:450px}body .modal-body.alert{border-radius:0}body .progress{margin-bottom:0}.panel-body:nth-child(n+2){border-top:1px solid #ddd}.panel .panel-heading[data-toggle="collapse"]{cursor:pointer}#o_ajax_busy_backdrop{bottom:0;z-index:1020}.form-control-feedback{top:10px}.form-horizontal .has-feedback .form-control-feedback{top:10px}.btn.btn-primary.o_disabled{color:#fff !important}body .progress-bar[aria-valuenow="1"],body .progress-bar[aria-valuenow="2"]{min-width:1px}td.text-left>div.form-inline>label.checkbox-inline>input[type='checkbox'],td.text-left>div.o_navbar-form>label.checkbox-inline>input[type='checkbox']{position:relative}@-moz-document url-prefix(){fieldset{display:table-cell}}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.form-control,.ui-widget input,.ui-widget select,.ui-widget textarea{font-size:16px}}}@font-face{font-family:'openolat';src:url("../light/fonts/openolat/openolat.eot?4yacgg");src:url("../light/fonts/openolat/openolat.eot?#iefix4yacgg") format("embedded-opentype"),url("../light/fonts/openolat/openolat.woff?4yacgg") format("woff"),url("../light/fonts/openolat/openolat.ttf?4yacgg") format("truetype"),url("../light/fonts/openolat/openolat.svg?4yacgg#openolat") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:'FontAwesome';src:url("../../font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0");src:url("../../font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"),url("../../font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),url("../../font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),url("../../font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"),url("../../font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.o_icon{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.o_icon-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.o_icon-2x{font-size:2em}.o_icon-3x{font-size:3em}.o_icon-4x{font-size:4em}.o_icon-5x{font-size:5em}.o_icon-fw{width:1.2857142857em;text-align:center}.o_icon-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.o_icon-ul>li{position:relative}.o_icon-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.o_icon-li.o_icon-lg{left:-1.8571428571em}.o_icon-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.o_icon-pull-left{float:left}.o_icon-pull-right{float:right}.o_icon.o_icon-pull-left{margin-right:.3em}.o_icon.o_icon-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.o_icon.pull-left{margin-right:.3em}.o_icon.pull-right{margin-left:.3em}.o_icon-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.o_icon-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.o_icon-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.o_icon-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.o_icon-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.o_icon-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.o_icon-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .o_icon-rotate-90,:root .o_icon-rotate-180,:root .o_icon-rotate-270,:root .o_icon-flip-horizontal,:root .o_icon-flip-vertical{filter:none}.o_icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.o_icon-stack-1x,.o_icon-stack-2x{position:absolute;left:0;width:100%;text-align:center}.o_icon-stack-1x{line-height:inherit}.o_icon-stack-2x{font-size:2em}.o_icon-inverse{color:#fff}.o_icon_accepted:before{content:"ï…¤"}.o_icon_accessibility:before{content:""}.o_icon_actions:before{content:"ï‚…"}.o_icon_add_html:before{content:"ï„¡"}.o_icon_archive_tool:before{content:""}.o_icon_assessment_mode:before{content:"ï„"}.o_icon_assessment_tool:before{content:"ï‚‘"}.o_icon_assignment:before{content:"";color:#d9534f}.o_icon_attempt_limit:before{content:""}.o_icon_accept:before{content:"";color:#5cb85c}.o_icon_add:before{content:"ï•"}.o_icon_add_member:before{content:""}.o_icon_add_search:before{content:""}.o_icon_audio:before{content:""}.o_icon_back:before{content:"ï“"}.o_icon_back_history:before{content:""}.o_icon_banned:before{content:"";color:#d9534f}.o_icon_bold:before{content:""}.o_icon_booking:before{content:"ïº"}.o_icon_bookmark:before{content:"";color:#bc2d0c}.o_icon_bookmark_add:before{content:"ï‚—"}.o_icon_bookmark_header:before{content:""}.o_icon_browse:before{content:""}.o_icon_brush:before{content:""}.o_icon_browsercheck:before{content:"ï…¤"}.o_icon_busy:before{content:"ï„"}.o_icon_calendar:before{content:"ï³"}.o_icon_calendar_enabled:before{content:"ï†"}.o_icon_calendar_disabled:before{content:"ï‚–"}.o_icon_calendar:before{content:"ï³"}.o_icon_calendar_sync:before{content:""}.o_icon_cancelled:before{content:"ïž"}.o_icon_caret:before{content:""}.o_icon_caret_right:before{content:""}.o_icon_catalog:before{content:""}.o_icon_catalog_sub:before{content:"ï»"}.o_icon_certificate:before{content:"ï‚£"}.o_icon_chat:before{content:""}.o_icon_check:before{content:""}.o_icon_check_off:before{content:"ï‚–"}.o_icon_check_on:before{content:"ï†"}.o_icon_checkbox:before{content:"ï‚–"}.o_icon_checkbox_checked:before{content:"ï…Š"}.o_icon_circle:before{content:""}.o_icon_circle_color:before{content:"ï„‘"}.o_icon_citation:before{content:"ï„"}.o_icon_cleanup:before{content:""}.o_icon_clear_all:before{content:""}.o_icon_close:before{content:"ï€"}.o_icon_close_resource:before{content:""}.o_icon_close_tab:before{content:"ï€"}.o_icon_close_tool:before{content:"ï€"}.o_icon_close_tree:before{content:""}.o_icon_close_togglebox:before,.o_togglebox_wrapper .o_opener.o_in i:before,.o_search_result .o_opener.o_in i:before{content:""}.o_icon_code:before{content:"ï„¡"}.o_icon_color_picker:before{content:"ïƒ"}.o_icon_copy:before{content:""}.o_icon_courseareas:before{content:""}.o_icon_coursedb:before{content:""}.o_icon_courseeditor:before{content:"ï„"}.o_icon_coursefolder:before{content:"ï„”"}.o_icon_courserun:before{content:""}.o_icon_comments:before{content:""}.o_icon_comments_none:before{content:""}.o_icon_compress:before{content:"ï¦"}.o_icon_compulsory:before{content:"ï©"}.o_icon_content_popup:before{content:"ï‚Ž"}.o_icon_correct_answer:before{content:"";color:#5cb85c}.o_icon_correction:before{content:"ï€"}.o_icon_customize:before{content:""}.o_icon_delete_item:before{content:""}.o_icon_delete:before{content:"ï–";color:#A87E7E}.o_icon_deleted:before{content:""}.o_icon_details:before{content:""}.o_icon_description:before{content:"ïš"}.o_icon_dev:before{content:""}.o_icon_disabled:before{content:"ï„Œ"}.o_icon_download:before{content:""}.o_icon_edit:before{content:"ï„"}.o_icon_edit_file:before{content:"ï„"}.o_icon_edit_metadata:before{content:""}.o_icon_element_after:before{content:"ï£"}.o_icon_element_before:before{content:"ï¢"}.o_icon_enabled:before{content:"ï„‘"}.o_icon_enlarge:before{content:""}.o_icon_eportfolio_add:before{content:"ï„®"}.o_icon_eportfolio_link:before{content:"ï„®"}.o_icon_eraser:before{content:"ï„"}.o_icon_error:before{content:"ïª";color:#d9534f}.o_icon_expand:before{content:"ï¥"}.o_icon_expenditure:before{content:""}.o_icon_export:before{content:"ï…"}.o_icon_external_link:before{content:"ï‚Ž"}.o_icon_extra_time:before{content:""}.o_icon_failed:before{content:"ï—"}.o_icon_files:before{content:""}.o_icon_fileupload:before{content:""}.o_icon_filter:before{content:"ï‚°"}.o_icon_graduate:before{content:"ï†"}.o_icon_group:before,.o_BusinessGroup_icon:before{content:""}.o_icon_header:before{content:""}.o_icon_help:before{content:"ï™";cursor:help}.o_icon_home:before{content:""}.o_icon_image:before{content:""}.o_icon_impress:before{content:"ïš"}.o_icon_important:before{content:"ï±";color:#f0ad4e}.o_icon_import:before{content:"ï‚“"}.o_icon_info:before{content:"ïš";color:#5bc0de}.o_icon_info_msg:before{content:"ïª";color:#d9534f}.o_icon_info_resource:before{content:"ïš"}.o_icon_inline_editable:before{content:"ï„"}.o_icon_institution:before{content:""}.o_icon_italic:before{content:""}.o_icon_landingpage:before{content:"ï…€"}.o_icon_language:before{content:""}.o_icon_layout:before{content:""}.o_icon_lecture:before{content:"ï€"}.o_icon_levels:before{content:""}.o_icon_line:before{content:""}.o_icon_link:before{content:"ïƒ"}.o_icon_link_extern:before{content:"ï‚Ž"}.o_icon_list:before{content:""}.o_icon_list_num:before{content:""}.o_icon_lifecycle:before{content:""}.o_icon_lifecycle_date:before{content:"ï³"}.o_icon_locked:before{content:""}.o_icon_log:before{content:"ï…œ"}.o_icon_login:before{content:"ï‚"}.o_icon_logout:before{content:"ï‚‹"}.o_icon_mandatory:before{content:"ï©";color:#f0ad4e}.o_icon_managed:before{content:"ï¹";color:#777}.o_icon_manual:before{content:"ï€";cursor:help}.o_icon_mail:before{content:""}.o_icon_math:before{content:"\03a3"}.o_icon_media:before{content:""}.o_icon_mediacenter:before{content:"ï¼"}.o_icon_membersmanagement:before{content:""}.o_icon_menuhandel:before{content:""}.o_icon_message:before{content:"ïƒ "}.o_icon_mobile:before{content:"ï„‹"}.o_icon_move:before{content:"ï‡"}.o_icon_move_down:before{content:""}.o_icon_move_left:before{content:"ï„€"}.o_icon_move_right:before{content:"ï„"}.o_icon_move_up:before{content:"ï„‚"}.o_icon_new:before{content:"ï©";color:#5cb85c}.o_icon_new_document:before{content:"ï…œ"}.o_icon_new_folder:before{content:"ï»"}.o_icon_new_portfolio:before{content:"ï€"}.o_icon_news:before{content:"ïš"}.o_icon_next:before{content:""}.o_icon_next_step:before{content:"ï„"}.o_icon_next_page:before{content:"ï„"}.o_icon_next_toolbar:before{content:""}.o_icon_node_after:before{content:"ï…µ"}.o_icon_node_before:before{content:"ï…¶"}.o_icon_node_under:before{content:"ï„’"}.o_icon_notes:before{content:""}.o_icon_notification:before{content:"ï‚ž"}.o_icon_ok:before{content:"";color:#5cb85c}.o_icon_open_tree:before{content:""}.o_icon_open_togglebox:before,.o_togglebox_wrapper .o_opener i:before,.o_search_result .o_opener i:before{content:""}.o_icon_openolat:before,.o_icon_provider_olat:before{content:"\E600";font-family:openolat;font-size:10px}.o_icon_options:before{content:""}.o_icon_others:before{content:""}.o_icon_pageing:before{content:"ï…"}.o_icon_paragraph:before{content:"ï‡"}.o_icon_passed:before{content:"ï˜"}.o_icon_password:before{content:""}.o_icon_pending:before{content:"ï„"}.o_icon_phone:before{content:"ï‚•"}.o_icon_post:before{content:""}.o_icon_preview:before{content:"ï®"}.o_icon_previous:before{content:"ï„·"}.o_icon_previous_page:before{content:"ï„€"}.o_icon_previous_step:before{content:"ï„€"}.o_icon_previous_toolbar:before{content:""}.o_icon_print:before{content:""}.o_icon_private:before{content:""}.o_icon_progress_success:before{content:"";color:#e5efe5}.o_icon_progress_danger:before{content:"ï€";color:#efe5e5}.o_icon_provider_adfs:before{content:"ï…º"}.o_icon_provider_facebook:before{content:"ï‚š"}.o_icon_provider_google:before{content:""}.o_icon_provider_guest:before{content:""}.o_icon_provider_ldap:before{content:""}.o_icon_provider_linkedin:before{content:""}.o_icon_provider_oauth:before{content:""}.o_icon_provider_openid:before{content:""}.o_icon_provider_performx:before{content:""}.o_icon_provider_shibboleth:before{content:""}.o_icon_provider_tequila:before{content:""}.o_icon_provider_twitter:before{content:"ï‚™"}.o_icon_publish:before{content:"ï¤"}.o_icon_pull:before{content:""}.o_icon_quota:before{content:""}.o_icon_qrcode:before{content:""}.o_icon_quickview:before{content:"ï®"}.o_icon_radio_off:before{content:"ï„Œ"}.o_icon_radio_on:before{content:"ï"}.o_icon_rating_on:before,.o_rating .o_rating_items.o_enabled .o_icon:hover:before{content:""}.o_icon_rating_off:before{content:""}.o_icon_read:before{content:"ï„Œ"}.o_icon_readonly:before{content:"ï„";color:red}.o_icon_readwrite:before{content:"ï„"}.o_icon_recycle:before{content:""}.o_icon_rectangle:before{content:"ï‚–"}.o_icon_redo:before{content:""}.o_icon_refresh:before{content:""}.o_icon_reject:before{content:"ï€";color:#d9534f}.o_icon_rejected:before{content:"ï…¥"}.o_icon_reminder:before{content:""}.o_icon_remove:before{content:"ï€"}.o_icon_remove_filters:before{content:"ï—"}.o_icon_reopen:before{content:"ï„’"}.o_icon_replace:before{content:""}.o_icon_reply:before{content:"ï„’"}.o_icon_reply_with_quote:before{content:"ï„¢"}.o_icon_reset:before{content:"ïˆ"}.o_icon_response_feedback:before{content:""}.o_icon_restore:before{content:"ï…¤"}.o_icon_results_visible:before{content:"ï®"}.o_icon_results_hidden:before{content:"ï°"}.o_icon_reviewer:before{content:""}.o_icon_rss:before{content:"ï‚ž"}.o_icon_rss_unsubscribe:before{content:"ï‚ž";color:#996633}.o_icon_rubric:before{content:""}.o_icon_save:before{content:""}.o_icon_search:before{content:""}.o_icon_select:before{content:""}.o_icon_send:before{content:"ïƒ "}.o_icon_settings:before{content:"ï‚…"}.o_icon_share:before{content:"ï¤"}.o_icon_show_more:before{content:"ï…"}.o_icon_show_less:before{content:"ï…‘"}.o_icon_show_send:before{content:""}.o_icon_sign_out:before{content:"ï‚‹"}.o_icon_slide_down:before{content:"ï¸"}.o_icon_slide_up:before{content:"ï·"}.o_icon_spacer:before{content:"ï¾"}.o_icon_split:before{content:""}.o_icon_sort:before{content:""}.o_icon_sort_asc:before{content:""}.o_icon_sort_desc:before{content:"ïƒ"}.o_icon_sort_amount_asc:before{content:"ï… "}.o_icon_sort_amount_desc:before{content:"ï…¡"}.o_icon_sort_menu:before{content:"ï… "}.o_icon_start:before{content:"ï”"}.o_icon_status_available:before{content:"ï„‘";color:#063}.o_icon_status_chat:before{content:"ïµ"}.o_icon_status_dnd:before{content:"";color:#cc3}.o_icon_status_unavailable:before{content:"ïœ";color:#963}.o_icon_status_not_started:before{content:"ï„Œ"}.o_icon_status_in_progress:before{content:"ï‹"}.o_icon_status_in_review:before{content:""}.o_icon_status_done:before{content:"ï˜"}.o_icon_statistics_tool:before{content:"ï‚€"}.o_icon_submit:before{content:""}.o_icon_table:before{content:""}.o_icon_table_custom:before{content:""}.o_icon_table_large:before{content:""}.o_icon_tags:before{content:""}.o_icon_textinput:before{content:""}.o_icon_time:before{content:""}.o_icon_timelimit:before{content:""}.o_icon_timelimit_start:before{content:""}.o_icon_timelimit_half:before{content:""}.o_icon_timelimit_end:before{content:""}.o_icon_toggle:before{content:"ï„‘"}.o_icon_toggle_on:before{content:""}.o_icon_toggle_off:before{content:""}.o_icon_to_read:before{content:"ï„‘"}.o_icon_tool:before{content:""}.o_icon_tools:before{content:"ï‚"}.o_icon_top:before{content:"ï·"}.o_icon_translation_item:before{content:""}.o_icon_translation_package:before{content:"ï„•"}.o_icon_undo:before{content:""}.o_icon_user:before{content:""}.o_icon_user_vip:before{content:"ï†"}.o_icon_user_anonymous:before{content:""}.o_icon_upload:before{content:"ï‚“"}.o_icon_version:before{content:""}.o_icon_video:before{content:""}.o_icon_visitingcard.o_icon_waiting:before{content:""}.o_icon_warn:before{content:"ï±";color:#f0ad4e}.o_icon_wizard:before{content:"ïƒ"}.o_icon_xing:before{content:"ï…¨";color:#cfdc00}.o_BinderTemplate_icon:before{content:""}.o_CourseModule_icon:before,.o_course_icon:before{content:""}.o_EPStructuredMapTemplate_icon:before{content:"ï„®"}.o_FileResource-BLOG_icon:before{content:"ï‚¡"}.o_FileResource-IMSCP_icon:before{content:""}.o_FileResource-FORM_icon:before{content:""}.o_FileResource-PODCAST_icon:before{content:""}.o_FileResource-SHAREDFOLDER:before{content:"ï‚Ž"}.o_FileResource-SCORMCP_icon:before{content:""}.o_FileResource-SURVEY_icon:before{content:"ï„š"}.o_FileResource-TEST_icon:before{content:"ï„"}.o_FileResource-IMSQTI21_icon:before{content:"ï…‹"}.o_FileResource-WIKI_icon:before{content:""}.o_FileResource-SHAREDFOLDER_icon:before{content:"ï„•"}.o_FileResource-GLOSSARY_icon:before{content:"ï†"}.o_FileResource-PDF_icon:before{content:"ï‡"}.o_FileResource-XLS_icon:before{content:""}.o_FileResource-PPT_icon:before{content:""}.o_FileResource-DOC_icon:before{content:""}.o_FileResource-ANIM_icon:before{content:""}.o_FileResource-IMAGE_icon:before{content:""}.o_FileResource-SOUND_icon:before{content:""}.o_FileResource-MOVIE_icon:before{content:""}.o_FileResource-FILE_icon:before{content:""}.o_FileResource-VIDEO_icon:before{content:""}.o_CourseModule_icon_closed:before{content:"ïž"}.o_sp_icon:before{content:""}.o_st_icon:before{content:""}.o_tu_icon:before{content:"ï‚Ž"}.o_bc_icon:before{content:"ï„•"}.o_lti_icon:before{content:"ï‚Ž"}.o_cp_icon:before{content:""}.o_cp_item:before{content:""}.o_scorm_icon:before{content:""}.o_en_icon:before{content:"ï‚"}.o_fo_icon:before{content:""}.o_co_icon:before{content:""}.o_infomsg_icon:before{content:"ïš"}.o_cal_icon:before{content:"ï³"}.o_wiki_icon:before{content:""}.o_podcast_icon:before{content:""}.o_pf_icon:before{content:""}.o_blog_icon:before{content:"ï‚¡"}.o_ep_icon:before{content:""}.o_ep_icon_v1:before{content:"ï„®"}.o_iqtest_icon:before{content:"ï„"}.o_iqself_icon:before{content:"ï„"}.o_iqsurv_icon:before{content:"ï„š"}.o_survey_icon:before{content:"ï„š"}.o_qtiassessment_icon:before{content:"ï…‹"}.o_ta_icon:before{content:"ï‚®"}.o_gta_icon:before{content:"ï‚®"}.o_ms_icon:before{content:""}.o_dialog_icon:before{content:""}.o_projectbroker_icon:before{content:"ï„Œ"}.o_ll_icon:before{content:"ïƒ"}.o_den_icon:before{content:""}.o_cmembers_icon:before{content:""}.o_cl_icon:before{content:"ï†"}.o_vc_icon:before{content:""}.o_video_icon:before{content:""}.o_vitero_icon:before{content:""}.o_openmeetings_icon:before{content:""}.o_gotomeeting_icon:before{content:""}.o_card2brain_icon:before{content:"\E800";font-family:openolat;font-size:120%}.o_edubase_icon:before{content:"\E885";font-family:openolat}.o_portlet_infomsg_icon:before{content:"ïš"}.o_portlet_quickstart_icon:before{content:""}.o_portlet_bookmark_icon:before{content:""}.o_portlet_groups_icon:before{content:""}.o_portlet_notes_icon:before{content:""}.o_portlet_noti_icon:before{content:"ï‚ž"}.o_portlet_eff_icon:before{content:"ï‚£"}.o_portlet_repository_student_icon:before{content:""}.o_portlet_repository_teacher_icon:before{content:"ï†"}.o_portlet_iframe_icon:before{content:""}.o_portlet_sysinfo_icon:before{content:""}.o_portlet_dyk_icon:before{content:""}.o_portlet_infomessages_icon:before{content:""}.o_portlet_cal_icon:before{content:"ï³"}.o_portlet_institutions_icon:before{content:""}.o_portlet_links_icon:before{content:"ïƒ"}.o_portlet_shibboleth_icon:before{content:"ï‚"}.o_icon_qpool:before{content:""}.o_icon_pool_private:before{content:"ï‚–"}.o_icon_pool_public:before{content:"ï†"}.o_icon_pool_my_items:before{content:""}.o_icon_pool_favorits:before{content:""}.o_icon_pool_collection:before{content:""}.o_icon_pool_pool:before{content:""}.o_icon_pool_share:before{content:""}.o_icon_qitem_commands:before{content:"ï‚…"}.o_icon_qitem_convert:before{content:""}.o_icon_qitem_copy:before{content:""}.o_icon_qitem_delete:before{content:""}.o_icon_qitem_draft:before{content:"ï€"}.o_icon_qitem_endOfLife:before{content:""}.o_icon_qitem_finalVersion:before{content:""}.o_icon_qitem_export:before{content:""}.o_icon_qitem_hide_metadata:before{content:""}.o_icon_qitem_import:before{content:"ï‚“"}.o_icon_qitem_new:before{content:"ï•"}.o_icon_qitem_review:before{content:""}.o_icon_qitem_revised:before{content:""}.o_icon_qitem_share:before{content:"ï¤"}.o_icon_qitem_show_metadata:before{content:""}.o_icon_qitem_status:before{content:"ï¡"}.o_forum_message_icon:before{content:""}.o_calendar_icon:before{content:"ï³"}.o_icon_pf_section_draft:before{content:"ï°";color:#f0ad4e}.o_icon_pf_section_progress:before{content:"";color:#f0ad4e}.o_icon_pf_section_submitted:before{content:"";color:#3b678a}.o_icon_pf_section_closed:before{content:"";color:#5cb85c}.o_icon_pf_binder:before{content:""}.o_icon_pf_entry:before{content:"ï…›"}.o_icon_pf_entry_draft:before{content:"ï„‘";color:#f0ad4e}.o_icon_pf_entry_published:before{content:"ï„‘";color:#3b678a}.o_icon_pf_entry_revision:before{content:"ï„‘";color:#d9534f}.o_icon_pf_entry_closed:before{content:"ï„‘";color:#5cb85c}.o_icon_pf_entry_deleted:before{content:"";color:#000}.o_icon_pf_history:before{content:""}.o_icon_pf_my_shares:before{content:"ï‡ "}.o_icon_pf_quick_links:before{content:"ï¤"}.o_icon_pf_page:before{content:""}.o_icon_pf_section:before{content:""}.o_icon_pf_shared_with_me:before{content:""}.o_forum_status_thread_icon:before{content:""}.o_forum_status_sticky_closed_icon:before{content:"ïž"}.o_forum_status_sticky_icon:before{content:""}.o_forum_status_closed_icon:before{content:"ïž";color:#a94442}.o_forum_status_opened_icon:before{content:"ïž";color:#3c763d}.o_forum_status_hidden_icon:before{content:"ï°";color:#a94442}.o_forum_status_visible_icon:before{content:"ï®";color:#3c763d}.o_forum_all_icon:before{content:""}.o_forum_all_flat_icon:before{content:""}.o_forum_one_icon:before{content:"ï®"}.o_forum_marked_icon:before{content:""}.o_forum_new_icon:before{content:"ï©"}.o_mi_qpool_import:before{content:""}.o_mi_qtidrawing:before{content:""}.o_mi_qtisection:before{content:""}.o_mi_qtisc:before{content:""}.o_mi_qtimatch:before{content:""}.o_mi_qtimatch_draganddrop:before{content:"ï‰"}.o_mi_qtimatch_truefalse:before{content:""}.o_mi_qtimc:before{content:"ï†"}.o_mi_qtikprim:before{content:"ï…Š"}.o_mi_qtifib:before{content:"ï…"}.o_mi_qtinumerical:before{content:""}.o_mi_qtihotspot:before{content:""}.o_mi_qtihottext:before{content:"ï"}.o_mi_qtiessay:before{content:""}.o_mi_qtiunkown:before{content:""}.o_mi_qtiupload:before{content:"ï‚“"}.o_as_mode_leadtime:before{content:""}.o_as_mode_assessment:before{content:"ï‹"}.o_as_mode_followup:before{content:"ïž"}.o_as_mode_closed:before{content:'-'}.o_icon_qti_notPresented:before{content:"";color:#ddd}.o_icon_qti_notAnswered:before{content:"ï…„";color:#f0ad4e}.o_icon_qti_answered:before{content:"ï˜";color:#5cb85c}.o_icon_qti_ended:before{content:"ïž";color:#5bc0de}.o_icon_qti_invalid:before{content:"ïª";color:#d9534f}.o_icon_qti_review:before{content:"ï®";color:#5bc0de}.o_icon_qti_reviewNotSeen:before,.o_icon_qti_reviewNotAnswered:before,.o_icon_qti_reviewInvalid:before{content:"ï°";color:#5bc0de}.o_icon_qti_end_testpart:before{content:""}.o_icon_qti_close_test:before{content:"ï‹“"}.o_icon_qti_cancel:before{content:"ï"}.o_icon_qti_suspend:before{content:"ïŒ"}.o_icon_qti_close_results:before{content:"ï‹“"}.o_icon_qti_hint:before{content:"ï™"}.o_icon_qti_summary_notAnswered:before{content:"ï„‘";color:#f0ad4e}.o_icon_qti_summary_ended:before{content:"ï—";color:#d9534f}.o_icon_qti_summary_correct:before{content:"ï˜";color:#5cb85c}.o_lectures_current:before{content:"ï„‘";color:#f0ad4e}.o_lectures_next:before{content:""}.o_lectures_pending:before{content:"ï„‘";color:#d9534f}.o_lectures_closed:before{content:"ï„‘"}.o_lectures_rollcall_ok:before{content:"ï„‘";color:#5cb85c}.o_lectures_rollcall_warning:before{content:"ï‚";color:#f0ad4e}.o_lectures_rollcall_danger:before{content:"ï„Œ";color:#d9534f}.o_lectures_rollcall_free:before{content:"ï„‘";color:#969696}.o_lectures_attended:before{content:"ï„‘";color:#5cb85c}.o_lectures_authorized:before{content:"ï„‘";color:#f0ad4e}.o_lectures_absent:before{content:"ï„‘";color:#d9534f}.o_icon_taxonomy:before{content:""}.o_icon_taxonomy_level:before{content:""}.o_icon_taxonomy_level_leaf:before{content:"ï„•"}.o_icon_taxonomy_templates:before{content:""}.o_icon_taxonomy_levels:before{content:""}.o_black_led:before{content:"ï„‘";color:#3b678a}.o_green_led:before{content:"ï„‘";color:#5cb85c}.o_yellow_led:before{content:"ï„‘";color:#f0ad4e}.o_red_led:before{content:"ï„‘";color:#d9534f}.o_ac_token_icon:before{content:"ï‚„"}.o_ac_free_icon:before{content:"ï«"}.o_ac_group_icon:before{content:""}.o_ac_membersonly_icon:before{content:""}.o_ac_paypal_icon:before{content:""}.o_ac_status_canceled_icon:before{content:"ï¨";color:#f0ad4e}.o_ac_status_error_icon:before{content:"ï€";color:#d9534f}.o_ac_status_new_icon:before{content:"ï©";color:#3b678a}.o_ac_status_success_icon:before{content:"";color:#5cb85c}.o_ac_status_waiting_icon:before{content:"";color:#3b678a}.o_ac_order_status_new_icon:before{content:"ï©";color:#3b678a}.o_ac_order_status_prepayment_icon:before{content:"";color:#5bc0de}.o_ac_order_status_payed_icon:before{content:"";color:#5cb85c}.o_ac_order_status_canceled_icon:before{content:"ï¨";color:#f0ad4e}.o_ac_order_status_error_icon:before{content:"ï€";color:#d9534f}.o_ac_order_status_warning_icon:before{content:"";color:#f0ad4e}.o_scorm_org:before{content:""}.o_scorm_item:before{content:""}.o_scorm_completed:before,.o_scorm_passed:before{content:"ï˜"}.o_scorm_failed:before{content:"ï±"}.o_scorm_incomplete:before{content:"ï±"}.o_scorm_not_attempted:before{background:none}.o_midpub:before{content:"ï˜"}.o_midwarn:before{content:"ï±"}.o_midlock:before{content:""}.o_miderr:before{content:"ïª"}.o_middel:before{content:"ï„"}.o_filetype_file:before,.o_filetype_ico:before{content:""}.o_filetype_folder:before{content:"ï„”"}.o_filetype_folder_open:before{content:"ï„•"}.o_filetype_zip:before,.o_filetype_gz:before,.o_filetype_tar:before,.o_filetype_tgz:before{content:""}.o_filetype_css:before,.o_filetype_js:before,.o_filetype_java:before,.o_filetype_numbers:before,.o_filetype_ods:before,.o_filetype_xml:before,.o_filetype_xsl:before{content:""}.o_filetype_bat_icon:before,.o_filetype_bat:before,.o_filetype_exe:before,.o_filetype_app:before,.o_filetype_sh:before{content:""}.o_filetype_xls:before,.o_filetype_xlsx:before{content:""}.o_filetype_png:before,.o_filetype_tiff:before,.o_filetype_webp:before,.o_filetype_gif:before,.o_filetype_ico:before,.o_filetype_jpeg:before,.o_filetype_bmp:before,.o_filetype_odg:before,.o_filetype_eps:before,.o_filetype_jpg:before{content:""}.o_filetype_psd:before,.o_filetype_avi:before,.o_filetype_dvi:before,.o_filetype_mp4:before,.o_filetype_m4v:before,.o_filetype_webm:before,.o_filetype_ogg:before,.o_filetype_video:before,.o_filetype_mov:before,.o_filetype_mpeg:before,.o_filetype_mpg:before,.o_filetype_qt:before,.o_filetype_ra:before,.o_filetype_ram:before,.o_filetype_swf:before,.o_filetype_flv:before{content:""}.o_filetype_midi:before,.o_filetype_audio:before,.o_filetype_mp3:before,.o_filetype_m3u:before,.o_filetype_wav:before{content:""}.o_filetype_ps:before,.o_filetype_pdf:before{content:"ï‡"}.o_filetype_key:before,.o_filetype_odp:before,.o_filetype_ppt:before,.o_filetype_pptx:before{content:""}.o_filetype_odf:before,.o_filetype_rtf:before,.o_filetype_readme:before,.o_filetype_README:before,.o_filetype_log:before,.o_filetype_txt:before,.o_filetype_htm:before,.o_filetype_html:before{content:""}.o_filetype_odt:before,.o_filetype_pages:before,.o_filetype_doc:before,.o_filetype_docx:before{content:""}.o_icon_share_social:before{content:"ï…"}.o_icon_apple:before{content:"ï…¹"}.o_icon_facebook:before{content:"ï‚‚"}.o_icon_twitter:before{content:"ï‚"}.o_icon_google:before{content:""}.o_icon_delicious:before{content:""}.o_icon_digg:before{content:""}.o_icon_mailto:before{content:""}.o_icon_link:before{content:"ïƒ"}.o_icon_yahoo:before{content:""}.o_icon_eva_disclaimer:before{content:""}.o_icon_eva_general_info:before{content:"ï„©"}.o_icon_eva_mc:before{content:"ï†"}.o_icon_eva_sc:before{content:""}.o_icon_surv_commands:before{content:""}.o_icon_surv_delete_all_data:before{content:""}.o_icon_lic_add:before{content:"ï•"}.o_icon_lic_public_domain:before{content:"\E810";font-family:openolat;font-size:120%}.o_icon_lic_cc0:before{content:"\E811";font-family:openolat;font-size:120%}.o_icon_lic_by:before{content:"\E812";font-family:openolat;font-size:120%}.o_icon_lic_by_sa:before{content:"\E813";font-family:openolat;font-size:120%}.o_icon_lic_by_nd:before{content:"\E814";font-family:openolat;font-size:120%}.o_icon_lic_by_nc:before{content:"\E815";font-family:openolat;font-size:120%}.o_icon_lic_by_nc_sa:before{content:"\E817";font-family:openolat;font-size:120%}.o_icon_lic_by_nc_nd:before{content:"\E819";font-family:openolat;font-size:120%}.o_icon_lic_all_rights_reserved:before{content:""}.o_icon_lic_freetext:before{content:""}.o_icon_lic_general:before{content:""}a.o_icon:hover,a.o_icon:focus{text-decoration:none}img.o_emoticons_angel{background:url(../light/images/emoticons/smiley-angel.png);width:16px;height:16px}img.o_emoticons_angry{background:url(../light/images/emoticons/smiley-mad.png);width:16px;height:16px}img.o_emoticons_blushing{background:url(../light/images/emoticons/smiley-red.png);width:16px;height:16px}img.o_emoticons_confused{background:url(../light/images/emoticons/smiley-confuse.png);width:16px;height:16px}img.o_emoticons_cool{background:url(../light/images/emoticons/smiley-cool.png);width:16px;height:16px}img.o_emoticons_cry{background:url(../light/images/emoticons/smiley-cry.png);width:16px;height:16px}img.o_emoticons_devil{background:url(../light/images/emoticons/smiley-evil.png);width:16px;height:16px}img.o_emoticons_grin{background:url(../light/images/emoticons/smiley-grin.png);width:16px;height:16px}img.o_emoticons_kiss{background:url(../light/images/emoticons/smiley-kiss.png);width:16px;height:16px}img.o_emoticons_ohoh{background:url(../light/images/emoticons/smiley-eek.png);width:16px;height:16px}img.o_emoticons_sad{background:url(../light/images/emoticons/smiley-sad.png);width:16px;height:16px}img.o_emoticons_sick{background:url(../light/images/emoticons/smiley-sad-blue.png);width:16px;height:16px}img.o_emoticons_smile{background:url(../light/images/emoticons/smiley.png);width:16px;height:16px}img.o_emoticons_tongue{background:url(../light/images/emoticons/smiley-razz.png);width:16px;height:16px}img.o_emoticons_ugly{background:url(../light/images/emoticons/smiley-money.png);width:16px;height:16px}img.o_emoticons_weird{background:url(../light/images/emoticons/smiley-nerd.png);width:16px;height:16px}img.o_emoticons_wink{background:url(../light/images/emoticons/smiley-wink.png);width:16px;height:16px}img.o_emoticons_worried{background:url(../light/images/emoticons/smiley-roll-blue.png);width:16px;height:16px}img.o_emoticons_up{background:url(../light/images/emoticons/thumb-up.png);width:16px;height:16px}img.o_emoticons_down{background:url(../light/images/emoticons/thumb.png);width:16px;height:16px}.o_block_bottom,.o_block,.o_button_group,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry,.o_header_with_buttons,.o_search_result{margin-bottom:1em}.o_block_top,.o_block,.o_button_group,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry{margin-top:1em}.o_block_small_bottom,.o_block_small{margin-bottom:0.5em}.o_block_small_top,.o_block_small{margin-top:0.5em}.o_block_large_bottom,.o_block_large,.o_block_with_datecomp,.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file,.o_pf_content .o_forum,.o_pf_content .o_image,.o_pf_content .o_video,.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_wiki,.o_login .o_login_footer_wrapper,.o_portlet{margin-bottom:2em}.o_block_large_top,.o_block_large,.o_block_with_datecomp,.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file,.o_pf_content .o_forum,.o_pf_content .o_image,.o_pf_content .o_video,.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_wiki,.o_login .o_login_footer_wrapper,.o_portlet{margin-top:2em}.o_block_inline,.o_block_inline_left,.o_block_inline_both,.o_block_inline_right{display:inline-block}.o_block_inline_left,.o_block_inline_both{margin-left:0.5em}.o_block_inline_right,.o_block_inline_both{margin-right:0.5em}.o_block_centered_wrapper{display:table;width:100%;height:100%}.o_block_centered_content{display:table-cell;vertical-align:middle;text-align:center}.o_block_imagebg{background-repeat:no-repeat;background-position:center;background-size:cover}.o_block_imagebg span{padding:2px;background-color:rgba(255,255,255,0.8)}.o_block_imagebg h1,.o_block_imagebg h2,.o_block_imagebg h3,.o_block_imagebg h4,.o_block_imagebg .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_block_imagebg h2,.o_block_imagebg h5,.o_block_imagebg p{padding:2px;background-color:rgba(255,255,255,0.8);display:inline-block}.o_block_imagebg h1:after,.o_block_imagebg h2:after,.o_block_imagebg h3:after,.o_block_imagebg h4:after,.o_block_imagebg .o_cal .fc-header-title h2:after,.o_cal .fc-header-title .o_block_imagebg h2:after,.o_block_imagebg h5:after,.o_block_imagebg p:after{content:' ';display:block}.o_scrollblock,div.b_scrollblock{overflow-x:auto;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.o_button_group{text-align:center}.o_button_group a,.o_button_group input,.o_button_group button,.o_button_group .btn-group{margin-right:5px;margin-bottom:0.5em}.o_button_group a:last-child,.o_button_group input:last-child,.o_button_group button:last-child,.o_button_group .btn-group:last-child{margin-right:0}.o_button_group .btn-group a,.o_button_group .btn-group input,.o_button_group .btn-group button{margin-right:0;margin-bottom:0}.o_button_group .dropdown-menu{text-align:left}.o_button_group_left{text-align:left}.o_button_group_right{text-align:right}.o_button_group_top{margin-top:0}.o_header_with_buttons:before,.o_header_with_buttons:after{content:" ";display:table}.o_header_with_buttons:after{clear:both}.o_header_with_buttons h1,.o_header_with_buttons h2,.o_header_with_buttons h3,.o_header_with_buttons h4,.o_header_with_buttons .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_header_with_buttons h2,.o_header_with_buttons h5,.o_header_with_buttons h6{display:inline-block}.o_header_with_buttons .o_button_group{margin-bottom:0;float:right}.o_header_with_buttons h1+.o_button_group{margin-top:28px}.o_header_with_buttons h2+.o_button_group{margin-top:24px}.o_header_with_buttons h3+.o_button_group{margin-top:20px}.o_header_with_buttons h4+.o_button_group,.o_header_with_buttons .o_cal .fc-header-title h2+.o_button_group,.o_cal .fc-header-title .o_header_with_buttons h2+.o_button_group{margin-top:10px}.o_header_with_buttons h5+.o_button_group{margin-top:6.6666666667px}.o_header_with_buttons h6+.o_button_group{margin-top:5px}#o_main_center .o_header_with_buttons h2+.o_button_group{margin-top:0}.panel-heading.o_header_with_buttons{margin-bottom:0}.o_button_textstyle:before{content:'['}.o_button_textstyle:after{content:']'}.panel-imagebg{background-repeat:no-repeat;background-position:center;background-size:cover}.panel-imagebg.panel-default>.panel-heading{background-color:rgba(255,255,255,0.8);border-bottom:transparent}.panel-imagebg .panel-body span{padding:2px;background-color:rgba(255,255,255,0.8)}.panel-placeholder{border-width:2px;border-style:dashed;border-color:#6b9ac0;border-radius:10px}.panel-placeholder .panel-body{padding:10px}.panel-placeholder .panel-body:nth-child(n+2){border-top:none}.panel-placeholder .panel-body h3:nth-child(1),.panel-placeholder .panel-body h4:nth-child(1),.panel-placeholder .panel-body .o_cal .fc-header-title h2:nth-child(1),.o_cal .fc-header-title .panel-placeholder .panel-body h2:nth-child(1),.panel-placeholder .panel-body h5:nth-child(1){margin-top:0}.panel-placeholder .panel-body .o_button_group{margin-bottom:0}.panel-placeholder .panel-heading{border-top-right-radius:8px;border-top-left-radius:8px;border-width:2px;border-style:dashed;border-color:#6b9ac0;border-top:none;border-left:none;border-right:none;color:#3b678a;font-weight:bold}.panel-placeholder .panel-footer{border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-width:2px;border-style:dashed;border-color:#6b9ac0;border-bottom:none;border-left:none;border-right:none}.o_xsmall,.b_xsmall,p.b_xsmall,div.b_xsmall{font-size:12px}.o_small,.b_small,p.b_small,div.b_small,.o_comments .o_comment_wrapper h5,.o_comments .o_comment_wrapper .o_comment,.o_bc_meta,.tooltip,.o_htmleditor .o_metadata .o_lastmodified,.o_noti,.o_block_with_datecomp .o_meta,.o_togglebox_wrapper div.o_togglebox_content .o_hide,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_state,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_label,.o_course_run .o_toc .o_entry,.o_assessment_test_results .o_qti_to_overview{font-size:12px}.o_large,.b_large,p.b_large,div.b_large{font-size:18px}.o_xlarge,.b_xlarge,p.b_xlarge,div.b_xlarge{font-size:18px}.o_disabled,.b_disabled,p.b_disabled,div.b_disabled{color:#777 !important;cursor:default}.o_disabled:hover,.b_disabled:hover{color:#777 !important}.o_dimmed,.b_dimmed,p.b_dimmed,div.b_dimmed{opacity:.4;filter:alpha(opacity=40)}.o_selected,.b_selected,p.b_selected,div.b_selected{font-weight:bold}.o_deleted,.b_deleted,p.b_deleted,div.b_deleted{text-decoration:line-through}.o_highlight_on_hover:hover{background-color:#f5f5f5}.o_clickable{cursor:pointer}.o_ochre{color:#c8a959}.o_blue{color:#12223F}.o_undecorated:hover,.o_undecorated:focus,.o_disabled:hover,.b_disabled:hover,#o_main_wrapper #o_toplink:hover,#o_footer_powered a:hover,#o_share a:hover,#o_share_social_container a:hover,.o_toolbar .o_tools_container a:hover,.o_button_toggle:hover,.o_im_message_group .o_im_from:hover,.o_noti .o_label:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:hover,.o_catalog .o_level .o_meta .o_title a:hover,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:hover,.o_repo_details .o_social .o_comments:hover,.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a:hover,.o_login .o_login_register:hover,.o_disabled:focus,.b_disabled:focus,#o_main_wrapper #o_toplink:focus,#o_footer_powered a:focus,#o_share a:focus,#o_share_social_container a:focus,.o_toolbar .o_tools_container a:focus,.o_button_toggle:focus,.o_im_message_group .o_im_from:focus,.o_noti .o_label:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:focus,.o_catalog .o_level .o_meta .o_title a:focus,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:focus,.o_repo_details .o_social .o_comments:focus,.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a:focus,.o_login .o_login_register:focus{text-decoration:none}.o_copy_code,.b_copy_code,p.b_copy_code,div.b_copy_code,code,pre{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}.o_copy_code input,.o_copy_code textarea,.b_copy_code input,code input,pre input,.b_copy_code textarea,code textarea,pre textarea{border:0;width:90%;background:transparent}.o_nowrap,.b_copy_code,p.b_copy_code,div.b_copy_code,code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o_titled_wrapper .o_content{margin-top:20px}.o_video,.o_video video,.b_video,.o_video_wrapper{display:inline-block;max-width:100%;height:auto;max-width:100%}.o_image,.o_image img,img,.b_image{display:inline-block;max-width:100%;height:auto;max-width:100%}.o_figure_caption_bottom{display:inline-block;min-width:50%}.o_figure_caption_bottom figure{display:table}.o_figure_caption_bottom figcaption{display:table-caption;caption-side:bottom;font-size:90%;font-style:italic;text-align:center}.o_image_vertical_center_helper{display:inline-block;height:100%;vertical-align:middle}.o_image_vertical_center_helper+.o_image img{vertical-align:middle}.o_with_hyphens{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.o_page_margins{padding:25px}h1{color:#3b678a}h2{color:#3b678a}h3{color:#3b678a}h4,.o_cal .fc-header-title h2{color:#3b678a}h5{color:#3b678a}h5{color:#3b678a}fieldset legend{color:#333}.o_user_content_block a{color:#3b678a;text-decoration:none}.o_user_content_block a:hover,.o_user_content_block a:focus{color:#243f54;text-decoration:underline}.b_border_box,p.b_border_box,div.b_border_box{border:1px solid #777;padding:1em;border-top-right-radius:3px;border-top-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}table td{vertical-align:top}table.b_grid{width:99.5%;background:transparent;border-collapse:separate}table.b_grid td,table.b_grid th{padding:1px 5px;border:1px solid #777}table.b_grid thead td,table.b_grid th{background:#eee;font-weight:bold}table.b_border{width:99.5%;background:transparent;border-collapse:collapse}table.b_border td,table.b_border th{padding:1px 5px;border:1px solid #777}table.b_border thead td,table.b_border th{background:#eee;font-weight:bold}table.b_borderless{width:99.5%;background:transparent;border-collapse:separate}table.b_borderless td,table.b_borderless th{padding:1px 5px;border:0}table.b_borderless thead td,table.b_borderless th{font-weight:bold}table.b_full{width:99.5%}table.b_middle{background:transparent}table.b_middle td{vertical-align:middle}table.b_gray{border-collapse:collapse}table.b_gray td,table.b_gray th{padding:1px 5px;background:#eee;border:1px solid #fff}table.b_gray thead td,table.b_gray th{background:#d5d5d5;font-weight:bold}table.b_blue{border-collapse:collapse}table.b_blue td,table.b_blue th{padding:1px 5px;background:#d9edf7;border:1px solid #fff}table.b_blue thead td,table.b_blue th{background:#afd9ee;font-weight:bold}table.b_green{border-collapse:collapse}table.b_green td,table.b_green th{padding:1px 5px;background:#dff0d8;border:1px solid #fff}table.b_green thead td,table.b_green th{background:#c1e2b3;font-weight:bold}table.b_yellow{border-collapse:collapse}table.b_yellow td,table.b_yellow th{padding:1px 5px;background:#fcf8e3;border:1px solid #fff}table.b_yellow thead td,table.b_yellow th{background:#f7ecb5;font-weight:bold}table.b_red{border-collapse:collapse}table.b_red td,table.b_red th{padding:1px 5px;background:#f2dede;border:1px solid #fff}table.b_red thead td,table.b_red th{background:#e4b9b9;font-weight:bold}.b_align_normal{text-align:left}.b_align_center{text-align:center}.b_align_inverse{text-align:right}.b_align_justified{text-align:justify}a.b_link_extern{color:#3b678a}a.b_link_extern:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:"ï‚Ž"}a.b_link_mailto{color:#3b678a}a.b_link_mailto:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:""}a.b_link_forward{color:#3b678a}a.b_link_forward:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:"ï¤"}img.b_float_left{float:left;margin:0 2em 2em 0}img.b_float_left_clear{clear:both;margin:0 2em 2em 0;display:block}img.b_float_right{float:right;margin:0 0 2em 2em}img.b_float_right_clear{clear:both;display:block;margin:0 0 2em auto}img.b_float_left_clear_nomargin{float:left;display:block;margin:0 0 0 0}img.b_centered{clear:both;display:block;margin:0 auto 2em auto}img.b_circle{border-radius:50%}img.b_with_border{border:1px solid #ddd;padding:3px;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}p.b_figure_title{margin:20px 0 5px 0;font-size:85%;font-family:inherit}p.b_figure_caption{clear:both;margin:5px 0 20px 0;font-size:85%;font-family:inherit}.b_clear_float,p.b_clear_float,div.b_clear_float{clear:both}figure.align-left{float:left}figure.align-right{float:right}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}img.align-left{float:left}img.align-right{float:right}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}figure.image.align-center{display:block;text-align:center}figure.image.align-left{float:none;display:block;text-align:left}figure.image.align-left figcaption{text-align:left}figure.image.align-right{float:none;display:block;text-align:right}figure.image.align-right figcaption{text-align:right}figure.image{margin:2em 0 2em 0;border:0;background:none}figure.image img.b_float_left,figure.image img.b_float_left_clear,figure.image img.b_float_right,figure.image img.b_float_right_clear,figure.image img.b_float_left_clear_nomargin,figure.image img.b_centered{float:none;display:inline-block;margin:0}figure.image figcaption{font-size:90%;font-style:italic}.radial-progress{margin:10px;width:120px;height:120px;background-color:#eee;border-radius:50%;display:inline-block;position:relative}.radial-progress .circle .mask,.radial-progress .circle .fill,.radial-progress .circle .shadow{width:100%;height:100%;position:absolute;border-radius:50%}.radial-progress .circle .shadow{box-shadow:none inset}.radial-progress .circle .mask,.radial-progress .circle .fill{-webkit-backface-visibility:hidden;transition:-webkit-transform 1s;transition:-ms-transform 1s;transition:transform 1s;border-radius:50%}.radial-progress .circle .mask{clip:rect(0px, 120px, 120px, 60px)}.radial-progress .circle .mask .fill{clip:rect(0px, 60px, 120px, 0px);background-color:#3b678a}.radial-progress .inset{width:90px;height:90px;position:absolute;border-radius:50%;margin-left:15px;margin-top:15px;overflow:hidden;background-color:#fff;box-shadow:none;font-size:21.6px}.radial-progress .inset .bgIcon{position:absolute;font-size:80px;top:5px;left:-5px;opacity:0;transition:opacity 0;transition-delay:1s}.radial-progress .inset .percentage{height:80%;width:80%;position:absolute;top:10%;left:10%;display:table;line-height:1}.radial-progress .inset .percentage .centeredWrapper{display:table-cell;vertical-align:middle;text-align:center}.radial-progress .inset .percentage .centeredWrapper .number{font-weight:800;color:#3b678a}.radial-progress .inset .percentage .centeredWrapper .addon{color:#777;margin-top:5px}.radial-progress .inset .percentage .centeredWrapper .addon div:nth-of-type(1){font-size:0.55em;font-weight:bold}.radial-progress .inset .percentage .centeredWrapper .addon div:nth-of-type(2){margin-top:2px;font-size:0.45em}.radial-progress[data-progress="0"] .circle .mask.full,.radial-progress[data-progress="0"] .circle .fill{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.radial-progress[data-progress="0"] .circle .fill.fix{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.radial-progress[data-progress="1"] .circle .mask.full,.radial-progress[data-progress="1"] .circle .fill{-webkit-transform:rotate(1.8deg);-ms-transform:rotate(1.8deg);transform:rotate(1.8deg)}.radial-progress[data-progress="1"] .circle .fill.fix{-webkit-transform:rotate(3.6deg);-ms-transform:rotate(3.6deg);transform:rotate(3.6deg)}.radial-progress[data-progress="2"] .circle .mask.full,.radial-progress[data-progress="2"] .circle .fill{-webkit-transform:rotate(3.6deg);-ms-transform:rotate(3.6deg);transform:rotate(3.6deg)}.radial-progress[data-progress="2"] .circle .fill.fix{-webkit-transform:rotate(7.2deg);-ms-transform:rotate(7.2deg);transform:rotate(7.2deg)}.radial-progress[data-progress="3"] .circle .mask.full,.radial-progress[data-progress="3"] .circle .fill{-webkit-transform:rotate(5.4deg);-ms-transform:rotate(5.4deg);transform:rotate(5.4deg)}.radial-progress[data-progress="3"] .circle .fill.fix{-webkit-transform:rotate(10.8deg);-ms-transform:rotate(10.8deg);transform:rotate(10.8deg)}.radial-progress[data-progress="4"] .circle .mask.full,.radial-progress[data-progress="4"] .circle .fill{-webkit-transform:rotate(7.2deg);-ms-transform:rotate(7.2deg);transform:rotate(7.2deg)}.radial-progress[data-progress="4"] .circle .fill.fix{-webkit-transform:rotate(14.4deg);-ms-transform:rotate(14.4deg);transform:rotate(14.4deg)}.radial-progress[data-progress="5"] .circle .mask.full,.radial-progress[data-progress="5"] .circle .fill{-webkit-transform:rotate(9deg);-ms-transform:rotate(9deg);transform:rotate(9deg)}.radial-progress[data-progress="5"] .circle .fill.fix{-webkit-transform:rotate(18deg);-ms-transform:rotate(18deg);transform:rotate(18deg)}.radial-progress[data-progress="6"] .circle .mask.full,.radial-progress[data-progress="6"] .circle .fill{-webkit-transform:rotate(10.8deg);-ms-transform:rotate(10.8deg);transform:rotate(10.8deg)}.radial-progress[data-progress="6"] .circle .fill.fix{-webkit-transform:rotate(21.6deg);-ms-transform:rotate(21.6deg);transform:rotate(21.6deg)}.radial-progress[data-progress="7"] .circle .mask.full,.radial-progress[data-progress="7"] .circle .fill{-webkit-transform:rotate(12.6deg);-ms-transform:rotate(12.6deg);transform:rotate(12.6deg)}.radial-progress[data-progress="7"] .circle .fill.fix{-webkit-transform:rotate(25.2deg);-ms-transform:rotate(25.2deg);transform:rotate(25.2deg)}.radial-progress[data-progress="8"] .circle .mask.full,.radial-progress[data-progress="8"] .circle .fill{-webkit-transform:rotate(14.4deg);-ms-transform:rotate(14.4deg);transform:rotate(14.4deg)}.radial-progress[data-progress="8"] .circle .fill.fix{-webkit-transform:rotate(28.8deg);-ms-transform:rotate(28.8deg);transform:rotate(28.8deg)}.radial-progress[data-progress="9"] .circle .mask.full,.radial-progress[data-progress="9"] .circle .fill{-webkit-transform:rotate(16.2deg);-ms-transform:rotate(16.2deg);transform:rotate(16.2deg)}.radial-progress[data-progress="9"] .circle .fill.fix{-webkit-transform:rotate(32.4deg);-ms-transform:rotate(32.4deg);transform:rotate(32.4deg)}.radial-progress[data-progress="10"] .circle .mask.full,.radial-progress[data-progress="10"] .circle .fill{-webkit-transform:rotate(18deg);-ms-transform:rotate(18deg);transform:rotate(18deg)}.radial-progress[data-progress="10"] .circle .fill.fix{-webkit-transform:rotate(36deg);-ms-transform:rotate(36deg);transform:rotate(36deg)}.radial-progress[data-progress="11"] .circle .mask.full,.radial-progress[data-progress="11"] .circle .fill{-webkit-transform:rotate(19.8deg);-ms-transform:rotate(19.8deg);transform:rotate(19.8deg)}.radial-progress[data-progress="11"] .circle .fill.fix{-webkit-transform:rotate(39.6deg);-ms-transform:rotate(39.6deg);transform:rotate(39.6deg)}.radial-progress[data-progress="12"] .circle .mask.full,.radial-progress[data-progress="12"] .circle .fill{-webkit-transform:rotate(21.6deg);-ms-transform:rotate(21.6deg);transform:rotate(21.6deg)}.radial-progress[data-progress="12"] .circle .fill.fix{-webkit-transform:rotate(43.2deg);-ms-transform:rotate(43.2deg);transform:rotate(43.2deg)}.radial-progress[data-progress="13"] .circle .mask.full,.radial-progress[data-progress="13"] .circle .fill{-webkit-transform:rotate(23.4deg);-ms-transform:rotate(23.4deg);transform:rotate(23.4deg)}.radial-progress[data-progress="13"] .circle .fill.fix{-webkit-transform:rotate(46.8deg);-ms-transform:rotate(46.8deg);transform:rotate(46.8deg)}.radial-progress[data-progress="14"] .circle .mask.full,.radial-progress[data-progress="14"] .circle .fill{-webkit-transform:rotate(25.2deg);-ms-transform:rotate(25.2deg);transform:rotate(25.2deg)}.radial-progress[data-progress="14"] .circle .fill.fix{-webkit-transform:rotate(50.4deg);-ms-transform:rotate(50.4deg);transform:rotate(50.4deg)}.radial-progress[data-progress="15"] .circle .mask.full,.radial-progress[data-progress="15"] .circle .fill{-webkit-transform:rotate(27deg);-ms-transform:rotate(27deg);transform:rotate(27deg)}.radial-progress[data-progress="15"] .circle .fill.fix{-webkit-transform:rotate(54deg);-ms-transform:rotate(54deg);transform:rotate(54deg)}.radial-progress[data-progress="16"] .circle .mask.full,.radial-progress[data-progress="16"] .circle .fill{-webkit-transform:rotate(28.8deg);-ms-transform:rotate(28.8deg);transform:rotate(28.8deg)}.radial-progress[data-progress="16"] .circle .fill.fix{-webkit-transform:rotate(57.6deg);-ms-transform:rotate(57.6deg);transform:rotate(57.6deg)}.radial-progress[data-progress="17"] .circle .mask.full,.radial-progress[data-progress="17"] .circle .fill{-webkit-transform:rotate(30.6deg);-ms-transform:rotate(30.6deg);transform:rotate(30.6deg)}.radial-progress[data-progress="17"] .circle .fill.fix{-webkit-transform:rotate(61.2deg);-ms-transform:rotate(61.2deg);transform:rotate(61.2deg)}.radial-progress[data-progress="18"] .circle .mask.full,.radial-progress[data-progress="18"] .circle .fill{-webkit-transform:rotate(32.4deg);-ms-transform:rotate(32.4deg);transform:rotate(32.4deg)}.radial-progress[data-progress="18"] .circle .fill.fix{-webkit-transform:rotate(64.8deg);-ms-transform:rotate(64.8deg);transform:rotate(64.8deg)}.radial-progress[data-progress="19"] .circle .mask.full,.radial-progress[data-progress="19"] .circle .fill{-webkit-transform:rotate(34.2deg);-ms-transform:rotate(34.2deg);transform:rotate(34.2deg)}.radial-progress[data-progress="19"] .circle .fill.fix{-webkit-transform:rotate(68.4deg);-ms-transform:rotate(68.4deg);transform:rotate(68.4deg)}.radial-progress[data-progress="20"] .circle .mask.full,.radial-progress[data-progress="20"] .circle .fill{-webkit-transform:rotate(36deg);-ms-transform:rotate(36deg);transform:rotate(36deg)}.radial-progress[data-progress="20"] .circle .fill.fix{-webkit-transform:rotate(72deg);-ms-transform:rotate(72deg);transform:rotate(72deg)}.radial-progress[data-progress="21"] .circle .mask.full,.radial-progress[data-progress="21"] .circle .fill{-webkit-transform:rotate(37.8deg);-ms-transform:rotate(37.8deg);transform:rotate(37.8deg)}.radial-progress[data-progress="21"] .circle .fill.fix{-webkit-transform:rotate(75.6deg);-ms-transform:rotate(75.6deg);transform:rotate(75.6deg)}.radial-progress[data-progress="22"] .circle .mask.full,.radial-progress[data-progress="22"] .circle .fill{-webkit-transform:rotate(39.6deg);-ms-transform:rotate(39.6deg);transform:rotate(39.6deg)}.radial-progress[data-progress="22"] .circle .fill.fix{-webkit-transform:rotate(79.2deg);-ms-transform:rotate(79.2deg);transform:rotate(79.2deg)}.radial-progress[data-progress="23"] .circle .mask.full,.radial-progress[data-progress="23"] .circle .fill{-webkit-transform:rotate(41.4deg);-ms-transform:rotate(41.4deg);transform:rotate(41.4deg)}.radial-progress[data-progress="23"] .circle .fill.fix{-webkit-transform:rotate(82.8deg);-ms-transform:rotate(82.8deg);transform:rotate(82.8deg)}.radial-progress[data-progress="24"] .circle .mask.full,.radial-progress[data-progress="24"] .circle .fill{-webkit-transform:rotate(43.2deg);-ms-transform:rotate(43.2deg);transform:rotate(43.2deg)}.radial-progress[data-progress="24"] .circle .fill.fix{-webkit-transform:rotate(86.4deg);-ms-transform:rotate(86.4deg);transform:rotate(86.4deg)}.radial-progress[data-progress="25"] .circle .mask.full,.radial-progress[data-progress="25"] .circle .fill{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.radial-progress[data-progress="25"] .circle .fill.fix{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.radial-progress[data-progress="26"] .circle .mask.full,.radial-progress[data-progress="26"] .circle .fill{-webkit-transform:rotate(46.8deg);-ms-transform:rotate(46.8deg);transform:rotate(46.8deg)}.radial-progress[data-progress="26"] .circle .fill.fix{-webkit-transform:rotate(93.6deg);-ms-transform:rotate(93.6deg);transform:rotate(93.6deg)}.radial-progress[data-progress="27"] .circle .mask.full,.radial-progress[data-progress="27"] .circle .fill{-webkit-transform:rotate(48.6deg);-ms-transform:rotate(48.6deg);transform:rotate(48.6deg)}.radial-progress[data-progress="27"] .circle .fill.fix{-webkit-transform:rotate(97.2deg);-ms-transform:rotate(97.2deg);transform:rotate(97.2deg)}.radial-progress[data-progress="28"] .circle .mask.full,.radial-progress[data-progress="28"] .circle .fill{-webkit-transform:rotate(50.4deg);-ms-transform:rotate(50.4deg);transform:rotate(50.4deg)}.radial-progress[data-progress="28"] .circle .fill.fix{-webkit-transform:rotate(100.8deg);-ms-transform:rotate(100.8deg);transform:rotate(100.8deg)}.radial-progress[data-progress="29"] .circle .mask.full,.radial-progress[data-progress="29"] .circle .fill{-webkit-transform:rotate(52.2deg);-ms-transform:rotate(52.2deg);transform:rotate(52.2deg)}.radial-progress[data-progress="29"] .circle .fill.fix{-webkit-transform:rotate(104.4deg);-ms-transform:rotate(104.4deg);transform:rotate(104.4deg)}.radial-progress[data-progress="30"] .circle .mask.full,.radial-progress[data-progress="30"] .circle .fill{-webkit-transform:rotate(54deg);-ms-transform:rotate(54deg);transform:rotate(54deg)}.radial-progress[data-progress="30"] .circle .fill.fix{-webkit-transform:rotate(108deg);-ms-transform:rotate(108deg);transform:rotate(108deg)}.radial-progress[data-progress="31"] .circle .mask.full,.radial-progress[data-progress="31"] .circle .fill{-webkit-transform:rotate(55.8deg);-ms-transform:rotate(55.8deg);transform:rotate(55.8deg)}.radial-progress[data-progress="31"] .circle .fill.fix{-webkit-transform:rotate(111.6deg);-ms-transform:rotate(111.6deg);transform:rotate(111.6deg)}.radial-progress[data-progress="32"] .circle .mask.full,.radial-progress[data-progress="32"] .circle .fill{-webkit-transform:rotate(57.6deg);-ms-transform:rotate(57.6deg);transform:rotate(57.6deg)}.radial-progress[data-progress="32"] .circle .fill.fix{-webkit-transform:rotate(115.2deg);-ms-transform:rotate(115.2deg);transform:rotate(115.2deg)}.radial-progress[data-progress="33"] .circle .mask.full,.radial-progress[data-progress="33"] .circle .fill{-webkit-transform:rotate(59.4deg);-ms-transform:rotate(59.4deg);transform:rotate(59.4deg)}.radial-progress[data-progress="33"] .circle .fill.fix{-webkit-transform:rotate(118.8deg);-ms-transform:rotate(118.8deg);transform:rotate(118.8deg)}.radial-progress[data-progress="34"] .circle .mask.full,.radial-progress[data-progress="34"] .circle .fill{-webkit-transform:rotate(61.2deg);-ms-transform:rotate(61.2deg);transform:rotate(61.2deg)}.radial-progress[data-progress="34"] .circle .fill.fix{-webkit-transform:rotate(122.4deg);-ms-transform:rotate(122.4deg);transform:rotate(122.4deg)}.radial-progress[data-progress="35"] .circle .mask.full,.radial-progress[data-progress="35"] .circle .fill{-webkit-transform:rotate(63deg);-ms-transform:rotate(63deg);transform:rotate(63deg)}.radial-progress[data-progress="35"] .circle .fill.fix{-webkit-transform:rotate(126deg);-ms-transform:rotate(126deg);transform:rotate(126deg)}.radial-progress[data-progress="36"] .circle .mask.full,.radial-progress[data-progress="36"] .circle .fill{-webkit-transform:rotate(64.8deg);-ms-transform:rotate(64.8deg);transform:rotate(64.8deg)}.radial-progress[data-progress="36"] .circle .fill.fix{-webkit-transform:rotate(129.6deg);-ms-transform:rotate(129.6deg);transform:rotate(129.6deg)}.radial-progress[data-progress="37"] .circle .mask.full,.radial-progress[data-progress="37"] .circle .fill{-webkit-transform:rotate(66.6deg);-ms-transform:rotate(66.6deg);transform:rotate(66.6deg)}.radial-progress[data-progress="37"] .circle .fill.fix{-webkit-transform:rotate(133.2deg);-ms-transform:rotate(133.2deg);transform:rotate(133.2deg)}.radial-progress[data-progress="38"] .circle .mask.full,.radial-progress[data-progress="38"] .circle .fill{-webkit-transform:rotate(68.4deg);-ms-transform:rotate(68.4deg);transform:rotate(68.4deg)}.radial-progress[data-progress="38"] .circle .fill.fix{-webkit-transform:rotate(136.8deg);-ms-transform:rotate(136.8deg);transform:rotate(136.8deg)}.radial-progress[data-progress="39"] .circle .mask.full,.radial-progress[data-progress="39"] .circle .fill{-webkit-transform:rotate(70.2deg);-ms-transform:rotate(70.2deg);transform:rotate(70.2deg)}.radial-progress[data-progress="39"] .circle .fill.fix{-webkit-transform:rotate(140.4deg);-ms-transform:rotate(140.4deg);transform:rotate(140.4deg)}.radial-progress[data-progress="40"] .circle .mask.full,.radial-progress[data-progress="40"] .circle .fill{-webkit-transform:rotate(72deg);-ms-transform:rotate(72deg);transform:rotate(72deg)}.radial-progress[data-progress="40"] .circle .fill.fix{-webkit-transform:rotate(144deg);-ms-transform:rotate(144deg);transform:rotate(144deg)}.radial-progress[data-progress="41"] .circle .mask.full,.radial-progress[data-progress="41"] .circle .fill{-webkit-transform:rotate(73.8deg);-ms-transform:rotate(73.8deg);transform:rotate(73.8deg)}.radial-progress[data-progress="41"] .circle .fill.fix{-webkit-transform:rotate(147.6deg);-ms-transform:rotate(147.6deg);transform:rotate(147.6deg)}.radial-progress[data-progress="42"] .circle .mask.full,.radial-progress[data-progress="42"] .circle .fill{-webkit-transform:rotate(75.6deg);-ms-transform:rotate(75.6deg);transform:rotate(75.6deg)}.radial-progress[data-progress="42"] .circle .fill.fix{-webkit-transform:rotate(151.2deg);-ms-transform:rotate(151.2deg);transform:rotate(151.2deg)}.radial-progress[data-progress="43"] .circle .mask.full,.radial-progress[data-progress="43"] .circle .fill{-webkit-transform:rotate(77.4deg);-ms-transform:rotate(77.4deg);transform:rotate(77.4deg)}.radial-progress[data-progress="43"] .circle .fill.fix{-webkit-transform:rotate(154.8deg);-ms-transform:rotate(154.8deg);transform:rotate(154.8deg)}.radial-progress[data-progress="44"] .circle .mask.full,.radial-progress[data-progress="44"] .circle .fill{-webkit-transform:rotate(79.2deg);-ms-transform:rotate(79.2deg);transform:rotate(79.2deg)}.radial-progress[data-progress="44"] .circle .fill.fix{-webkit-transform:rotate(158.4deg);-ms-transform:rotate(158.4deg);transform:rotate(158.4deg)}.radial-progress[data-progress="45"] .circle .mask.full,.radial-progress[data-progress="45"] .circle .fill{-webkit-transform:rotate(81deg);-ms-transform:rotate(81deg);transform:rotate(81deg)}.radial-progress[data-progress="45"] .circle .fill.fix{-webkit-transform:rotate(162deg);-ms-transform:rotate(162deg);transform:rotate(162deg)}.radial-progress[data-progress="46"] .circle .mask.full,.radial-progress[data-progress="46"] .circle .fill{-webkit-transform:rotate(82.8deg);-ms-transform:rotate(82.8deg);transform:rotate(82.8deg)}.radial-progress[data-progress="46"] .circle .fill.fix{-webkit-transform:rotate(165.6deg);-ms-transform:rotate(165.6deg);transform:rotate(165.6deg)}.radial-progress[data-progress="47"] .circle .mask.full,.radial-progress[data-progress="47"] .circle .fill{-webkit-transform:rotate(84.6deg);-ms-transform:rotate(84.6deg);transform:rotate(84.6deg)}.radial-progress[data-progress="47"] .circle .fill.fix{-webkit-transform:rotate(169.2deg);-ms-transform:rotate(169.2deg);transform:rotate(169.2deg)}.radial-progress[data-progress="48"] .circle .mask.full,.radial-progress[data-progress="48"] .circle .fill{-webkit-transform:rotate(86.4deg);-ms-transform:rotate(86.4deg);transform:rotate(86.4deg)}.radial-progress[data-progress="48"] .circle .fill.fix{-webkit-transform:rotate(172.8deg);-ms-transform:rotate(172.8deg);transform:rotate(172.8deg)}.radial-progress[data-progress="49"] .circle .mask.full,.radial-progress[data-progress="49"] .circle .fill{-webkit-transform:rotate(88.2deg);-ms-transform:rotate(88.2deg);transform:rotate(88.2deg)}.radial-progress[data-progress="49"] .circle .fill.fix{-webkit-transform:rotate(176.4deg);-ms-transform:rotate(176.4deg);transform:rotate(176.4deg)}.radial-progress[data-progress="50"] .circle .mask.full,.radial-progress[data-progress="50"] .circle .fill{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.radial-progress[data-progress="50"] .circle .fill.fix{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.radial-progress[data-progress="51"] .circle .mask.full,.radial-progress[data-progress="51"] .circle .fill{-webkit-transform:rotate(91.8deg);-ms-transform:rotate(91.8deg);transform:rotate(91.8deg)}.radial-progress[data-progress="51"] .circle .fill.fix{-webkit-transform:rotate(183.6deg);-ms-transform:rotate(183.6deg);transform:rotate(183.6deg)}.radial-progress[data-progress="52"] .circle .mask.full,.radial-progress[data-progress="52"] .circle .fill{-webkit-transform:rotate(93.6deg);-ms-transform:rotate(93.6deg);transform:rotate(93.6deg)}.radial-progress[data-progress="52"] .circle .fill.fix{-webkit-transform:rotate(187.2deg);-ms-transform:rotate(187.2deg);transform:rotate(187.2deg)}.radial-progress[data-progress="53"] .circle .mask.full,.radial-progress[data-progress="53"] .circle .fill{-webkit-transform:rotate(95.4deg);-ms-transform:rotate(95.4deg);transform:rotate(95.4deg)}.radial-progress[data-progress="53"] .circle .fill.fix{-webkit-transform:rotate(190.8deg);-ms-transform:rotate(190.8deg);transform:rotate(190.8deg)}.radial-progress[data-progress="54"] .circle .mask.full,.radial-progress[data-progress="54"] .circle .fill{-webkit-transform:rotate(97.2deg);-ms-transform:rotate(97.2deg);transform:rotate(97.2deg)}.radial-progress[data-progress="54"] .circle .fill.fix{-webkit-transform:rotate(194.4deg);-ms-transform:rotate(194.4deg);transform:rotate(194.4deg)}.radial-progress[data-progress="55"] .circle .mask.full,.radial-progress[data-progress="55"] .circle .fill{-webkit-transform:rotate(99deg);-ms-transform:rotate(99deg);transform:rotate(99deg)}.radial-progress[data-progress="55"] .circle .fill.fix{-webkit-transform:rotate(198deg);-ms-transform:rotate(198deg);transform:rotate(198deg)}.radial-progress[data-progress="56"] .circle .mask.full,.radial-progress[data-progress="56"] .circle .fill{-webkit-transform:rotate(100.8deg);-ms-transform:rotate(100.8deg);transform:rotate(100.8deg)}.radial-progress[data-progress="56"] .circle .fill.fix{-webkit-transform:rotate(201.6deg);-ms-transform:rotate(201.6deg);transform:rotate(201.6deg)}.radial-progress[data-progress="57"] .circle .mask.full,.radial-progress[data-progress="57"] .circle .fill{-webkit-transform:rotate(102.6deg);-ms-transform:rotate(102.6deg);transform:rotate(102.6deg)}.radial-progress[data-progress="57"] .circle .fill.fix{-webkit-transform:rotate(205.2deg);-ms-transform:rotate(205.2deg);transform:rotate(205.2deg)}.radial-progress[data-progress="58"] .circle .mask.full,.radial-progress[data-progress="58"] .circle .fill{-webkit-transform:rotate(104.4deg);-ms-transform:rotate(104.4deg);transform:rotate(104.4deg)}.radial-progress[data-progress="58"] .circle .fill.fix{-webkit-transform:rotate(208.8deg);-ms-transform:rotate(208.8deg);transform:rotate(208.8deg)}.radial-progress[data-progress="59"] .circle .mask.full,.radial-progress[data-progress="59"] .circle .fill{-webkit-transform:rotate(106.2deg);-ms-transform:rotate(106.2deg);transform:rotate(106.2deg)}.radial-progress[data-progress="59"] .circle .fill.fix{-webkit-transform:rotate(212.4deg);-ms-transform:rotate(212.4deg);transform:rotate(212.4deg)}.radial-progress[data-progress="60"] .circle .mask.full,.radial-progress[data-progress="60"] .circle .fill{-webkit-transform:rotate(108deg);-ms-transform:rotate(108deg);transform:rotate(108deg)}.radial-progress[data-progress="60"] .circle .fill.fix{-webkit-transform:rotate(216deg);-ms-transform:rotate(216deg);transform:rotate(216deg)}.radial-progress[data-progress="61"] .circle .mask.full,.radial-progress[data-progress="61"] .circle .fill{-webkit-transform:rotate(109.8deg);-ms-transform:rotate(109.8deg);transform:rotate(109.8deg)}.radial-progress[data-progress="61"] .circle .fill.fix{-webkit-transform:rotate(219.6deg);-ms-transform:rotate(219.6deg);transform:rotate(219.6deg)}.radial-progress[data-progress="62"] .circle .mask.full,.radial-progress[data-progress="62"] .circle .fill{-webkit-transform:rotate(111.6deg);-ms-transform:rotate(111.6deg);transform:rotate(111.6deg)}.radial-progress[data-progress="62"] .circle .fill.fix{-webkit-transform:rotate(223.2deg);-ms-transform:rotate(223.2deg);transform:rotate(223.2deg)}.radial-progress[data-progress="63"] .circle .mask.full,.radial-progress[data-progress="63"] .circle .fill{-webkit-transform:rotate(113.4deg);-ms-transform:rotate(113.4deg);transform:rotate(113.4deg)}.radial-progress[data-progress="63"] .circle .fill.fix{-webkit-transform:rotate(226.8deg);-ms-transform:rotate(226.8deg);transform:rotate(226.8deg)}.radial-progress[data-progress="64"] .circle .mask.full,.radial-progress[data-progress="64"] .circle .fill{-webkit-transform:rotate(115.2deg);-ms-transform:rotate(115.2deg);transform:rotate(115.2deg)}.radial-progress[data-progress="64"] .circle .fill.fix{-webkit-transform:rotate(230.4deg);-ms-transform:rotate(230.4deg);transform:rotate(230.4deg)}.radial-progress[data-progress="65"] .circle .mask.full,.radial-progress[data-progress="65"] .circle .fill{-webkit-transform:rotate(117deg);-ms-transform:rotate(117deg);transform:rotate(117deg)}.radial-progress[data-progress="65"] .circle .fill.fix{-webkit-transform:rotate(234deg);-ms-transform:rotate(234deg);transform:rotate(234deg)}.radial-progress[data-progress="66"] .circle .mask.full,.radial-progress[data-progress="66"] .circle .fill{-webkit-transform:rotate(118.8deg);-ms-transform:rotate(118.8deg);transform:rotate(118.8deg)}.radial-progress[data-progress="66"] .circle .fill.fix{-webkit-transform:rotate(237.6deg);-ms-transform:rotate(237.6deg);transform:rotate(237.6deg)}.radial-progress[data-progress="67"] .circle .mask.full,.radial-progress[data-progress="67"] .circle .fill{-webkit-transform:rotate(120.6deg);-ms-transform:rotate(120.6deg);transform:rotate(120.6deg)}.radial-progress[data-progress="67"] .circle .fill.fix{-webkit-transform:rotate(241.2deg);-ms-transform:rotate(241.2deg);transform:rotate(241.2deg)}.radial-progress[data-progress="68"] .circle .mask.full,.radial-progress[data-progress="68"] .circle .fill{-webkit-transform:rotate(122.4deg);-ms-transform:rotate(122.4deg);transform:rotate(122.4deg)}.radial-progress[data-progress="68"] .circle .fill.fix{-webkit-transform:rotate(244.8deg);-ms-transform:rotate(244.8deg);transform:rotate(244.8deg)}.radial-progress[data-progress="69"] .circle .mask.full,.radial-progress[data-progress="69"] .circle .fill{-webkit-transform:rotate(124.2deg);-ms-transform:rotate(124.2deg);transform:rotate(124.2deg)}.radial-progress[data-progress="69"] .circle .fill.fix{-webkit-transform:rotate(248.4deg);-ms-transform:rotate(248.4deg);transform:rotate(248.4deg)}.radial-progress[data-progress="70"] .circle .mask.full,.radial-progress[data-progress="70"] .circle .fill{-webkit-transform:rotate(126deg);-ms-transform:rotate(126deg);transform:rotate(126deg)}.radial-progress[data-progress="70"] .circle .fill.fix{-webkit-transform:rotate(252deg);-ms-transform:rotate(252deg);transform:rotate(252deg)}.radial-progress[data-progress="71"] .circle .mask.full,.radial-progress[data-progress="71"] .circle .fill{-webkit-transform:rotate(127.8deg);-ms-transform:rotate(127.8deg);transform:rotate(127.8deg)}.radial-progress[data-progress="71"] .circle .fill.fix{-webkit-transform:rotate(255.6deg);-ms-transform:rotate(255.6deg);transform:rotate(255.6deg)}.radial-progress[data-progress="72"] .circle .mask.full,.radial-progress[data-progress="72"] .circle .fill{-webkit-transform:rotate(129.6deg);-ms-transform:rotate(129.6deg);transform:rotate(129.6deg)}.radial-progress[data-progress="72"] .circle .fill.fix{-webkit-transform:rotate(259.2deg);-ms-transform:rotate(259.2deg);transform:rotate(259.2deg)}.radial-progress[data-progress="73"] .circle .mask.full,.radial-progress[data-progress="73"] .circle .fill{-webkit-transform:rotate(131.4deg);-ms-transform:rotate(131.4deg);transform:rotate(131.4deg)}.radial-progress[data-progress="73"] .circle .fill.fix{-webkit-transform:rotate(262.8deg);-ms-transform:rotate(262.8deg);transform:rotate(262.8deg)}.radial-progress[data-progress="74"] .circle .mask.full,.radial-progress[data-progress="74"] .circle .fill{-webkit-transform:rotate(133.2deg);-ms-transform:rotate(133.2deg);transform:rotate(133.2deg)}.radial-progress[data-progress="74"] .circle .fill.fix{-webkit-transform:rotate(266.4deg);-ms-transform:rotate(266.4deg);transform:rotate(266.4deg)}.radial-progress[data-progress="75"] .circle .mask.full,.radial-progress[data-progress="75"] .circle .fill{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.radial-progress[data-progress="75"] .circle .fill.fix{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.radial-progress[data-progress="76"] .circle .mask.full,.radial-progress[data-progress="76"] .circle .fill{-webkit-transform:rotate(136.8deg);-ms-transform:rotate(136.8deg);transform:rotate(136.8deg)}.radial-progress[data-progress="76"] .circle .fill.fix{-webkit-transform:rotate(273.6deg);-ms-transform:rotate(273.6deg);transform:rotate(273.6deg)}.radial-progress[data-progress="77"] .circle .mask.full,.radial-progress[data-progress="77"] .circle .fill{-webkit-transform:rotate(138.6deg);-ms-transform:rotate(138.6deg);transform:rotate(138.6deg)}.radial-progress[data-progress="77"] .circle .fill.fix{-webkit-transform:rotate(277.2deg);-ms-transform:rotate(277.2deg);transform:rotate(277.2deg)}.radial-progress[data-progress="78"] .circle .mask.full,.radial-progress[data-progress="78"] .circle .fill{-webkit-transform:rotate(140.4deg);-ms-transform:rotate(140.4deg);transform:rotate(140.4deg)}.radial-progress[data-progress="78"] .circle .fill.fix{-webkit-transform:rotate(280.8deg);-ms-transform:rotate(280.8deg);transform:rotate(280.8deg)}.radial-progress[data-progress="79"] .circle .mask.full,.radial-progress[data-progress="79"] .circle .fill{-webkit-transform:rotate(142.2deg);-ms-transform:rotate(142.2deg);transform:rotate(142.2deg)}.radial-progress[data-progress="79"] .circle .fill.fix{-webkit-transform:rotate(284.4deg);-ms-transform:rotate(284.4deg);transform:rotate(284.4deg)}.radial-progress[data-progress="80"] .circle .mask.full,.radial-progress[data-progress="80"] .circle .fill{-webkit-transform:rotate(144deg);-ms-transform:rotate(144deg);transform:rotate(144deg)}.radial-progress[data-progress="80"] .circle .fill.fix{-webkit-transform:rotate(288deg);-ms-transform:rotate(288deg);transform:rotate(288deg)}.radial-progress[data-progress="81"] .circle .mask.full,.radial-progress[data-progress="81"] .circle .fill{-webkit-transform:rotate(145.8deg);-ms-transform:rotate(145.8deg);transform:rotate(145.8deg)}.radial-progress[data-progress="81"] .circle .fill.fix{-webkit-transform:rotate(291.6deg);-ms-transform:rotate(291.6deg);transform:rotate(291.6deg)}.radial-progress[data-progress="82"] .circle .mask.full,.radial-progress[data-progress="82"] .circle .fill{-webkit-transform:rotate(147.6deg);-ms-transform:rotate(147.6deg);transform:rotate(147.6deg)}.radial-progress[data-progress="82"] .circle .fill.fix{-webkit-transform:rotate(295.2deg);-ms-transform:rotate(295.2deg);transform:rotate(295.2deg)}.radial-progress[data-progress="83"] .circle .mask.full,.radial-progress[data-progress="83"] .circle .fill{-webkit-transform:rotate(149.4deg);-ms-transform:rotate(149.4deg);transform:rotate(149.4deg)}.radial-progress[data-progress="83"] .circle .fill.fix{-webkit-transform:rotate(298.8deg);-ms-transform:rotate(298.8deg);transform:rotate(298.8deg)}.radial-progress[data-progress="84"] .circle .mask.full,.radial-progress[data-progress="84"] .circle .fill{-webkit-transform:rotate(151.2deg);-ms-transform:rotate(151.2deg);transform:rotate(151.2deg)}.radial-progress[data-progress="84"] .circle .fill.fix{-webkit-transform:rotate(302.4deg);-ms-transform:rotate(302.4deg);transform:rotate(302.4deg)}.radial-progress[data-progress="85"] .circle .mask.full,.radial-progress[data-progress="85"] .circle .fill{-webkit-transform:rotate(153deg);-ms-transform:rotate(153deg);transform:rotate(153deg)}.radial-progress[data-progress="85"] .circle .fill.fix{-webkit-transform:rotate(306deg);-ms-transform:rotate(306deg);transform:rotate(306deg)}.radial-progress[data-progress="86"] .circle .mask.full,.radial-progress[data-progress="86"] .circle .fill{-webkit-transform:rotate(154.8deg);-ms-transform:rotate(154.8deg);transform:rotate(154.8deg)}.radial-progress[data-progress="86"] .circle .fill.fix{-webkit-transform:rotate(309.6deg);-ms-transform:rotate(309.6deg);transform:rotate(309.6deg)}.radial-progress[data-progress="87"] .circle .mask.full,.radial-progress[data-progress="87"] .circle .fill{-webkit-transform:rotate(156.6deg);-ms-transform:rotate(156.6deg);transform:rotate(156.6deg)}.radial-progress[data-progress="87"] .circle .fill.fix{-webkit-transform:rotate(313.2deg);-ms-transform:rotate(313.2deg);transform:rotate(313.2deg)}.radial-progress[data-progress="88"] .circle .mask.full,.radial-progress[data-progress="88"] .circle .fill{-webkit-transform:rotate(158.4deg);-ms-transform:rotate(158.4deg);transform:rotate(158.4deg)}.radial-progress[data-progress="88"] .circle .fill.fix{-webkit-transform:rotate(316.8deg);-ms-transform:rotate(316.8deg);transform:rotate(316.8deg)}.radial-progress[data-progress="89"] .circle .mask.full,.radial-progress[data-progress="89"] .circle .fill{-webkit-transform:rotate(160.2deg);-ms-transform:rotate(160.2deg);transform:rotate(160.2deg)}.radial-progress[data-progress="89"] .circle .fill.fix{-webkit-transform:rotate(320.4deg);-ms-transform:rotate(320.4deg);transform:rotate(320.4deg)}.radial-progress[data-progress="90"] .circle .mask.full,.radial-progress[data-progress="90"] .circle .fill{-webkit-transform:rotate(162deg);-ms-transform:rotate(162deg);transform:rotate(162deg)}.radial-progress[data-progress="90"] .circle .fill.fix{-webkit-transform:rotate(324deg);-ms-transform:rotate(324deg);transform:rotate(324deg)}.radial-progress[data-progress="91"] .circle .mask.full,.radial-progress[data-progress="91"] .circle .fill{-webkit-transform:rotate(163.8deg);-ms-transform:rotate(163.8deg);transform:rotate(163.8deg)}.radial-progress[data-progress="91"] .circle .fill.fix{-webkit-transform:rotate(327.6deg);-ms-transform:rotate(327.6deg);transform:rotate(327.6deg)}.radial-progress[data-progress="92"] .circle .mask.full,.radial-progress[data-progress="92"] .circle .fill{-webkit-transform:rotate(165.6deg);-ms-transform:rotate(165.6deg);transform:rotate(165.6deg)}.radial-progress[data-progress="92"] .circle .fill.fix{-webkit-transform:rotate(331.2deg);-ms-transform:rotate(331.2deg);transform:rotate(331.2deg)}.radial-progress[data-progress="93"] .circle .mask.full,.radial-progress[data-progress="93"] .circle .fill{-webkit-transform:rotate(167.4deg);-ms-transform:rotate(167.4deg);transform:rotate(167.4deg)}.radial-progress[data-progress="93"] .circle .fill.fix{-webkit-transform:rotate(334.8deg);-ms-transform:rotate(334.8deg);transform:rotate(334.8deg)}.radial-progress[data-progress="94"] .circle .mask.full,.radial-progress[data-progress="94"] .circle .fill{-webkit-transform:rotate(169.2deg);-ms-transform:rotate(169.2deg);transform:rotate(169.2deg)}.radial-progress[data-progress="94"] .circle .fill.fix{-webkit-transform:rotate(338.4deg);-ms-transform:rotate(338.4deg);transform:rotate(338.4deg)}.radial-progress[data-progress="95"] .circle .mask.full,.radial-progress[data-progress="95"] .circle .fill{-webkit-transform:rotate(171deg);-ms-transform:rotate(171deg);transform:rotate(171deg)}.radial-progress[data-progress="95"] .circle .fill.fix{-webkit-transform:rotate(342deg);-ms-transform:rotate(342deg);transform:rotate(342deg)}.radial-progress[data-progress="96"] .circle .mask.full,.radial-progress[data-progress="96"] .circle .fill{-webkit-transform:rotate(172.8deg);-ms-transform:rotate(172.8deg);transform:rotate(172.8deg)}.radial-progress[data-progress="96"] .circle .fill.fix{-webkit-transform:rotate(345.6deg);-ms-transform:rotate(345.6deg);transform:rotate(345.6deg)}.radial-progress[data-progress="97"] .circle .mask.full,.radial-progress[data-progress="97"] .circle .fill{-webkit-transform:rotate(174.6deg);-ms-transform:rotate(174.6deg);transform:rotate(174.6deg)}.radial-progress[data-progress="97"] .circle .fill.fix{-webkit-transform:rotate(349.2deg);-ms-transform:rotate(349.2deg);transform:rotate(349.2deg)}.radial-progress[data-progress="98"] .circle .mask.full,.radial-progress[data-progress="98"] .circle .fill{-webkit-transform:rotate(176.4deg);-ms-transform:rotate(176.4deg);transform:rotate(176.4deg)}.radial-progress[data-progress="98"] .circle .fill.fix{-webkit-transform:rotate(352.8deg);-ms-transform:rotate(352.8deg);transform:rotate(352.8deg)}.radial-progress[data-progress="99"] .circle .mask.full,.radial-progress[data-progress="99"] .circle .fill{-webkit-transform:rotate(178.2deg);-ms-transform:rotate(178.2deg);transform:rotate(178.2deg)}.radial-progress[data-progress="99"] .circle .fill.fix{-webkit-transform:rotate(356.4deg);-ms-transform:rotate(356.4deg);transform:rotate(356.4deg)}.radial-progress[data-progress="100"] .circle .mask.full,.radial-progress[data-progress="100"] .circle .fill{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.radial-progress[data-progress="100"] .circle .fill.fix{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}.radial-progress:not([data-progress="0"]) .inset .bgIcon{opacity:1}.radial-progress.radial-progress-success .circle .mask .fill{background-color:#5cb85c}.radial-progress.radial-progress-success .inset .percentage .number span{color:#5cb85c}.radial-progress.radial-progress-info .circle .mask .fill{background-color:#5bc0de}.radial-progress.radial-progress-info .inset .percentage .number span{color:#5bc0de}.radial-progress.radial-progress-danger .circle .mask .fill{background-color:#d9534f}.radial-progress.radial-progress-danger .inset .percentage .number span{color:#d9534f}.radial-progress.radial-progress-warning .circle .mask .fill{background-color:#f0ad4e}.radial-progress.radial-progress-warning .inset .percentage .number span{color:#f0ad4e}.radial-progress.radial-progress-sm{width:80px;height:80px}.radial-progress.radial-progress-sm .circle .mask{clip:rect(0px, 80px, 80px, 40px)}.radial-progress.radial-progress-sm .circle .mask .fill{clip:rect(0px, 40px, 80px, 0px)}.radial-progress.radial-progress-sm .inset{width:60px;height:60px;margin-left:10px;margin-top:10px;font-size:14.4px}.radial-progress.radial-progress-sm .inset .bgIcon{position:absolute;font-size:50px;top:5px;left:-2px}.radial-progress.radial-progress-lg{width:180px;height:180px}.radial-progress.radial-progress-lg .circle .mask{clip:rect(0px, 180px, 180px, 90px)}.radial-progress.radial-progress-lg .circle .mask .fill{clip:rect(0px, 90px, 180px, 0px)}.radial-progress.radial-progress-lg .inset{width:135px;height:135px;margin-left:22.5px;margin-top:22.5px;font-size:32.4px}.radial-progress.radial-progress-lg .inset .bgIcon{position:absolute;font-size:115px;top:5px;left:-6px}html{position:relative;min-height:100%}body{min-height:100%;margin-bottom:80px}#o_main_wrapper{background:#fff;z-index:3}#o_main_wrapper #o_main_container{background:#fff}#o_main_wrapper #o_main_container #o_main_left{float:left;z-index:2;position:relative;background:#fff}#o_main_wrapper #o_main_container #o_main_left #o_main_left_content{padding:0 0 0 15px}#o_main_wrapper #o_main_container #o_main_left #o_main_left_toggle{position:absolute;display:none;right:0;top:70px;margin-right:-30px;font-size:25px;line-height:35px;text-align:center;width:30px;height:35px;z-index:3;border:1px solid #ddd;border-left:none;border-bottom-right-radius:4px;border-top-right-radius:4px;background-color:#fbfbfb;-webkit-box-shadow:2px 0px 4px 1px rgba(0,0,0,0.15);box-shadow:2px 0px 4px 1px rgba(0,0,0,0.15);color:#3b678a}#o_main_wrapper #o_main_container #o_main_left.o_offcanvas{background:#fbfbfb;-webkit-box-shadow:0px 0px 6px 1px rgba(0,0,0,0.2);box-shadow:0px 0px 6px 1px rgba(0,0,0,0.2);min-width:250px}#o_main_wrapper #o_main_container #o_main_left.o_offcanvas #o_main_left_content{padding:0 0 0 0}#o_main_wrapper #o_main_container #o_main_right{float:right;z-index:2;position:relative;background:inherit}#o_main_wrapper #o_main_container #o_main_right #o_main_right_content{padding:0 15px 0 0}#o_main_wrapper #o_main_container #o_main_center{position:relative;z-index:1;background:inherit}#o_main_wrapper #o_main_container #o_main_center h2:first-child{margin-top:0}@media screen and (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center{margin-left:0 !important}}#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:0 15px}#o_main_wrapper #o_main_container #o_main_center #o_main_center_content #o_main_center_content_inner{padding-bottom:15px}#o_main_wrapper #o_toplink{position:absolute;bottom:0;right:15px;text-align:center;z-index:3}@media (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:15px}}#o_back_wrapper,#o_preview_wrapper{margin-top:10px}#o_back_wrapper.o_toolbar .o_breadcrumb .breadcrumb,#o_preview_wrapper.o_toolbar .o_breadcrumb .breadcrumb{font-size:14px}body.o_message #o_main_center_content_inner{min-height:150px;max-width:500px;padding:15px;margin:60px auto}#o_footer_wrapper{position:absolute;bottom:0;width:100%;height:70px;overflow:hidden;background-color:#f5f5f5;color:#999;line-height:16px;font-size:12px}#o_footer_wrapper a{color:#999}#o_footer_wrapper a:hover{color:#000}#o_footer_container{position:relative;padding-top:10px;min-height:70px;background:#f5f5f5;z-index:1}#o_footer_user{position:absolute;left:15px;top:10px;z-index:1}#o_footer_user #o_counter{white-space:nowrap}#o_footer_user #o_username{white-space:nowrap;margin-right:1em}#o_footer_version{position:absolute;right:15px;top:10px;text-align:right;z-index:1}@media (max-width: 767px){#o_footer_version{padding-top:10px;text-align:left}}#o_footer_powered{position:absolute;top:30px;right:15px;z-index:1}#o_footer_powered img{opacity:.6;filter:alpha(opacity=60)}#o_footer_powered img:hover{opacity:1;filter:alpha(opacity=100)}#o_footer_impressum{position:absolute;top:10px;width:100%;text-align:center;z-index:-1}#o_footer_impressum i{display:none}#o_footer_textline{position:absolute;top:30px;width:100%;text-align:center;z-index:-1}#o_share{margin-top:10px}#o_share a{opacity:.6;filter:alpha(opacity=60)}#o_share a:hover{opacity:1;filter:alpha(opacity=100)}#o_share a,#o_share_social_container a{color:#999;margin:0 0.25em 0 0}#o_share a:hover,#o_share_social_container a:hover{color:#000}@media (max-width: 767px){#o_counter,#o_footer_version,#o_share{display:none}#o_footer_impressum{top:30px;text-align:left}#o_footer_textline{top:50px;text-align:left}#o_footer_powered{top:10px}#o_footer_powered a:after{content:"\221E";font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:14px}#o_footer_powered img{display:none}}#o_navbar_wrapper{z-index:4;border-top:1px solid #e7e7e7;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1)}#o_navbar_wrapper #o_navbar_container{position:relative}a.o_disabled.navbar-text{margin:0}.o_navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid #e7e7e7;background-color:#f8f8f8}.o_navbar:before,.o_navbar:after{content:" ";display:table}.o_navbar:after{clear:both}.o_navbar .o_navbar_tabs li{max-width:150px}.o_navbar .o_navbar_tabs li a{padding-right:30px}.o_navbar .o_navbar_tabs li a:first-child span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.o_navbar .o_navbar_tabs .o_icon-fw{position:absolute;top:15px;left:0.5em;padding-top:3px;width:1em;height:1em;display:none}.o_navbar .o_navbar_tabs .o_navbar_tab_close{position:absolute;top:15px;right:0.5em;padding:0;width:1em;height:1em}.o_navbar .o_navbar_tabs .o_navbar_tab_close i:before{color:#d9534f}.o_navbar .o_navbar_tabs .o_navbar_tab_close:hover i:before{color:#c9302c}.o_navbar .o_custom_navbar-brand{background-position:5px 0;background-repeat:no-repeat;height:50px;width:120px}.o_navbar #o_navbar_langchooser{color:#777;padding:7px 15px}.o_navbar #o_navbar_langchooser form span+div{display:inline}.o_navbar #o_navbar_tools_permanent #o_navbar_print a,.o_navbar #o_navbar_tools_permanent #o_navbar_impress a,.o_navbar #o_navbar_tools_permanent #o_navbar_help a{color:#777;padding-right:0}.o_navbar #o_navbar_tools_permanent #o_navbar_login a{color:#f0ad4e}.o_navbar .o_navbar_tools>#o_navbar_tools_permanent>li>a>span{display:none}@media (min-width: 768px){.o_navbar .o_navbar_tools li.o_portrait>a>span{display:inline}}.o_navbar #o_navbar_tools_personal .o_navbar_tool a,.o_navbar #o_navbar_tools_permanent .o_navbar_tool a{padding-right:5px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu a,.o_navbar #o_navbar_tools_permanent #o_navbar_my_menu a{padding-left:45px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu .dropdown-menu a,.o_navbar #o_navbar_tools_permanent #o_navbar_my_menu .dropdown-menu a{padding-left:15px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu .o_portrait,.o_navbar #o_navbar_tools_permanent #o_navbar_my_menu .o_portrait{position:absolute;left:7px;top:10px}.o_navbar #o_navbar_tools_personal .o_logout,.o_navbar #o_navbar_tools_permanent .o_logout{color:#d9534f}.o_navbar.o_navbar-offcanvas .o_navbar_tab_close{top:10px;right:10px}.o_navbar.o_navbar-offcanvas .o_navbar-right a{padding:3px 20px;color:#9d9d9d}.o_navbar.o_navbar-offcanvas .o_navbar-right a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-right a:focus{color:#fff;background-color:transparent}.o_navbar.o_navbar-offcanvas .o_navbar-right a.o_logout{color:#d9534f}.o_navbar.o_navbar-offcanvas .o_navbar-right a.o_logout:hover,.o_navbar.o_navbar-offcanvas .o_navbar-right a.o_logout:focus{color:#c9302c}.o_navbar.o_navbar-offcanvas .o_navbar-right a .o_icon-lg{font-size:1.0em;vertical-align:baseline}.o_navbar.o_navbar-offcanvas .o_navbar-right .divider{height:1px;margin:9px 0;overflow:hidden;background-color:none}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-header{padding-left:15px}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-toggle{display:none}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-menu{box-shadow:none;position:relative;top:0;left:0;display:block;float:none;background-color:#222;color:#9d9d9d;font-size:14px;border:none}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-menu .divider{background:none}.o_navbar.o_navbar-offcanvas .o_navbar-nav a{color:#9d9d9d;text-shadow:none}.o_navbar.o_navbar-offcanvas .o_navbar-nav a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav a:focus{background-color:transparent;color:#fff}.o_navbar.o_navbar-offcanvas .o_navbar-nav .active a,.o_navbar.o_navbar-offcanvas .o_navbar-nav .active a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .active a:focus{background-color:#090909;color:#fff}.o_navbar.o_navbar-offcanvas .o_navbar-nav .o_navbar-link{color:#9d9d9d}.o_navbar.o_navbar-offcanvas .o_navbar-nav .o_navbar-link:hover{color:#fff}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>li>a{color:#777}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>li>a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.active>a,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.active>a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.disabled>a,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.disabled>a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}#o_navbar_impress a span,#o_navbar_search_opener a span{display:none}body.o_dmz #o_navbar_print a span,body.o_dmz #o_navbar_impress a span,body.o_dmz #o_navbar_help a span,body.o_dmz #o_navbar_search_opener a span{display:inline}.o_navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;-webkit-overflow-scrolling:touch}.o_navbar-collapse:before,.o_navbar-collapse:after{content:" ";display:table}.o_navbar-collapse:after{clear:both}.o_navbar-collapse.o_collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.o_navbar-offcanvas .o_navbar-collapse{width:auto;box-shadow:none;margin-top:10px;margin-right:-15px;margin-left:-15px}.o_navbar-brand{float:left;font-size:18px;line-height:20px;height:50px;color:#777}.o_navbar-brand:hover,.o_navbar-brand:focus{text-decoration:none;color:#5e5e5e;background-color:transparent}.o_navbar-toggle{position:relative;margin-right:15px;margin-left:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;border:1px solid #ddd;border-radius:4px;background-color:transparent;background-image:none}.o_navbar-toggle:hover,.o_navbar-toggle:focus{outline:none;background-color:#ddd}.o_navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px;background-color:#888}.o_navbar-toggle .icon-bar+.icon-bar{margin-top:4px}#o_navbar_left-toggle{float:left}#o_navbar_right-toggle{float:right}.o_navbar-link{color:#777}.o_navbar-link:hover{color:#333}.o_navbar-nav{margin:7.5px -15px}.o_navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px;color:#777}.o_navbar-nav>li>a:hover,.o_navbar-nav>li>a:focus{color:#333;background-color:transparent}.o_navbar-nav>.active>a,.o_navbar-nav>.active>a:hover,.o_navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.o_navbar-nav>.disabled>a,.o_navbar-nav>.disabled>a:hover,.o_navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.o_navbar-nav>.open>a,.o_navbar-nav>.open>a:hover,.o_navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}.o_collapse .o_navbar-nav{float:left;margin:0}.o_collapse .o_navbar-nav>li{float:left}.o_collapse .o_navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.o_collapse .o_navbar-nav.o_navbar-right:last-child{margin-right:-15px}.o_collapse.o_navbar-collapse .o_navbar-left{float:left !important}.o_collapse.o_navbar-collapse .o_navbar-right{float:right !important}.o_navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (max-width: 767px){.o_navbar-form .form-group{margin-bottom:5px}}.o_collapse .o_navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.o_collapse .o_navbar-form.o_navbar-right:last-child{margin-right:-15px}.o_navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.o_navbar-fixed-bottom .o_navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.o_navbar-btn{margin-top:8px;margin-bottom:8px}.o_navbar-btn.btn-sm,.btn-group-sm>.o_navbar-btn.btn{margin-top:10px;margin-bottom:10px}.o_navbar-btn.btn-xs,.btn-group-xs>.o_navbar-btn.btn{margin-top:14px;margin-bottom:14px}.o_navbar-text{margin-top:15px;margin-bottom:15px;color:#777}.o_collapse .o_navbar-text{float:left;margin-left:15px;margin-right:15px}.o_collapse .o_navbar-text.o_navbar-right:last-child{margin-right:0}.o_dropdown_tab{position:relative}.o_dropdown_tab>a:first-child{padding-right:30px}.o_dropdown_tab>a:first-child .o_icon-fw{display:none;position:absolute;top:0;left:10px;padding-top:3px;line-height:20px}.o_dropdown_tab>a:first-child span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.o_dropdown_tab .o_navbar_tab_close{position:absolute;top:0px;right:10px;padding-left:0px;padding-right:0px;color:#d9534f;background-color:inherit}.o_dropdown_tab .o_navbar_tab_close:focus,.o_dropdown_tab .o_navbar_tab_close:hover{color:#c9302c;background-color:inherit}#o_navbar_more .dropdown-menu .divider:last-child{display:none}@media (min-width: 768px){#o_navbar_more .dropdown-menu{max-width:300px}}@media (max-width: 767px){#o_navbar_more>li{position:inherit}#o_navbar_more .dropdown-menu{left:0px;right:0px}#o_navbar_more .dropdown-menu a,#o_navbar_more .dropdown-menu i{line-height:30px}#o_navbar_more .dropdown-menu .o_navbar_tab_close{line-height:inherit}}.o_body_popup #o_topnav_printview{display:inline-block}.o_body_popup #o_topnav_close{float:right}.o_body_popup #o_topnav_close span{display:block}.o_body_popup #o_navbar_tools_permanent li>a{background-color:transparent}.o_toolbar{position:relative;margin-bottom:20px;margin-top:-10px;border:1px solid #e7e7e7}.o_toolbar:before,.o_toolbar:after{content:" ";display:table}.o_toolbar:after{clear:both}@media (min-width: 768px){.o_toolbar{border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}}.o_toolbar .o_breadcrumb:before,.o_toolbar .o_breadcrumb:after{content:" ";display:table}.o_toolbar .o_breadcrumb:after{clear:both}.o_toolbar .o_breadcrumb .breadcrumb{margin-bottom:0;padding:5px 9px;font-size:11px;line-height:15px;border-radius:0;background:#f5f5f5;border-top-right-radius:4px;border-top-left-radius:4px}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close{float:right;position:relative;margin:0 0 0 15px;vertical-align:middle}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a{line-height:15px;color:#d9534f}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a:hover{color:#b52b27}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a i{font-size:16px}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a span{display:none}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close:before{content:none}.o_toolbar .o_tools_container{text-align:center;min-height:37px;position:relative;background-color:#f8f8f8;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.o_toolbar .o_tools_container:before,.o_toolbar .o_tools_container:after{content:" ";display:table}.o_toolbar .o_tools_container:after{clear:both}@media (max-width: 991px){.o_toolbar .o_tools_container{min-height:35px}}@media (max-width: 767px){.o_toolbar .o_tools_container{min-height:22px;text-align:left}}.o_toolbar .o_tools_container span.o_tool_text{color:#777;display:inline-block}.o_toolbar .o_tools_container a{color:#777;display:inline-block}.o_toolbar .o_tools_container a:hover{color:#333}.o_toolbar .o_tools_container a.o_disabled{color:#aaa !important}.o_toolbar .o_tools_container a.o_disabled:hover{color:#aaa !important}.o_toolbar .o_tools_container a.active{color:#3b678a;background-color:transparent}.o_toolbar .o_tools_container a.btn-primary{color:#fff}.o_toolbar .o_tools_container .dropdown-menu a{display:block}.o_toolbar .o_tools_container .dropdown-menu a.active{color:#3b678a;background-color:transparent}.o_toolbar .o_breadcrumb+.o_tools_container{border-top:1px solid #e7e7e7}.o_toolbar .o_tools{margin-top:8px;margin-bottom:5px}.o_toolbar .o_tool,.o_toolbar .o_text{position:relative;margin:0 10px}.o_toolbar .o_tool:first-child,.o_toolbar .o_text:first-child{margin-left:0}.o_toolbar .o_tool:last-child,.o_toolbar .o_text:last-child{margin-right:0}.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:18px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{display:block;font-size:12px}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{position:absolute;right:50%;top:-18px;margin-right:-12px;font-size:13px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:16px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{font-size:11px}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{top:-16.5px;margin-right:-11px;font-size:12px}}@media (max-width: 767px){.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:20px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{display:none}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{display:block;position:relative;top:0;left:0;margin-right:0}}.o_toolbar .o_tool .o_chelp,.o_toolbar .o_text .o_chelp{position:relative;top:-1em;vertical-align:top;color:#fff}.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{padding:0;margin-top:5px;border:1px solid #ccc;background-color:#eee}.o_toolbar .o_tool_next a,.o_toolbar .o_tool_previous a{color:#777}.o_toolbar .o_tool_next a:hover,.o_toolbar .o_tool_previous a:hover{color:#333}.o_toolbar .o_tool_next a.o_disabled,.o_toolbar .o_tool_previous a.o_disabled{color:#aaa !important}.o_toolbar .o_tool_next a.o_disabled:hover,.o_toolbar .o_tool_previous a.o_disabled:hover{color:#aaa !important}.o_toolbar .o_tool_next i,.o_toolbar .o_tool_previous i{font-size:21px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{margin-top:4px}.o_toolbar .o_tool_next i,.o_toolbar .o_tool_previous i{font-size:18px}}@media (max-width: 767px){.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{margin-top:0}.o_toolbar .o_tool_next i,.o_toolbar .o_tool_previous i{font-size:20px}}.o_toolbar .o_tool_previous{margin-left:10px;border-bottom-left-radius:4px;border-top-left-radius:4px;border-right:0}.o_toolbar .o_tool_next{border-bottom-right-radius:4px;border-top-right-radius:4px}.o_toolbar .o_tool_dropdown{margin:0 10px}.o_toolbar .o_tool_dropdown:first-child{margin-left:0}.o_toolbar .o_tool_dropdown:last-child{margin-right:0}.o_toolbar .o_tool_dropdown a.dropdown-toggle{position:relative}.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:18px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span{display:block;font-size:12px}.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{position:absolute;right:50%;top:4px;margin-right:-20px;font-size:14px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:16px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span,.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{font-size:11px}.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{top:4px;margin-right:-18px;font-size:12px}}@media (max-width: 767px){.o_toolbar .o_tool_dropdown a.dropdown-toggle{padding:0 10px 0 5px}.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:20px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span{display:none}}.o_toolbar .o_tool_dropdown .dropdown-menu{text-align:left}.o_toolbar .o_tools_left{float:left}.o_toolbar .o_tools_right{float:right}.o_toolbar .o_tools_right_edge{float:right}.o_toolbar .o_tools_center{float:both;width:50%;margin-left:auto;margin-right:auto}.o_toolbar .o_tools_segments{margin:0 auto -1.1em auto}.o_toolbar .o_tools_segments.o_tools_segments_alone{margin-top:1.5em}@media (max-width: 991px){.o_toolbar .o_tools{margin-top:6px;margin-bottom:4px}.o_toolbar .o_tools.o_tools_segments{margin:0 auto -1.1em auto}.o_toolbar .o_tool span{max-width:10em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_toolbar .o_tools_segments .o_tool span{display:block}.o_toolbar .o_tool,.o_toolbar .o_text,.o_toolbar .o_tool_dropdown{margin:0 5px}}@media (max-width: 767px){.o_toolbar .o_tools{margin-top:6px;margin-bottom:4px}.o_toolbar .o_tools .o_chelp{top:0;vertical-align:top}.o_toolbar .o_tools.o_tools_segments{margin:0 auto -1.1em auto;text-align:center}.o_toolbar .o_tools_center{float:left}.o_toolbar .o_tool,.o_toolbar .o_text,.o_toolbar .o_tool_dropdown{margin:0 0;position:static}.o_toolbar .o_tool_dropdown .dropdown-menu{left:0px;right:0px}.o_toolbar .o_tool_dropdown .dropdown-menu a,.o_toolbar .o_tool_dropdown .dropdown-menu i{line-height:30px}.o_toolbar .o_tool_dropdown .dropdown-menu .o_navbar_tab_close{line-height:inherit}}#o_main_container .o_toolbar_message{display:table;margin:0 auto 20px auto}#o_main_container .o_toolbar_message.o_warning{padding-top:5px;padding-bottom:5px;border:1px solid #8a6d3b;border-radius:3px}.o_edit_mode .o_toolbar .o_tools_container{background:repeating-linear-gradient(300deg, #fff0d9, #fff0d9 10px, #fcfcfc 10px, #fcfcfc 20px)}.o_edit_mode .o_toolbar .o_edit_mode .o_tools_container{background:#f8f8f8}body{overflow-x:hidden}.o_container_offcanvas{position:relative;max-width:1324px;-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;-m-transition:all .25s ease-in-out;transition:all .25s ease-in-out}#o_offcanvas_right{position:absolute;top:0;right:-250px;width:250px;padding:15px 15px;background-color:#222;color:#9d9d9d;border:1px solid #090909;-webkit-box-shadow:0px 0px 4px 3px rgba(0,0,0,0.25);box-shadow:0px 0px 4px 3px rgba(0,0,0,0.25);min-height:100%;z-index:10;display:none}#o_offcanvas_right:before,#o_offcanvas_right:after{content:" ";display:table}#o_offcanvas_right:after{clear:both}@media screen and (max-width: 767px){.row-offcanvas{position:relative;-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;transition:all .25s ease-out}.row-offcanvas-right{right:0}.row-offcanvas-right .sidebar-offcanvas{right:-50%}.row-offcanvas-right.active{right:50%}.row-offcanvas-left{left:0}.row-offcanvas-left .sidebar-offcanvas{left:-50%}.row-offcanvas-left.active{left:50%}.sidebar-offcanvas{position:absolute;top:0;width:50%}}.o_info,.b_info,p.b_info,div.b_info,.o_form .o_info,.o_togglebox_wrapper div.o_togglebox_content,div.o_qti_item_itemfeedback,.o_assessmentitem_wrapper .modalFeedback .o_info{margin:20px 0;padding:20px;border-left:3px solid #777;background-color:#eee}.o_info h2,.o_info h3,.o_info h4,.o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_info h2,.o_info h5,.b_info h2,.o_form .o_info h2,.o_togglebox_wrapper div.o_togglebox_content h2,div.o_qti_item_itemfeedback h2,.o_assessmentitem_wrapper .modalFeedback .o_info h2,.b_info h3,.o_form .o_info h3,.o_togglebox_wrapper div.o_togglebox_content h3,div.o_qti_item_itemfeedback h3,.o_assessmentitem_wrapper .modalFeedback .o_info h3,.b_info h4,.o_form .o_info h4,.o_togglebox_wrapper div.o_togglebox_content h4,div.o_qti_item_itemfeedback h4,.o_assessmentitem_wrapper .modalFeedback .o_info h4,.b_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_info h2,.o_form .o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_info h2,.o_togglebox_wrapper div.o_togglebox_content .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_togglebox_wrapper div.o_togglebox_content h2,div.o_qti_item_itemfeedback .o_cal .fc-header-title h2,.o_cal .fc-header-title div.o_qti_item_itemfeedback h2,.o_assessmentitem_wrapper .modalFeedback .o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info h2,.b_info h5,.o_form .o_info h5,.o_togglebox_wrapper div.o_togglebox_content h5,div.o_qti_item_itemfeedback h5,.o_assessmentitem_wrapper .modalFeedback .o_info h5{color:#777}.o_note,.b_note,p.b_note,div.b_note,.o_form .o_desc,.o_course_run .o_statusinfo,.o_course_stats .o_desc,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment{margin:20px 0;padding:20px;border-left:3px solid #31708f;background-color:#d9edf7}.o_note h2,.o_note h3,.o_note h4,.o_note .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_note h2,.o_note h5,.b_note h2,.o_form .o_desc h2,.o_course_run .o_statusinfo h2,.o_course_stats .o_desc h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h2,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h2,.b_note h3,.o_form .o_desc h3,.o_course_run .o_statusinfo h3,.o_course_stats .o_desc h3,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h3,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h3,.b_note h4,.o_form .o_desc h4,.o_course_run .o_statusinfo h4,.o_course_stats .o_desc h4,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h4,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h4,.b_note .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_note h2,.o_form .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_desc h2,.o_course_run .o_statusinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_statusinfo h2,.o_course_stats .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_stats .o_desc h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h2,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h2,.b_note h5,.o_form .o_desc h5,.o_course_run .o_statusinfo h5,.o_course_stats .o_desc h5,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h5,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h5{color:#31708f}.o_important,.b_important,p.b_important,div.b_important,.o_bc_empty,.o_course_run .o_no_scoreinfo{margin:20px 0;padding:20px;border-left:3px solid #F4D000;background-color:#FFF1A4}.o_important h2,.o_important h3,.o_important h4,.o_important .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_important h2,.o_important h5,.b_important h2,.o_bc_empty h2,.o_course_run .o_no_scoreinfo h2,.b_important h3,.o_bc_empty h3,.o_course_run .o_no_scoreinfo h3,.b_important h4,.o_bc_empty h4,.o_course_run .o_no_scoreinfo h4,.b_important .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_important h2,.o_bc_empty .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_bc_empty h2,.o_course_run .o_no_scoreinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_no_scoreinfo h2,.b_important h5,.o_bc_empty h5,.o_course_run .o_no_scoreinfo h5{color:#F4D000}.o_success,.b_success,p.b_success,div.b_success,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback{margin:20px 0;padding:20px;border-left:3px solid #3c763d;background-color:#dff0d8}.o_success h2,.o_success h3,.o_success h4,.o_success .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_success h2,.o_success h5,.b_success h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h2,.b_success h3,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h3,.b_success h4,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h4,.b_success .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_success h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h2,.b_success h5,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h5{color:#3c763d}.o_warning,.b_warning,p.b_warning,div.b_warning,.o_instruction,.o_form .o_warning,p.o_gta_reopen_warning{margin:20px 0;padding:20px;border-left:3px solid #8a6d3b;background-color:#fcf8e3}.o_warning h2,.o_warning h3,.o_warning h4,.o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_warning h2,.o_warning h5,.b_warning h2,.o_instruction h2,.o_form .o_warning h2,p.o_gta_reopen_warning h2,.b_warning h3,.o_instruction h3,.o_form .o_warning h3,p.o_gta_reopen_warning h3,.b_warning h4,.o_instruction h4,.o_form .o_warning h4,p.o_gta_reopen_warning h4,.b_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_warning h2,.o_instruction .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_instruction h2,.o_form .o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_warning h2,p.o_gta_reopen_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title p.o_gta_reopen_warning h2,.b_warning h5,.o_instruction h5,.o_form .o_warning h5,p.o_gta_reopen_warning h5{color:#8a6d3b}.o_error,.b_error,p.b_error,div.b_error,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback{margin:20px 0;padding:20px;border-left:3px solid #a94442;background-color:#f2dede}.o_error h2,.o_error h3,.o_error h4,.o_error .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_error h2,.o_error h5,.b_error h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h2,.b_error h3,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h3,.b_error h4,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h4,.b_error .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_error h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h2,.b_error h5,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h5{color:#a94442}.o_instruction{margin-top:0px;border-left:none;padding-top:10px;padding-bottom:10px}.o_instruction>.o_button_group{margin-bottom:0px}div.o_callout_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1;background:#000;opacity:0;filter:alpha(opacity=0)}.o_alert_info{position:fixed;top:-100%;left:0;display:none;z-index:2000;width:100%;text-align:center}.o_alert_info .alert{position:relative;width:auto;margin:0 auto;text-align:left;-webkit-box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15);box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15)}.o_alert_info .alert .o_alert_close{float:right;color:#777}.o_alert_info .alert .o_alert_close:hover{color:#555}@media (min-width: 768px){.o_alert_info .alert{width:600px}}#o_msg_sticky,#o_msg_sticky_preview{position:relative;color:#a94442;background-color:#f2dede;border:1px solid #ebccd1;padding:10px 16px 10px 60px;min-height:40px;margin:-20px 0 20px 0}#o_msg_sticky .o_icon_info_msg,#o_msg_sticky_preview .o_icon_info_msg{position:absolute;left:10px;top:5px;font-size:40px}#o_msg_sticky.o_msg_sticky_fullscreen,#o_msg_sticky_preview.o_msg_sticky_fullscreen{margin-top:0}@media (min-width: 768px){.modal .o_modal_fullwidth{width:90%}}@media (min-width: 992px){.modal .o_modal_fullwidth{width:80%}}.modal .modal-header h4,.modal .modal-header .o_cal .fc-header-title h2,.o_cal .fc-header-title .modal .modal-header h2{color:#3b678a;font-weight:500;font-family:inherit;line-height:1.1}.o_tree{position:relative;display:block;background-color:none;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;overflow:hidden;font-size:14px}.o_tree a{color:#777;background-color:none}.o_tree a:hover,.o_tree a:focus{color:#333}.o_tree .o_tree_link{background-color:none}.o_tree .o_tree_link:hover,.o_tree .o_tree_link:focus{background-color:#f8f8f8}.o_tree .o_tree_link:first-child{background-color:transparent}.o_tree .o_tree_link:last-child:hover,.o_tree .o_tree_link:last-child:focus{background-color:#f8f8f8}.o_tree .o_insertion_point>a>span{padding:5px;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.o_tree .o_insertion_source>a>span.o_tree_item,.o_tree .o_insertion_source>a>span.o_dnd_item{border-bottom:solid #f90 4px;background-color:#fefbf6}.o_tree ul{margin:0;padding:0;list-style-type:none}.o_tree ul li{margin:0;padding:0;white-space:nowrap}.o_tree ul li div{position:relative;margin-bottom:-1px;border-bottom:1px solid #ddd}.o_tree ul li div.popover{position:absolute;left:auto;right:0}.o_tree ul li div a.o_tree_oc_l0{position:absolute;top:10px;left:-4px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l0,.o_tree ul .o_tree_level_close.b_tree_oc_l0{z-index:10}.o_tree ul li div a.o_tree_oc_l1{position:absolute;top:10px;left:11px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l1,.o_tree ul .o_tree_level_close.b_tree_oc_l1{z-index:10}.o_tree ul li div a.o_tree_oc_l2{position:absolute;top:10px;left:26px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l2,.o_tree ul .o_tree_level_close.b_tree_oc_l2{z-index:10}.o_tree ul li div a.o_tree_oc_l3{position:absolute;top:10px;left:41px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l3,.o_tree ul .o_tree_level_close.b_tree_oc_l3{z-index:10}.o_tree ul li div a.o_tree_oc_l4{position:absolute;top:10px;left:56px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l4,.o_tree ul .o_tree_level_close.b_tree_oc_l4{z-index:10}.o_tree ul li div a.o_tree_oc_l5{position:absolute;top:10px;left:71px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l5,.o_tree ul .o_tree_level_close.b_tree_oc_l5{z-index:10}.o_tree ul li div a.o_tree_oc_l6{position:absolute;top:10px;left:86px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l6,.o_tree ul .o_tree_level_close.b_tree_oc_l6{z-index:10}.o_tree ul li div a.o_tree_oc_l7{position:absolute;top:10px;left:101px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l7,.o_tree ul .o_tree_level_close.b_tree_oc_l7{z-index:10}.o_tree ul li div a.o_tree_oc_l8{position:absolute;top:10px;left:116px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l8,.o_tree ul .o_tree_level_close.b_tree_oc_l8{z-index:10}.o_tree ul li div a.o_tree_oc_l9{position:absolute;top:10px;left:131px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l9,.o_tree ul .o_tree_level_close.b_tree_oc_l9{z-index:10}.o_tree ul li div a.o_tree_oc_l10{position:absolute;top:10px;left:146px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l10,.o_tree ul .o_tree_level_close.b_tree_oc_l10{z-index:10}.o_tree ul li div a.o_tree_oc_l11{position:absolute;top:10px;left:161px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l11,.o_tree ul .o_tree_level_close.b_tree_oc_l11{z-index:10}.o_tree ul li div span.o_tree_l0{display:block;padding:10px 2px 10px 10px;z-index:9}.o_tree ul li div span.o_tree_l1{display:block;padding:10px 2px 10px 25px;z-index:9}.o_tree ul li div span.o_tree_l2{display:block;padding:10px 2px 10px 40px;z-index:9}.o_tree ul li div span.o_tree_l3{display:block;padding:10px 2px 10px 55px;z-index:9}.o_tree ul li div span.o_tree_l4{display:block;padding:10px 2px 10px 70px;z-index:9}.o_tree ul li div span.o_tree_l5{display:block;padding:10px 2px 10px 85px;z-index:9}.o_tree ul li div span.o_tree_l6{display:block;padding:10px 2px 10px 100px;z-index:9}.o_tree ul li div span.o_tree_l7{display:block;padding:10px 2px 10px 115px;z-index:9}.o_tree ul li div span.o_tree_l8{display:block;padding:10px 2px 10px 130px;z-index:9}.o_tree ul li div span.o_tree_l9{display:block;padding:10px 2px 10px 145px;z-index:9}.o_tree ul li div span.o_tree_l10{display:block;padding:10px 2px 10px 160px;z-index:9}.o_tree ul li div span.o_tree_l11{display:block;padding:10px 2px 10px 175px;z-index:9}.o_tree ul span.o_tree_leaf{display:none}.o_tree ul span.o_tree_link>input[type=checkbox]{margin-right:5px}.o_tree ul li .badge{position:absolute;font-size:70%}.o_tree ul li .badge:before{content:none}.o_tree ul li .badge.o_badge_1{top:3px;right:1px}.o_tree ul li .badge.o_badge_2{bottom:3px;right:1px}.o_tree ul li .badge.o_badge_3{top:3px;right:25px}.o_tree ul li .badge.o_badge_4{bottom:3px;right:25px}.o_tree ul li div.o_dnd_sibling{margin:0;padding:0;border-bottom:none}.o_tree ul li .active.o_tree_link{background-color:none;font-weight:bold}.o_tree ul li .active.o_tree_link a{color:#3b678a}.o_tree ul li .active.o_tree_link:hover,.o_tree ul li .active.o_tree_link:focus{background-color:#eee}.o_tree ul li .active.o_tree_link:hover a,.o_tree ul li .active.o_tree_link:focus a{color:#243f54}.o_tree ul li .active_parent.o_tree_link{font-weight:bold}.o_tree ul li .active_parent.o_tree_link a{color:#777}.o_tree ul li .active_parent.o_tree_link a:hover,.o_tree ul li .active_parent.o_tree_link a:focus{color:#333}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l0{left:6px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l1{left:21px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l2{left:36px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l3{left:51px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l4{left:66px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l5{left:81px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l6{left:96px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l7{left:111px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l8{left:126px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l9{left:141px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l10{left:156px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l11{left:171px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l0{padding:10px 2px 10px 20px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l1{padding:10px 2px 10px 35px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l2{padding:10px 2px 10px 50px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l3{padding:10px 2px 10px 65px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l4{padding:10px 2px 10px 80px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l5{padding:10px 2px 10px 95px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l6{padding:10px 2px 10px 110px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l7{padding:10px 2px 10px 125px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l8{padding:10px 2px 10px 140px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l9{padding:10px 2px 10px 155px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l10{padding:10px 2px 10px 170px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l11{padding:10px 2px 10px 185px}.o_tree .o_dnd_item{cursor:move;z-index:100}.o_tree .o_dnd_proxy{opacity:.4;filter:alpha(opacity=40);background-color:#f0ad4e;padding:5px 10px 5px 10px;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.o_tree .o_dnd_item.o_dnd_over{background-color:#ffff60}.o_tree .o_dnd_sibling{height:7px;width:100%}.o_tree .o_dnd_sibling.o_dnd_over{background:transparent url(../light/images/arrow_dd.png) top left no-repeat}.o_tree .o_dnd_l1{margin-left:0 !important}.o_tree .o_dnd_l2{margin-left:1em !important}.o_tree .o_dnd_l3{margin-left:2em !important}.o_tree .o_dnd_l4{margin-left:3em !important}.o_tree .o_dnd_l5{margin-left:4em !important}.o_tree .o_dnd_l6{margin-left:5em !important}.o_tree .o_dnd_l7{margin-left:6em !important}.o_tree .o_dnd_l8{margin-left:7em !important}.o_tree .o_dnd_l9{margin-left:8em !important}.o_tree .o_dnd_l10{margin-left:9em !important}.o_tree .o_dnd_l11{margin-left:10em !important}.o_tree.o_tree_insert_tool span.o_tree_link a{display:block}.o_offcanvas .o_tree{border:0}.o_selection_tree{position:relative;display:block;background-color:none;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;overflow:hidden;font-size:14px}.o_selection_tree ul{margin:0;padding:0;list-style-type:none}.o_selection_tree li{margin:0;padding:0;white-space:nowrap}.o_selection_tree li div{position:relative;margin-bottom:-1px;border-bottom:1px solid #ddd}.o_selection_tree li>div>span.o_tree_l0,.o_selection_tree li>div>div.checkbox.o_tree_l0,.o_selection_tree li>div>div.radio.o_tree_l0{display:block;padding:10px 2px 10px 10px;z-index:9}.o_selection_tree li>div>span.o_tree_l1,.o_selection_tree li>div>div.checkbox.o_tree_l1,.o_selection_tree li>div>div.radio.o_tree_l1{display:block;padding:10px 2px 10px 25px;z-index:9}.o_selection_tree li>div>span.o_tree_l2,.o_selection_tree li>div>div.checkbox.o_tree_l2,.o_selection_tree li>div>div.radio.o_tree_l2{display:block;padding:10px 2px 10px 40px;z-index:9}.o_selection_tree li>div>span.o_tree_l3,.o_selection_tree li>div>div.checkbox.o_tree_l3,.o_selection_tree li>div>div.radio.o_tree_l3{display:block;padding:10px 2px 10px 55px;z-index:9}.o_selection_tree li>div>span.o_tree_l4,.o_selection_tree li>div>div.checkbox.o_tree_l4,.o_selection_tree li>div>div.radio.o_tree_l4{display:block;padding:10px 2px 10px 70px;z-index:9}.o_selection_tree li>div>span.o_tree_l5,.o_selection_tree li>div>div.checkbox.o_tree_l5,.o_selection_tree li>div>div.radio.o_tree_l5{display:block;padding:10px 2px 10px 85px;z-index:9}.o_selection_tree li>div>span.o_tree_l6,.o_selection_tree li>div>div.checkbox.o_tree_l6,.o_selection_tree li>div>div.radio.o_tree_l6{display:block;padding:10px 2px 10px 100px;z-index:9}.o_selection_tree li>div>span.o_tree_l7,.o_selection_tree li>div>div.checkbox.o_tree_l7,.o_selection_tree li>div>div.radio.o_tree_l7{display:block;padding:10px 2px 10px 115px;z-index:9}.o_selection_tree li>div>span.o_tree_l8,.o_selection_tree li>div>div.checkbox.o_tree_l8,.o_selection_tree li>div>div.radio.o_tree_l8{display:block;padding:10px 2px 10px 130px;z-index:9}.o_selection_tree li>div>span.o_tree_l9,.o_selection_tree li>div>div.checkbox.o_tree_l9,.o_selection_tree li>div>div.radio.o_tree_l9{display:block;padding:10px 2px 10px 145px;z-index:9}.o_selection_tree li>div>span.o_tree_l10,.o_selection_tree li>div>div.checkbox.o_tree_l10,.o_selection_tree li>div>div.radio.o_tree_l10{display:block;padding:10px 2px 10px 160px;z-index:9}.o_selection_tree li>div>span.o_tree_l11,.o_selection_tree li>div>div.checkbox.o_tree_l11,.o_selection_tree li>div>div.radio.o_tree_l11{display:block;padding:10px 2px 10px 175px;z-index:9}.o_breadcrumb{position:relative}.o_breadcrumb .o_breadcrumb_close{float:right;position:relative;margin:0 0 0 15px;vertical-align:middle}.o_breadcrumb .o_breadcrumb_close a{line-height:15px;color:#d9534f}.o_breadcrumb .o_breadcrumb_close a:hover{color:#b52b27}.o_breadcrumb .o_breadcrumb_close a i{font-size:16px}.o_breadcrumb .o_breadcrumb_close a span{display:none}.o_breadcrumb .o_breadcrumb_close:before{content:none}.o_form .o_icon_mandatory{margin-right:0.25em}.o_form .o_form_chelp{padding-left:0.25em;margin-right:-1.25em}.o_form .o_form_example{font-size:90%}.o_form .o_error{margin-top:1px;margin-bottom:0;padding:10px}.o_form hr.o_spacer_noline{border-top:1px solid transparent}.o_form hr.o_spacer.form,.o_form hr.o_spacer_noline.form{margin-top:0px;margin-bottom:0px}.o_form .form-group.o_omit_margin{margin-bottom:0}.o_form .o_date{position:relative;padding-right:34px}.o_form .o_date.form-inline .form-group,.o_form .o_date.o_navbar-form .form-group{margin-left:0}.o_form input.o_date_ms{width:3em}.o_form .o_date.form-inline .o_date_ms.form-group,.o_form .o_date.o_navbar-form .o_date_ms.form-group{margin-left:25px}.o_form .has-feedback .o_date.form-inline .form-control.o_date_ms,.o_form .has-feedback .o_date.o_navbar-form .form-control.o_date_ms{padding-right:0}.o_form .o_form_element.form-inline .o_form_element.form-group,.o_form .o_form_element.o_navbar-form .o_form_element.form-group{margin-left:25px}.o_form .input-group.o_date_picker{width:12em}.o_form .o_filepreview{margin-bottom:10px}.o_form .o_fileinput{cursor:pointer;position:relative}.o_form .o_fileinput .o_fakechooser{position:relative;z-index:1}.o_form .o_fileinput .o_realchooser{position:absolute;top:0;right:0;z-index:2;opacity:0;filter:alpha(opacity=0)}.o_form .o_fileinput .o_realchooser.o_chooser_with_delete{right:38px}.o_form .o_fileElement.has-error .o_icon_error.form-control-feedback{display:none}.o_form .form-control.textarea_disabled{resize:both;overflow:auto;white-space:pre-wrap;background:#fafafa}.o_centered_form{text-align:center}.o_centered_form fieldset.o_form{display:inline-block;text-align:left}.o_choice_checkrow,.o_choice_textrow{vertical-align:text-top;padding-bottom:2px}.o_choice_textrow{padding-left:1em}.o_togglecheck a{white-space:nowrap}.o_catalog .o_catalog_delete_img{position:relative;top:-0.5em}.o_button_dirty{color:#fff;background-color:#f0ad4e;border-color:#eea236}.o_button_dirty:hover,.o_button_dirty:focus,.o_button_dirty.focus,.o_button_dirty:active,.o_button_dirty.active,.open>.o_button_dirty.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.o_button_dirty:active,.o_button_dirty.active,.open>.o_button_dirty.dropdown-toggle{background-image:none}.o_button_dirty.disabled,.o_button_dirty.disabled:hover,.o_button_dirty.disabled:focus,.o_button_dirty.disabled.focus,.o_button_dirty.disabled:active,.o_button_dirty.disabled.active,.o_button_dirty[disabled],.o_button_dirty[disabled]:hover,.o_button_dirty[disabled]:focus,.o_button_dirty[disabled].focus,.o_button_dirty[disabled]:active,.o_button_dirty[disabled].active,fieldset[disabled] .o_button_dirty,fieldset[disabled] .o_button_dirty:hover,fieldset[disabled] .o_button_dirty:focus,fieldset[disabled] .o_button_dirty.focus,fieldset[disabled] .o_button_dirty:active,fieldset[disabled] .o_button_dirty.active{background-color:#f0ad4e;border-color:#eea236}.o_button_dirty .badge{color:#f0ad4e;background-color:#fff}.o_button_toggle{border:1px solid #777;border-top-right-radius:9px;border-top-left-radius:9px;border-bottom-right-radius:9px;border-bottom-left-radius:9px;background:#eee;display:inline-block;height:18px;line-height:16px;font-size:16px;text-align:left;padding:0 0.5em 0 1px;margin:0}.o_button_toggle i{color:#777;text-shadow:1px 0 2px rgba(0,0,0,0.25)}.o_button_toggle span{line-height:16px;vertical-align:top;font-size:60%;color:#777;text-transform:uppercase}.o_button_toggle.o_on{text-align:right;padding:0 1px 0 0.5em}.o_button_toggle.o_on i{color:#3b678a;text-shadow:-1px 0 2px rgba(0,0,0,0.25)}.o_table_wrapper{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.o_table_wrapper.o_table_flexi .o_table_body{margin-top:20px}.o_table_wrapper.o_table_flexi .table{margin-top:20px}.o_table_wrapper.o_table_flexi .table td ul{margin:0}.o_table_wrapper.o_table_flexi.o_table_no_margin .table{margin:0}.o_table_wrapper.o_table_flexi tfoot{border-top:solid #ddd 2px}.o_table_wrapper.o_table_edit table tbody{border-top:solid #f90 4px;background-color:#fefbf6}.o_table_wrapper .o_table_search{max-width:50em}.o_table_wrapper .o_table_footer .o_table_pagination{text-align:center}.o_table_wrapper .o_table_rows_infos{float:left;padding-left:0;padding-right:20px;margin:20px 0}.o_table_wrapper .o_row_selected td{background-color:#dff0d8 !important}.o_table_wrapper .o_table{margin-bottom:0}.o_table_wrapper .o_marked{font-weight:bold}.o_table_wrapper .table{margin-bottom:0}.o_table_wrapper th a,.o_table_wrapper th a:hover{color:#333;text-decoration:none}.o_table_search a.btn.o_reset_quick_search{width:38px;margin-left:-38px;z-index:5;color:grey}.o_breadcrumb.o_table_flexi_breadcrumb ol.breadcrumb{margin:5px 0 0 0}div.o_table_flexi div.o_table_flexi_leaf{margin-left:1.55em}div.o_table_flexi div.o_table_flexi_l0{padding-left:0px}div.o_table_flexi div.o_table_flexi_l1{padding-left:15px}div.o_table_flexi div.o_table_flexi_l2{padding-left:30px}div.o_table_flexi div.o_table_flexi_l3{padding-left:45px}div.o_table_flexi div.o_table_flexi_l4{padding-left:60px}div.o_table_flexi div.o_table_flexi_l5{padding-left:75px}div.o_table_flexi div.o_table_flexi_l6{padding-left:90px}div.o_table_flexi div.o_table_flexi_l7{padding-left:105px}div.o_table_flexi div.o_table_flexi_l8{padding-left:120px}div.o_table_flexi div.o_table_flexi_l9{padding-left:135px}div.o_table_flexi div.o_table_flexi_l10{padding-left:150px}div.o_table_flexi div.o_table_flexi_l11{padding-left:165px}@media (max-width: 767px){.o_table_wrapper .o_table_rows_infos{clear:both}}a.o_orderby,a.o_orderby:hover{color:#333;text-decoration:none}a.o_orderby.o_orderby_asc,a.o_orderby.o_orderby_desc,a.o_orderby:hover.o_orderby_asc,a.o_orderby:hover.o_orderby_desc{border-bottom:1px solid #ddd}.o_table_row_count{padding-top:6px;padding-bottom:6px;vertical-align:middle}.o_table_row_details td{background-color:white !important}.o_table_config{font-size:12px}.o_table_buttons{text-align:center}.o_table_buttons input{margin-right:1em}.o_table_buttons input:last-child{margin-right:0}.o_table_tools{margin-left:6px}.o_table_tools_indications{margin-left:10px;padding-top:3px;font-size:80%}.o_table_tools_indications a{color:#d9534f}.o_table_toolbar_left .o_table_tools_indications{text-align:right}.o_table_count{max-width:20em;float:left;padding:0 15px}.o_info .table-bordered td,o_note .table-bordered td,o_important .table-bordered td,o_warning .table-bordered td,o_error .table-bordered td{border-color:#333}.panel .o_table_layout{border-top:1px solid #ddd;padding-top:6px}.panel .o_table_count{padding:0 15px}#o_navbar_imclient .o_im_messages{float:left}#o_navbar_imclient #o_im_message,#o_navbar_imclient #o_im_status,#o_navbar_imclient #o_im_summary{float:left;position:relative;padding:15px 3px}#o_navbar_imclient #o_im_status,#o_navbar_imclient #o_im_message{padding-left:15px}#o_navbar_imclient #o_im_summary .badge{color:#fff;background-color:#777}#o_navbar_imclient #o_im_status li>a>span{display:inline}#o_navbar_imclient #o_im_status div.o_chelp_wrapper{right:0.5em}#o_navbar_imclient #o_im_message a:hover,#o_navbar_imclient #o_im_message a:focus{text-decoration:none}#o_navbar_imclient #o_im_message .o_icon_message{color:#d9534f}#o_navbar_imclient #o_im_message .o_icon_message:hover{color:#f4c37d}.o_im_load_history{margin-bottom:6px}.o_im_load_history .o_label{font-size:12px;padding-right:0.5em;line-height:1.5em;color:#777}.o_im_chat_history{height:170px;font-size:90%;border:1px solid #eee;margin:0 0 1em 0;overflow:scroll;overflow-x:auto}.o_im_message_group{padding:3px 3px 3px 40px;min-height:40px;position:relative;border-top:1px solid #eee;background:#fff}.o_im_message_group.o_odd{background:#F4F4F4}.o_im_message_group .o_portrait{position:absolute;top:3px;left:3px}.o_im_message_group .o_im_from{color:#777;font-size:12px;font-weight:bold}.o_im_message_group .o_im_from:hover{color:#5e5e5e}.o_im_message_group div.o_im_body{padding:3px 0 3px 0;font-size:12px}.o_im_message_group div.o_im_body .o_date{float:right;color:#777;font-size:9px}.o_groupchat_roster{font-size:12px}.o_groupchat_roster li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333}.o_groupchat_roster li.o_vip{color:#3c763d}.o_groupchat_roster li.o_anonymous{color:#31708f}.o_im_buddieslist .o_im_buddieslist_toggler .btn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_im_buddieslist ul{font-size:12px}.o_im_buddieslist ul ul{padding-left:1em}.o_im_buddieslist ul a{color:#3b678a}.o_im_buddieslist ul a:hover{color:#243f54}.o_flag{position:relative;top:1px;display:inline-block;line-height:1;width:16px;height:16px;background-repeat:no-repeat;background-position:0 100%}option.o_with_flag{padding-left:23px;min-height:16px;background-repeat:no-repeat;background-position:2px 50%}.o_flag_en{background-image:url("../light/images/flags/gb.png")}.o_flag_de{background-image:url("../light/images/flags/de.png")}.o_flag_fr{background-image:url("../light/images/flags/fr.png")}.o_flag_it{background-image:url("../light/images/flags/it.png")}.o_flag_es{background-image:url("../light/images/flags/es.png")}.o_flag_da{background-image:url("../light/images/flags/dk.png")}.o_flag_cs{background-image:url("../light/images/flags/cz.png")}.o_flag_el{background-image:url("../light/images/flags/gr.png")}.o_flag_ee{background-image:url("../light/images/flags/ee.png")}.o_flag_ru{background-image:url("../light/images/flags/ru.png")}.o_flag_pl{background-image:url("../light/images/flags/pl.png")}.o_flag_zh_CN{background-image:url("../light/images/flags/cn.png")}.o_flag_zh_TW{background-image:url("../light/images/flags/tw.png")}.o_flag_lt{background-image:url("../light/images/flags/lt.png")}.o_flag_fa{background-image:url("../light/images/flags/ir.png")}.o_flag_pt_PT{background-image:url("../light/images/flags/pt.png")}.o_flag_pt_BR{background-image:url("../light/images/flags/br.png")}.o_flag_tr{background-image:url("../light/images/flags/tr.png")}.o_flag_hu{background-image:url("../light/images/flags/hu.png")}.o_flag_sq{background-image:url("../light/images/flags/al.png")}.o_flag_in{background-image:url("../light/images/flags/id.png")}.o_flag_ar{background-image:url("../light/images/flags/eg.png")}.o_flag_rm{background-image:url("../light/images/flags/rm.png")}.o_flag_af{background-image:url("../light/images/flags/za.png")}.o_flag_vi{background-image:url("../light/images/flags/vn.png")}.o_flag_mn{background-image:url("../light/images/flags/mn.png")}.o_flag_iw{background-image:url("../light/images/flags/il.png")}.o_flag_ko{background-image:url("../light/images/flags/kr.png")}.o_flag_nl_NL{background-image:url("../light/images/flags/nl.png")}.o_flag_jp{background-image:url("../light/images/flags/jp.png")}.o_flag_nb_NO{background-image:url("../light/images/flags/no.png")}.o_flag_et_EE{background-image:url("../light/images/flags/ee.png")}.o_flag_bg{background-image:url("../light/images/flags/bg.png")}.o_flag_hi_IN_ASIA{background-image:url("../light/images/flags/in.png")}.o_flag_ar_LB{background-image:url("../light/images/flags/lb.png")}.o_flag_gl_ES{background-image:url("../light/images/flags/galicia.png")}.o_flag_sk{background-image:url("../light/images/flags/sk.png")}.o_rating .o_rating_title{font-size:12px}.o_rating .o_rating_items{white-space:nowrap}.o_rating .o_rating_items .o_icon{color:#f0ad4e}.o_rating .o_rating_items .o_legend{margin-left:1em;font-size:12px;line-height:normal}.o_rating.o_rating_personal .o_rating_items .o_icon{color:#3b678a}.o_rating .o_rating_explanation{font-size:12px;color:#777}@media (max-width: 991px){.o_rating .o_rating_title,.o_rating .o_rating_explanation{display:none}}.o_comments .o_comment_wrapper .o_avatar{float:left;margin:0 1em 0 0}.o_comments .o_comment_wrapper .o_reply,.o_comments .o_comment_wrapper .o_delete{float:right}.o_comments .o_comment_wrapper .o_comment_wrapper{margin-left:16px}.o_ratings_and_comments .o_rating_wrapper{vertical-align:middle;display:inline-block}.o_ratings_and_comments a.o_comments{margin-left:10px;position:relative;top:0.1em}.d3chart .bar{shape-rendering:crispEdges}.d3chart .bar_default_light{fill:#598eb8}.d3chart .bar_default,.d3chart .bubble_default{fill:#3b678a}.d3chart .bar_default_dark{fill:#243f54}.d3chart .axis{font:12px sans-serif}.d3chart .axis path,.d3chart .axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.o_forum_peekview .o_quote_wrapper,.o_forum_peekview .b_quote_wrapper{display:none}.o_forum_thread_sticky{font-weight:bold}.o_forum_switch{font-size:12px}.o_forum_toolbar{margin-bottom:6px;float:left}.o_forum_fulltextsearch{float:right}@media (max-width: 767px){.o_forum_fulltextsearch{float:left}.o_forum_toolbar .o_forum_tool span{display:none}}.o_forum{padding-bottom:50px}.o_forum .o_mark,.o_forum .o_ep_collect{float:right;position:relative;width:2em;margin-left:12px}.o_forum .o_portrait{float:left;margin-right:16px}.o_forum .o_portrait_avatar{width:70px;height:70px}.o_forum .o_newindicator{font-size:10px;color:#5cb85c;text-transform:uppercase;padding-left:1em;vertical-align:text-top;white-space:nowrap}.o_forum .o_author,.o_forum .o_date{display:inline-block;color:#777}.o_forum .o_date{font-size:12px}.o_forum .o_modified{color:#8a6d3b;font-size:12px;font-style:italic}.o_forum .o_forum_message{margin-bottom:20px;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1)}.o_forum .o_forum_message_new{-webkit-box-shadow:0 1px 10px rgba(92,184,92,0.3);box-shadow:0 1px 10px rgba(92,184,92,0.3)}.o_forum .o_forum_message_highlight{-webkit-box-shadow:0 1px 10px rgba(240,173,78,0.5);box-shadow:0 1px 10px rgba(240,173,78,0.5)}.o_forum .o_forum_message_header{padding:10px 15px;border-bottom:1px solid #ddd;background-color:#f5f5f5;border-top-right-radius:3px;border-top-left-radius:3px}.o_forum .o_forum_message_title{margin-top:0}.o_forum .o_forum_message_body{padding:10px 15px}.o_forum .o_forum_message_attachments{border-top:1px solid #ddd;padding:10px 15px;font-size:12px;background-color:#f7f7f9}.o_forum .o_attachment{position:relative;max-width:250px;vertical-align:top;margin:6px 12px 10px 0}.o_forum .o_attachment img{margin-top:6px}.o_forum .o_filename{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_forum .o_icon_enlarge{position:absolute;left:1em;bottom:1em;text-shadow:1px 1px 2px #fff, -1px 1px 2px #fff, 1px -1px 2px #fff, -1px -1px 2px #fff}@media (min-width: 768px) and (max-width: 991px){.o_forum .o_attachments{font-size:10px}.o_forum .o_attachment{max-width:200px}.o_forum .o_attachment img{max-width:150px}.o_forum .o_filename{max-width:200px}}@media (max-width: 767px){.o_forum .o_attachments{font-size:9px}.o_forum .o_attachment{max-width:150px}.o_forum .o_attachment img{max-width:100px}.o_forum .o_filename{max-width:150px}}.o_quote_wrapper,.b_quote_wrapper{position:relative;margin:10px 0}.o_quote_author,.b_quote_author{color:#777;font-size:12px}.o_quote_author:before,.b_quote_author:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï„Ž";font-size:21px;padding-right:0.5em}blockquote.o_quote,blockquote.b_quote{color:#555;font-size:12px;margin-top:6px;padding:0 12px}a.o_chelp{display:inline-block;padding:1px 3px;text-align:center;vertical-align:middle;white-space:nowrap;font-size:10px;font-weight:normal;line-height:15px;color:#fff;background-color:#3b678a;border:1px solid #335a78;border-radius:2px;cursor:help;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}a.o_chelp:active,a.o_chelp:hover,a.o_chelp:focus{text-decoration:none;color:#fff;background-color:#2f526d;border-color:#213a4d}a.o_chelp i{font-size:10px !important}.o_chelp_wrapper{position:relative;float:right;display:inline-block;line-height:normal;margin-bottom:10px;margin-left:10px}.o_form_chelp,.o_chelp_tooltip{color:#737373}.o_draw_circle{border:4px solid #3b678a;border-radius:50%;position:absolute !important}.o_draw_rectangle{border:4px solid #3b678a;position:absolute !important}.o_iframedisplay iframe{width:100%}.o_singlepage .o_edit{position:absolute;top:10px;right:37px}.o_content_popup{position:absolute;top:10px;right:12px}.o_module_cp_wrapper .o_tools{position:absolute;top:10px;right:12px;text-align:right;vertical-align:middle}.o_module_cp_wrapper .o_tools .o_search_wrapper{display:inline-block;position:relative;top:-2px}ul.o_dropdown{margin:-5px -14px}ul.o_dropdown .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}ul.o_dropdown>li>a{display:block;padding:5px 14px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;background:#fff;white-space:nowrap}ul.o_dropdown>li>a:hover,ul.o_dropdown>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.badge.o_scorm_completed{background-color:#3c763d}.badge.o_scorm_failed{background-color:#a94442}.badge.o_scorm_incomplete{background-color:#8a6d3b}.badge.o_scorm_not_attempted{background:none}.o_bc_meta h5,.o_bc_meta .o_author,.o_bc_meta .o_comment,.tooltip h5,.tooltip .o_author,.tooltip .o_comment{color:#fff;margin:5px 0}.o_bc_meta .o_thumbnail,.tooltip .o_thumbnail{width:200px;height:200px;display:inline-block;background-color:#fff;margin:0 -5px}.o_htmleditor .o_metadata{border:1px solid #999;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom:0;background:#eee;position:relative;top:1px;padding:5px}.o_htmleditor .o_metadata #o_filename{float:left}.o_htmleditor .o_metadata .o_lastmodified{float:right;color:#777;line-height:1.428571429}.o_htmleditor #o_save{margin-top:10px;text-align:center}.o_htmleditor #o_save input{margin-right:1em}.o_htmleditor #o_save input:last-child{margin-right:0}.o_notifications_news_wrapper .o_notifications_news_subscription{margin:10px 0}.o_notifications_news_wrapper .o_notifications_news_subscription h4 i,.o_notifications_news_wrapper .o_notifications_news_subscription .o_cal .fc-header-title h2 i,.o_cal .fc-header-title .o_notifications_news_wrapper .o_notifications_news_subscription h2 i{display:none}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_context{color:#777}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content{margin-left:1.5em;position:relative}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content .o_icon{position:absolute;left:-1.5em;line-height:1.5em;top:0}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content .o_date{color:#777}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_url{margin-left:1.5em}.o_noti{margin:6px 0 6px 12px;float:right;color:#777}.o_noti .o_label{color:#777;cursor:help}@media (max-width: 767px){.o_noti .o_label span{display:none}}.panel-body .o_noti{margin:0}.o_portrait{display:inline-block}.o_portrait img{border-radius:50%;border:none;background-color:#eee;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.o_portrait_name{margin-top:6px}.o_block_inline .o_portait,.o_block_inline .o_portrait_name,.o_block_inline .o_portrait_image,.o_block_inline_right .o_portait,.o_block_inline_right .o_portrait_name,.o_block_inline_right .o_portrait_image,.o_block_inline_left .o_portait,.o_block_inline_left .o_portrait_name,.o_block_inline_left .o_portrait_image,.o_block_inline_both .o_portait,.o_block_inline_both .o_portrait_name,.o_block_inline_both .o_portrait_image{display:inline-block}.o_portrait_avatar,.o_portrait_dummy,.o_portrait_dummy_female_big,.o_portrait_dummy_male_big,.o_portrait_anonymous{width:100px;height:100px}.o_portrait_dummy{background-image:url("../light/images/portrait/dummy.png")}.o_portrait_dummy_female_big{background-image:url("../light/images/portrait/dummy_female_big.png")}.o_portrait_dummy_male_big{background-image:url("../light/images/portrait/dummy_male_big.png")}.o_portrait_anonymous{background-image:url("../light/images/portrait/anonymous.png")}.o_portrait_avatar_small,.o_portrait_dummy_small,.o_portrait_dummy_female_small,.o_portrait_dummy_male_small,.o_portrait_anonymous_small{width:30px;height:30px}.o_portrait_dummy_small{background-image:url("../light/images/portrait/dummy_small.png")}.o_portrait_dummy_female_small{background-image:url("../light/images/portrait/dummy_female_small.png")}.o_portrait_dummy_male_small{background-image:url("../light/images/portrait/dummy_male_small.png")}.o_portrait_anonymous_small{background-image:url("../light/images/portrait/anonymous_small.png")}.o_datecomp{position:relative;width:40px;height:52px;border:1px solid #555;margin-right:12px;text-align:center;vertical-align:middle}.o_datecomp div.o_year{position:absolute;left:0;width:100%;top:-20px;height:20px;line-height:20px;font-size:10px}.o_datecomp div.o_month{height:20px;line-height:20px;font-size:12px;background-color:#3b678a;color:#fff}.o_datecomp div.o_day{height:30px;line-height:30px;font-size:18px;border-top:1px solid #555;background-color:#fff;color:#333}.o_block_with_datecomp .o_head{position:relative;padding-left:52px}.o_block_with_datecomp .o_datecomp{position:absolute;top:0.2em;left:0}.o_block_with_datecomp .o_title{margin-top:0}.o_block_with_datecomp .o_meta{color:#777}.o_block_with_datecomp .o_content{border-left:5px solid #eee;padding:0 20px}.o_block_with_datecomp .o_block_footer{padding-left:25px}ul.o_certificates li{padding:5px 0}ul.o_certificates li a.o_sel_certificate_delete{padding-left:2em}.o_cal_toptoolbar{margin-bottom:6px}.o_cal_toptoolbar .o_cal_toptoolbar_help{float:left;margin-right:12px}.o_cal_toptoolbar .o_noti{margin-top:0}.o_feed .o_date,.o_feed .o_author{color:#777}.o_feed .o_subscription a{margin-right:1.5em}.o_feed .o_subscription .form-group{margin-bottom:5px}.o_feed .o_subscription .form-control{border:0;background:none;padding:0;height:auto;-webkit-box-shadow:none;box-shadow:none}.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper{float:left}.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_rating_title,.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_rating_explanation,.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_legend{display:none}.o_feed .o_blog_posts .o_ratings_and_comments a.o_comments span{display:none}.o_feed .o_content:before,.o_feed .o_content:after{content:" ";display:table}.o_feed .o_content:after{clear:both}.o_feed .o_enclosure{clear:both}.o_glossary .o_register{text-align:center}.o_glossary .o_meta{font-size:90%;color:#777;font-style:italic}.o_glossary dl dt:first-letter{font-size:21px}.o_glossary dl dt small{color:#777}.o_tm_glossary{border-bottom:1px dotted #666699 !important}.o_tm_yellow{background-color:#FFFF66}.o_tm_blue{background-color:#33FFFF}.o_tm_red{background-color:#FF3333}.o_tm_green{background-color:#99FF00}.o_coaching div#o_main_toolbar.o_toolbar{margin-top:0px}.o_eff_statement_details .o_user_infos{margin-top:20px}div.o_assessment_user_type_filter{display:inline-block;padding:0.5em;border:1px solid #eee;border-radius:4px}div.o_assessment_user_type_filter div.form-inline,div.o_assessment_user_type_filter div.o_navbar-form{margin-left:5px;display:inline-block}.vitero_iframe{width:100%;height:100%;border:none;min-height:60em}.o_reminder_rule{padding:5px 0}.o_segments.btn-group a span{overflow:hidden;display:block;text-overflow:ellipsis}.o_segments_content{margin-top:20px}.o_tabbed_pane .o_tabbed_pane_content{padding:20px 0 6px 0}.o_togglebox_wrapper .o_opener{position:relative;left:-0.5em}.o_togglebox_wrapper div.o_togglebox_content{position:relative;margin:0}.o_togglebox_wrapper div.o_togglebox_content .o_hide{position:absolute;bottom:0.5em;right:1em}.o_toolboxes ul{margin:0 0 1.5em 0;padding:0 0 0 1.5em}.o_qrcode{width:256px;height:256px}#o_ajax_busy{position:absolute;left:50%;top:20em;margin-left:-2.5em;height:5em;width:5em;color:#fff;z-index:1201;display:none}#o_body.o_ajax_busy{cursor:busy}.o_exception .o_visual{position:relative;background-image:url("../light/images/lion-500x333.jpg");filter:grayscale(50%);-webkit-filter:grayscale(50%);-moz-filter:grayscale(50%);-ms-filter:grayscale(50%);-o-filter:grayscale(50%);width:500px;height:333px;background-repeat:no-repeat;background-position:50% 50%;background-size:contain;margin:0 0 10px 16px}@media (min-width: 768px) and (max-width: 991px){.o_exception .o_visual{width:375px;height:249px}}@media (min-width: 500px) and (max-width: 767px){.o_exception .o_visual{width:250px;height:166px}}@media (max-width: 500px){.o_exception .o_visual{background-size:cover}}.o_exception .jumbotron h1,.o_exception .o_repo_details .o_lead h1,.o_repo_details .o_exception .o_lead h1{color:#d9534f}ul.o_assessment_docs{margin-bottom:0}ul.o_assessment_docs>li{margin-bottom:0.33em}ul.o_assessment_docs>li:last-child{margin-bottom:0em}.o_mail_message .o_mail_meta{background:#fafafa;border:1px solid #eee;padding:5px 10px}.o_mail_message .o_mail_meta h3{margin-top:0}.o_mail_message .o_mail_date,.o_mail_message .o_mail_from,.o_mail_message .o_mail_recipients{color:#777;font-size:90%}.o_mail_message .o_mail_date .o_label,.o_mail_message .o_mail_from .o_label,.o_mail_message .o_mail_recipients .o_label{font-weight:bold;margin-right:1em}.o_mail_message .o_mail_date .o_group span,.o_mail_message .o_mail_from .o_group span,.o_mail_message .o_mail_recipients .o_group span{font-weight:bold}.o_mail_message .o_mail_date .o_group span:after,.o_mail_message .o_mail_from .o_group span:after,.o_mail_message .o_mail_recipients .o_group span:after{content:':';margin-right:0.5em}.o_mail_message .o_mail_date i,.o_mail_message .o_mail_from i,.o_mail_message .o_mail_recipients i{margin-left:1em}.o_mail_message .o_mail_date ul.list-inline,.o_mail_message .o_mail_from ul.list-inline,.o_mail_message .o_mail_recipients ul.list-inline{display:inline}.o_mail_message .o_mail_date ul.list-inline li,.o_mail_message .o_mail_from ul.list-inline li,.o_mail_message .o_mail_recipients ul.list-inline li{padding-right:0;padding-left:0}.o_mail_message .o_more{margin-left:1em}.o_mail_message .o_showAllLink{float:right;font-size:80%}.progress .o_progress_marker{position:absolute;height:100%;top:0;width:3px;background:red}.progress .progress-bar{text-shadow:1px 1px 2px #000000}.o_progress_label_right{float:left;margin-right:10px}.o_web_content{padding-bottom:15px}.o_labeled_light,a.o_qpool_tools_status,.dropdown-toggle.o_qpool_tools_status,.o_labeled{text-transform:uppercase;text-align:center;text-decoration:none;vertical-align:text-bottom;font-size:75% !important;font-weight:bold !important;line-height:1;white-space:nowrap;border:1px solid;border-radius:3px;padding:2px 5px;background-color:#777;color:#fff}.o_labeled_light{background-color:#f8f8f8}.dropdown-menu.o_labeled{background-color:inherit}.o_ms_button{max-width:100%;width:100%;display:flex}.o_ms_button span:not(.o_ms_carret){text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.o_ms_button .o_ms_carret{margin:auto 0 auto auto}.o_ms_list{width:100%;height:auto;max-height:300px;overflow-x:hidden}.o_disclaimer .o_disclaimer_content{max-height:50vh;overflow:auto;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;background:#fbfbfb;padding:10px;border:1px solid #c2c2c2}.tt-input{width:400px}.tt-menu{width:400px;margin-top:6px;padding:0 0 0;color:#555;background-color:#fff;border:1px solid #66afe9;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;-webkit-box-shadow:0 0 8px rgba(102,175,233,0.6);box-shadow:0 0 8px rgba(102,175,233,0.6)}.tt-suggestion{padding:6px 12px;font-size:14px;line-height:1.428571429}.tt-suggestion.tt-cursor,.tt-suggestion:hover{color:#fff;background-color:#3b678a}.tt-suggestion p{margin:0}.tt-menu div.o_icon_error:before{content:''}.o_search_link_extended,.o_search_link_simple{margin-top:12px;display:inline-block}.o_search_results_stats{color:#777;padding-left:1.5em}.o_search_highlight{margin-left:12px;font-size:12px}.o_search_result_title h4,.o_search_result_title .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_search_result_title h2{display:inline-block;margin-right:12px;margin-bottom:6px}.o_search_result_title h4 .o_icon-fw,.o_search_result_title .o_cal .fc-header-title h2 .o_icon-fw,.o_cal .fc-header-title .o_search_result_title h2 .o_icon-fw{text-align:left}.o_search_result_highlight{font-weight:bold;background-color:transparent}.o_search_result_context{display:inline-block;color:#3c763d;margin-right:1em}.o_search_result_license{display:inline-block;color:#777}.o_search_result_excerpt{color:#555}.o_search_result .o_opener{font-size:12px}.o_search_result .o_opener i{width:1em}.o_search_result_details .o_togglebox_wrapper.o_block{margin-top:0;margin-bottom:0}.o_search_result_details .o_togglebox_wrapper .o_togglebox_content{color:#777;font-size:12px;background:#fff;padding:6px 12px}.o_search_result_details .o_togglebox_wrapper .o_search_result_license i{font-size:20px}@media (max-width: 767px){.o_search_result_details{display:none}}.wizard{border:1px solid #d4d4d4;border-radius:2px;background-color:#f9f9f9;position:relative;overflow:hidden;margin-bottom:15px}.wizard ul{list-style:none outside none;padding:0;margin:0;width:4000px}.wizard ul li{float:left;margin:0;padding:0 20px 0 30px;height:46px;line-height:46px;position:relative;background:#ededed;color:#333;font-size:16px;cursor:default}.wizard ul li .chevron{border:24px solid transparent;border-left:14px solid #d4d4d4;border-right:0;display:block;position:absolute;right:-14px;top:0;z-index:1}.wizard ul li .chevron:before{border:24px solid transparent;border-left:14px solid #ededed;border-right:0;content:"";display:block;position:absolute;right:1px;top:-24px}.wizard ul li.active{background:#f1f6fc;color:#333}.wizard ul li.active .chevron:before{border-left:14px solid #f1f6fc}.wizard ul li .badge{margin-right:8px}.wizard ul li:first-child{border-radius:4px 0 0 4px;padding-left:20px}.o_process{position:relative;padding-left:25px}.o_process .o_step{position:relative;height:auto;padding-top:10px;padding-left:30px;padding-bottom:10px}.o_process .o_bar{position:absolute;top:10px;left:8px;height:100%;border-left:4px solid #777}.o_process .o_bar:after{position:absolute;top:0;left:-10px;height:16px;width:16px;border:4px solid #777;border-radius:16px;background:#fff;content:" "}.o_process .o_title{margin-top:-1px;color:#777 !important}.o_process .o_title:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;left:-24px}.o_process .o_title a:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";width:1em}.o_process .o_title a.collapsed:before{content:""}.o_process .o_step.o_active .o_bar,.o_process .o_step.o_active .o_bar:after{border-color:#3b678a}.o_process .o_step.o_active .o_title{color:#3b678a !important}.o_process .o_step.o_active .o_title:before{content:"";color:#3b678a}.o_process .o_step.o_done .o_bar,.o_process .o_step.o_done .o_bar:after{border-color:#4a82ae}.o_process .o_step.o_done .o_title{color:#4a82ae !important}.o_process .o_step.o_done .o_title:before{content:"";color:#5cb85c}.o_process .o_meta{color:#777;font-size:12px;margin-top:-0.5em}.o_cal_orange{background:#ffc266;border-color:#ff9900;color:#5D5D5D}.o_cal_orange .o_cal_wv_event_header{background:#ff9900}.o_cal_orange a{color:#5D5D5D !important}.o_cal_class.o_cal_orange{border-left:20px solid #ffc266}.o_cal_green{background:#66c266;border-color:#009900;color:#FFF}.o_cal_green .o_cal_wv_event_header{background:#009900}.o_cal_green a{color:#FFF !important}.o_cal_class.o_cal_green{border-left:20px solid #66c266}.o_cal_blue{background:#4d6e9f;border-color:#2e5894;color:#FFF}.o_cal_blue .o_cal_wv_event_header{background:#2e5894}.o_cal_blue a{color:#FFF !important}.o_cal_class.o_cal_blue{border-left:20px solid #4d6e9f}.o_cal_yellow{background:#ffe066;border-color:#ffcc00;color:#5D5D5D}.o_cal_yellow .o_cal_wv_event_header{background:#ffcc00}.o_cal_yellow a{color:#5D5D5D !important}.o_cal_class.o_cal_yellow{border-left:20px solid #ffe066}.o_cal_red{background:#c26666;border-color:#990000;color:#FFF}.o_cal_red .o_cal_wv_event_header{background:#990000}.o_cal_red a{color:#FFF !important}.o_cal_class.o_cal_red{border-left:20px solid #c26666}.o_cal_rebeccapurple{background:#663399;border-color:#663399;color:#FFF}.o_cal_rebeccapurple .o_cal_wv_event_header{background:#663399}.o_cal_rebeccapurple a{color:#FFF !important}.o_cal_class.o_cal_rebeccapurple{border-left:20px solid #639}.o_cal_fuchsia{background:#FF00FF;border-color:#dd00dd;color:#FFF}.o_cal_fuchsia .o_cal_wv_event_header{background:#FF00FF}.o_cal_fuchsia a{color:#FFF !important}.o_cal_class.o_cal_fuchsia{border-left:20px solid #f0f}.o_cal_olive{background:#808000;border-color:#636300;color:#FFF}.o_cal_olive .o_cal_wv_event_header{background:#808000}.o_cal_olive a{color:#FFF !important}.o_cal_class.o_cal_olive{border-left:20px solid olive}.o_cal_navy{background:#000080;border-color:#000057;color:#FFF}.o_cal_navy .o_cal_wv_event_header{background:#000080}.o_cal_navy a{color:#FFF !important}.o_cal_class.o_cal_navy{border-left:20px solid navy}.o_cal_maroon{background:#800000;border-color:#740000;color:#FFF}.o_cal_maroon .o_cal_wv_event_header{background:#800000}.o_cal_maroon a{color:#FFF !important}.o_cal_class.o_cal_maroon{border-left:20px solid maroon}.o_cal_lime{background:#00FF00;border-color:#00e200;color:#004d00}.o_cal_lime .o_cal_wv_event_header{background:#00FF00}.o_cal_lime a{color:#004d00 !important}.o_cal_class.o_cal_lime{border-left:20px solid lime}.o_cal_grey{background:#DDDAAA;border-color:#5D5D5D;color:#FFF}.o_cal_grey .o_cal_wv_event_header{background:#5D5D5D}.o_cal_grey a{color:#FFF !important}.o_cal_class.o_cal_grey{border-left:20px solid #DDDAAA}.o_sel_calendar_print_chooser{padding-right:4em}.o_cal_config_enabled,.o_cal_config_disabled{position:relative;float:left;display:inline}.o_cal_config_calendar{margin:0 5px;padding:1px 6px 1px 4px;position:relative;width:200px;overflow:hidden;float:left;display:inline}.o_cal_config_color{display:block;width:16px;height:16px;border-radius:8px}.o_cal_colorchooser_selected:before{content:""}#o_cal_colorchooser div{border:1px solid #3b678a;margin:5px;display:inline-block}#o_cal_colorchooser div:hover{border:1px solid #333}#o_cal_colorchooser a{width:20px;height:20px;display:inline-block}.o_cal_embedded_course_container .o_content_popup{top:0}.o_cal_wv_event_tooltip_content .o_cal_description{background-color:#f8f8f8;padding:10px 7px;margin:10px -7px}.o_cal_wv_event_tooltip_content .o_cal_tooltip_buttons{text-align:center;margin-top:20px}.o_cal_event_managed .fc-event-inner:after{margin-right:2px;float:right;font-family:FontAwesome;font-style:normal;font-weight:normal;font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:""}.o_cal_event_not_managed .fc-event-inner:after{margin-right:2px;float:right;font-family:FontAwesome;font-style:normal;font-weight:normal;font-size:100%;webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:""}.fc-button{color:#333;background-color:#fff;border-color:#ccc}.fc-button:hover,.fc-button:focus,.fc-button.focus,.fc-button:active,.fc-button.active,.open>.fc-button.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.fc-button:active,.fc-button.active,.open>.fc-button.dropdown-toggle{background-image:none}.fc-button.disabled,.fc-button.disabled:hover,.fc-button.disabled:focus,.fc-button.disabled.focus,.fc-button.disabled:active,.fc-button.disabled.active,.fc-button[disabled],.fc-button[disabled]:hover,.fc-button[disabled]:focus,.fc-button[disabled].focus,.fc-button[disabled]:active,.fc-button[disabled].active,fieldset[disabled] .fc-button,fieldset[disabled] .fc-button:hover,fieldset[disabled] .fc-button:focus,fieldset[disabled] .fc-button.focus,fieldset[disabled] .fc-button:active,fieldset[disabled] .fc-button.active{background-color:#fff;border-color:#ccc}.fc-button .badge{color:#fff;background-color:#333}.fc-button.fc-state-default{text-shadow:none}.fc-button.fc-state-active{color:#fff;background-color:#3b678a;border-color:#335a78}.fc-button.fc-state-active:hover,.fc-button.fc-state-active:focus,.fc-button.fc-state-active.focus,.fc-button.fc-state-active:active,.fc-button.fc-state-active.active,.open>.fc-button.fc-state-active.dropdown-toggle{color:#fff;background-color:#2c4c66;border-color:#213a4d}.fc-button.fc-state-active:active,.fc-button.fc-state-active.active,.open>.fc-button.fc-state-active.dropdown-toggle{background-image:none}.fc-button.fc-state-active.disabled,.fc-button.fc-state-active.disabled:hover,.fc-button.fc-state-active.disabled:focus,.fc-button.fc-state-active.disabled.focus,.fc-button.fc-state-active.disabled:active,.fc-button.fc-state-active.disabled.active,.fc-button.fc-state-active[disabled],.fc-button.fc-state-active[disabled]:hover,.fc-button.fc-state-active[disabled]:focus,.fc-button.fc-state-active[disabled].focus,.fc-button.fc-state-active[disabled]:active,.fc-button.fc-state-active[disabled].active,fieldset[disabled] .fc-button.fc-state-active,fieldset[disabled] .fc-button.fc-state-active:hover,fieldset[disabled] .fc-button.fc-state-active:focus,fieldset[disabled] .fc-button.fc-state-active.focus,fieldset[disabled] .fc-button.fc-state-active:active,fieldset[disabled] .fc-button.fc-state-active.active{background-color:#3b678a;border-color:#335a78}.fc-button.fc-state-active .badge{color:#3b678a;background-color:#fff}body.o_cal_print fieldset{border:none;margin-bottom:2em}body.o_cal_print legend{font-size:2em;font-weight:bold}body.o_cal_print legend span{display:block;font-size:14px;font-weight:normal}body.o_cal_print ul.o_cal_wv_list{list-style-type:none;padding:0}body.o_cal_print ul.o_cal_wv_list>li{page-break-inside:avoid;margin-bottom:2em}body.o_cal_print ul.o_cal_wv_list .o_cal_date{font-size:1.25em;font-weight:bold;padding:0.5em 0 0.5em 0}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events{list-style-type:none;padding:0.5em 0 0 0}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event{position:relative;left:30px;page-break-inside:avoid;clear:both;margin-bottom:1.5em;padding-right:30px}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_time{float:left;font-weight:bold;margin-right:1em}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_subject{font-weight:bold}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_subject p{margin:0}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_location,body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_description,body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_freebusy{clear:both}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_freebusy{font-style:italic}body.o_cal_print .o_cal_class{position:absolute;left:-30px;width:20px}body.o_cal_print #o_cal_config legend{font-size:1.25em}body.o_cal_print #o_cal_config .o_cal_config_calendar{margin:0;padding:0}body.o_cal_print #o_cal_config .o_cal_config_calendar{position:relative;left:30px;float:none;padding-right:30px}.o_visual{position:absolute;top:0;left:0;overflow:hidden;height:120px;width:180px;vertical-align:middle}@media (min-width: 768px) and (max-width: 991px){.o_visual{height:80px;width:120px}}@media (max-width: 767px){.o_visual{height:50px;width:75px}}.o_visual img{width:100%;height:auto}.o_visual .o_visual_not_available{width:100%;height:100%;background-image:url("../light/images/no_preview.png");background-repeat:no-repeat;background-position:50% 50%;background-size:contain}.o_coursetable.o_rendertype_custom .o_table_row{position:relative;border:1px solid #3b678a;margin-bottom:10px}.o_coursetable.o_rendertype_custom .o_table_row .o_visual{box-sizing:content-box;border-right:1px solid #3b678a}.o_coursetable.o_rendertype_custom .o_table_row .o_access{position:absolute;top:0;right:0;height:120px;width:180px;overflow:hidden;border-left:1px solid #3b678a;padding-top:0.25em}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_state,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score{padding:0 1em;height:20px;line-height:20px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score{position:relative;left:2px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score .o_label{color:#777}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social{position:absolute;width:100%;bottom:32px;height:20px;padding-left:1em}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating .o_rating_title,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating o_rating_legend,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating .o_rating_explanation{display:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings{padding:0 0 0 1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_label{margin-bottom:1em;color:#777}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_methods{color:#5bc0de}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{position:absolute;display:block;bottom:0;width:90px;height:30px;line-height:30px;text-align:center}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book{right:0}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start{color:#fff;background-color:#3b678a;border-color:#335a78}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.dropdown-toggle{color:#fff;background-color:#2c4c66;border-color:#213a4d}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.dropdown-toggle{background-image:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled.active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled],.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled]:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled]:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled].focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled]:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled].active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.active{background-color:#3b678a;border-color:#335a78}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start .badge{color:#3b678a;background-color:#fff}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book{color:#fff;background-color:#f0ad4e;border-color:#eea236}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.dropdown-toggle{background-image:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled.active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled],.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled]:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled]:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled].focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled]:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled].active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.active{background-color:#f0ad4e;border-color:#eea236}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book .badge{color:#f0ad4e;background-color:#fff}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{right:90px;color:#fff;background-color:#5cb85c;border-color:#4cae4c}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.dropdown-toggle{background-image:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled.active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled],.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled]:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled]:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled].focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled]:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled].active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.active{background-color:#5cb85c;border-color:#4cae4c}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details .badge{color:#5cb85c;background-color:#fff}@media (min-width: 768px) and (max-width: 991px){.o_coursetable.o_rendertype_custom .o_table_row .o_access{height:80px;width:120px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_comments,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_label{display:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{width:60px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{right:60px}}@media (max-width: 767px){.o_coursetable.o_rendertype_custom .o_table_row .o_access{display:none}}.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:120px;margin:0 180px 0 180px;position:relative;padding:1em 0.5em 0.25em 1em;overflow:hidden}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title{margin:0;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a{display:block;color:#3b678a}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:hover{color:#2c4c66}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_author{margin-top:0.5em;line-height:normal;font-size:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3c763d}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle{position:absolute;top:5px;right:40px;z-index:2px;background:white;padding:0 3px 3px 3px;border-radius:0px 0px 3px 3px;font-size:90%;line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle.o_active{color:#3c763d}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle.o_active:hover{color:#2b542c}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_desc{margin-top:0.5em}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_bookmark{position:absolute;top:-1px;right:15px}@media (min-width: 768px) and (max-width: 991px){.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:80px;margin:0 120px}}@media (max-width: 767px){.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:50px;margin:0 0 0 75px;padding:0 0 0 1em}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title{line-height:50px}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a{border-right:37px solid transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_author,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_bookmark,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_desc{display:none}}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_go_xs{position:absolute;top:0;right:0;padding:0 1em;height:50px;width:37px;line-height:50px;color:#fff;background-color:#3b678a}.o_coursetable.o_rendertype_classic .o_rating_explanation{display:none}.o_coursetable.o_rendertype_classic .o_start,.o_coursetable.o_rendertype_classic .o_book{white-space:nowrap}.o_coursetable.o_rendertype_classic .o_repoentry_type{color:#555}.o_coursetable.o_rendertype_classic .o_repoentry_ac{color:#555}.o_catalog .o_level{position:relative;margin-bottom:10px;padding:0;border-top:1px solid #3b678a;border-bottom:1px solid #3b678a}.o_catalog .o_level .o_visual{height:180px}.o_catalog .o_level .o_meta{position:relative;min-height:180px;height:180px;overflow:hidden;margin:0 0 0 180px;padding:1em 0.5em 0.5em 2em}.o_catalog .o_level .o_meta .o_title{margin:0}.o_catalog .o_level .o_meta .o_title a{display:block;color:#3b678a}.o_catalog .o_level .o_meta .o_title a:hover{color:#2c4c66}.o_catalog .o_level .o_meta .o_desc{padding:1em 0 0.5em 0}@media (min-width: 768px) and (max-width: 991px){.o_catalog .o_level .o_visual{height:120px}.o_catalog .o_level .o_meta{min-height:120px;height:120px;margin:0 0 0 120px}}@media (max-width: 767px){.o_catalog .o_level .o_visual{height:75px}.o_catalog .o_level .o_meta{min-height:75px;height:75px;margin:0 0 0 75px;padding:0 0 0 1em}.o_catalog .o_level .o_meta .o_title{line-height:75px}.o_catalog .o_level .o_meta .o_desc{display:none}}.o_catalog .o_sublevels_list .o_sublevel{position:relative;border:1px solid #3b678a;margin-bottom:10px}.o_catalog .o_sublevels_list .o_sublevel .o_visual{height:75px;width:75px}.o_catalog .o_sublevels_list .o_sublevel .o_visual span.o_visual_not_available{width:100%;height:100%;display:block}.o_catalog .o_sublevels_list .o_sublevel .o_title{margin:0}.o_catalog .o_sublevels_list .o_sublevel .o_meta{border-left:1px solid #3b678a;min-height:75px;height:75px;margin:0 0 0 75px;padding:0 0 0 1em;overflow:hidden}.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_title{line-height:75px}.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_desc{display:none}.o_catalog .o_sublevels_list .o_sublevel .o_meta h4.o_title>a,.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_cal .fc-header-title h2.o_title>a,.o_cal .fc-header-title .o_catalog .o_sublevels_list .o_sublevel .o_meta h2.o_title>a{font-family:inherit;font-weight:inherit}.o_catalog .o_sublevels_list .o_sublevel .o_meta h4.o_title>a>i,.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_cal .fc-header-title h2.o_title>a>i,.o_cal .fc-header-title .o_catalog .o_sublevels_list .o_sublevel .o_meta h2.o_title>a>i{display:none}.o_catalog .o_sublevels_list .o_sublevel.o_fill_sublevels{border:1px solid transparent}.o_catalog .o_sublevels_list .o_sublevel.o_fill_sublevels .o_meta{border-left:1px solid transparent}.o_catalog .o_sublevels{position:relative;margin-bottom:20px}.o_catalog .o_sublevels:before,.o_catalog .o_sublevels:after{content:" ";display:table}.o_catalog .o_sublevels:after{clear:both}.o_catalog .o_sublevels .o_sublevel{position:relative;float:left;margin:0 20px 20px 0;width:180px}.o_catalog .o_sublevels .o_sublevel:last-child{margin-right:0}.o_catalog .o_sublevels .o_sublevel .o_visual{border:1px solid #3b678a;position:relative;height:180px}.o_catalog .o_sublevels .o_sublevel .o_visual span.o_visual_not_available{width:100%;height:100%;display:block}.o_catalog .o_sublevels .o_sublevel .o_meta{position:absolute;left:0;bottom:0;width:100%;border:1px solid #3b678a;border-top:0;background-color:rgba(255,255,255,0.8)}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title{margin:0;text-align:center;line-height:2em;height:2em;width:100%;overflow:hidden}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a{display:block;color:#3b678a;font-family:inherit;font-weight:inherit}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:hover{color:#2c4c66}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a>i{display:none}@media (min-width: 768px) and (max-width: 991px){.o_catalog .o_sublevels .o_sublevel{width:120px;margin:0 10px 10px 0}.o_catalog .o_sublevels .o_sublevel .o_visual{height:120px}.o_catalog .o_sublevels .o_sublevel .o_title{font-size:90%}}@media (max-width: 767px){.o_catalog .o_sublevels .o_sublevel{width:120px;margin:0 1px 1px 0}.o_catalog .o_sublevels .o_sublevel .o_visual{height:120px;width:120px}.o_catalog .o_sublevels .o_sublevel .o_title{font-size:90%}}@media (min-width: 768px){.o_catalog .o_sublevels_list,.o_catalog .o_sublevels_compact{-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2;columns:2}}.o_repo_details{position:relative}.o_repo_details .o_lead{margin-bottom:10px}.o_repo_details .o_lead .o_author{margin-top:0.5em;margin-bottom:1em;font-size:120%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3c763d}.o_repo_details .o_lead .o_media{float:right;margin-left:2em;margin-bottom:2em}.o_repo_details .o_lead .o_media.o_desc_empty{float:none;margin-left:0;margin-bottom:0}.o_repo_details .o_lead h1{font-size:37px}.o_repo_details .o_lead h1 i{display:none}.o_repo_details .o_overview i{margin-right:0.5em}.o_repo_details .o_overview div{margin-bottom:0.25em}.o_repo_details .o_start_wrapper{clear:both;margin:2em 0 -10px 0;text-align:right}.o_repo_details .o_start_wrapper .o_start_inner{display:inline-block}.o_repo_details .o_start,.o_repo_details .o_book{max-width:400px;display:inline-block}.o_repo_details .o_social:before,.o_repo_details .o_social:after{content:" ";display:table}.o_repo_details .o_social:after{clear:both}.o_repo_details .o_social .o_rating_wrapper{float:left}.o_repo_details .o_social .o_comments{margin-left:1em}@media (max-width: 767px){.o_repo_details .o_lead p{font-size:16px}.o_repo_details .o_lead .o_media{margin-left:0;float:none;text-align:center}.o_repo_details .o_start_wrapper{text-align:center}.o_repo_details .o_start_wrapper .o_start_inner{display:block}.o_repo_details .o_start,.o_repo_details .o_book{max-width:100%;display:block}}@media (max-width: 613px){.o_repo_details .o_subcolumn{width:100%}}.o_meta .o_closed{padding:2px 5px;margin:5px 0}.o_overview .o_closed{padding:12px 15px;margin:15px 0}.o_ac_configuration span.o_ac_infos{font-weight:normal;color:grey}tr.o_entry_closed,tr.o_entry_closed td,tr.o_entry_closed td span,tr.o_entry_unpublished,tr.o_entry_unpublished td,tr.o_entry_unpublished td span{text-decoration:line-through}.o_repo_status_filter>div{display:inline-block}.o_repo_status_filter>div label{font-weight:normal}.badge.o_midpub{background-color:#3c763d}.badge.o_midwarn{background-color:#8a6d3b}.badge.o_midlock{background-color:#31708f}.badge.o_miderr{background-color:#a94442}.badge.o_middel{background-color:#777}.o_course_editor_legend .badge{font-size:80%}.o_course_editor_legend .badge:before{content:none}.o_passed{color:#3c763d;font-weight:bold}.o_passed a:hover{color:#2b542c}.o_passed th{color:#333}.o_failed{color:#a94442;font-weight:bold}.o_failed a:hover{color:#66512c}.o_failed th{color:#333}.o_unknown{color:#8a6d3b;font-weight:bold}.o_unknown a:hover{color:#66512c}.o_unknown th{color:#333}.o_noinfo{color:#777}.o_course_run .o_toc .o_entry .o_shorttitle{border-bottom:1px solid #777}.o_course_run .o_toc .o_entry .o_displaytitle{margin-top:5px;color:#777}.o_course_run .o_toc .o_entry .o_objectives{margin-top:10px;font-style:italic}.o_course_run .o_in_review{font-style:italic;position:relative}.o_course_run.o_titled_wrapper>h2 i{display:none}.o_course_run .o_cal_toptoolbar{margin-right:26px}.o_course_run .o_titled_wrapper .o_cal_toptoolbar{margin-right:0px}.o_tree.o_course_menu div.o_tree_l0>a:first-child{background-color:none}.o_st_peekview ul li{margin-bottom:0.5em}.o_cl_line{margin-bottom:10px;padding-bottom:5px}.o_cl_line.o_even{background-color:#f9f9f9}.o_ll_container h5{margin-bottom:5px}.o_ll_container h5 a.o_desc{color:#3b678a}.o_ll_container h5 a.o_desc small{display:none}.o_ll_container h5 a.o_desc:hover{color:#2c4c66;text-decoration:none}.o_ll_container h5 a.o_desc:hover small{color:#5e5e5e;display:inline}.o_ll_container div.o_comment{color:#777}.o_cmembers .o_cmember{margin:12px 0;display:table}.o_cmembers .o_cmember .o_portrait{padding-right:10px;display:table-cell;vertical-align:top}.o_cmembers .o_cmember .o_portrait img{width:50px;height:50px}.o_cmembers .o_cmember .o_cmember_info_wrapper{display:table-cell;vertical-align:middle;color:#777}.o_cmembers .o_cmember .o_cmember_info_wrapper .o_mail{margin-left:6px}.o_cmembers .o_cmember a.o_mail{display:none}.o_cmembers .o_cmember:hover a.o_mail{display:inline}.o_cmembers_print{color:#000}.o_cmembers_print #o_print_brand{position:absolute;top:1cm;right:1cm;width:5cm;height:4cm}.o_cmembers_print #o_print_brand img{width:100%}.o_cmembers_print .o_portrait{width:100px;height:100px;position:relative}.o_cmembers_print .o_portrait img{border-radius:0px;max-width:100%;max-height:100%;width:auto;height:auto;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.o_cmembers_print .o_cmember{padding-left:0px;padding-right:15px;margin-bottom:20px}.o_cmembers_print .o_cmember .o_cmember_info_wrapper{word-wrap:break-word}.o_cmembers_print .o_cmember .o_prop.o_zipCode{float:left;padding-right:0.5em}.o_cmembers_print h1{font-size:18pt;color:#000}.o_cmembers_print h3{font-size:14pt;margin-top:5px;font-weight:normal;color:#000}.o_cmembers_print h4,.o_cmembers_print .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_cmembers_print h2{font-size:11pt;font-weight:strong;color:#000;padding-bottom:10px;border-bottom:1px solid #eee}.o_cmembers_print .o_cmember_info_wrapper{font-size:7pt;color:#000}.o_cmembers_print .o_cmember_info_wrapper strong{font-size:8pt}.tag.label.label-info{margin-right:3px}.input-group.o_tag_inputgroup .form-control{height:auto}div.o_correction_navigation .o_correction_navigation_back{float:left;line-height:32px}div.o_correction_navigation .o_correction_navigation_previous{position:absolute;right:50%;margin-right:102px}div.o_correction_navigation #o_cocurrent_item_SELBOX{width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute;left:50%;margin-left:-100px}div.o_correction_navigation .o_correction_navigation_next{position:absolute;left:50%;margin-left:102px}@media (max-width: 767px){div.o_correction_navigation .o_correction_navigation_previous span,div.o_correction_navigation .o_correction_navigation_next span{display:none}}table.table.o_qti_item_kprim>thead>tr>th,table.table.o_qti_item_kprim>tbody>tr>td{border:none}td.o_qti_item_kprim_input,th.o_qti_item_kprim_input{text-align:center}td.o_qti_item_kprim_input .radio,th.o_qti_item_kprim_input .radio{display:inline}td.o_qti_item_kprim_text{width:80%}div.o_qti_menu_section,div.o_qti_menu_section_clickable,div.o_qti_menu_section_active{margin-top:10px}div.o_qti_menu_item a,div.o_qti_menu_section a{text-decoration:none}div.o_qti_menu_item{padding:.1em}div.o_qti_menu_item_active{padding:.1em;font-weight:bold}div.o_qti_item_itemfeedback{background-color:#ffffff;border-color:#000000}div.o_qti_item_choice_option_flow{display:inline-block;padding:.5em;border:1px solid transparent}.d3chart .bar_green{fill:#5cb85c}.d3chart .bar_red{fill:#d9534f}.d3chart .bar_grey{fill:lightgrey}.d3chart circle.bubble_green{fill:#5cb85c}div.o_qti_statistics ul{list-style-type:none;padding:0;margin:0;font-size:90%}div.o_qti_statistics ul strong{font-weight:normal}div.o_qti_statistics ul li{padding-left:48px;margin-left:0;margin-bottom:10px}div.o_qti_statistics ul li.o_qti_statistics-ncorrect:before{font-size:125%;content:'\2A2F\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-correct:before{font-size:125%;content:'\2713\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-kplus:before{font-size:125%;content:'\2713\00A0\2A2F\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-kminus:before{font-size:125%;content:'\2A2F\00A0\2713\00A0\00A0'}div.o_qti_statistics ul li img{vertical-align:top}div.o_qti_statistics table.o_qti_statistics_figures tr{float:left}div.o_qti_statistics table.o_qti_statistics_figures tr:nth-child(2n+1){clear:left;padding-right:20px}div.o_qti_statistics table.o_qti_statistics_figures td{width:200px;padding-left:0;vertical-align:bottom}div.o_qti_statistics table.o_qti_statistics_figures td+td{width:100px}div.o_qti_statistics .o_qti_statistics_answer{background:#F5F5F5;padding:1px 2px;width:90%}div.o_qti_statistics div.o_qti_statistics_legend{padding-top:10px;width:470px;border:1px solid #ddd;border-radius:4px}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_green{background-color:#9dd53a}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_red{background-color:#f85032}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_grey{background-color:lightgrey}div.o_qti_metadatas .panel-body{border-top:none}.o_qti_menu_item_attempts:after,.o_qti_menu_item_attempts_marked:after{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.o_qti_menu_item_attempts:after{content:"ï„"}.o_qti_menu_item_attempts_marked:after{content:"";color:#3b678a}.o_qti_print div.o_qti_statistics{width:680px}@media print{div.o_qti_statistics{width:680px}}ul.sessionControl{list-style:none;margin:1em;text-align:center}ul.sessionControl li{display:inline;padding:0.2em}.association{margin:20px 20px 20px 40px;background:transparent url("../light/images/association_bg.png") repeat-x center center}.o_associate_item{padding:5px;margin:0 15px 10px 0;border:2px solid #999}.o_associate_item.oo-selected{border:2px solid #3b678a}.o_associate_item.oo-choosed{border:none !important}.o_associate_item.oo-drag{border:2px solid #3b678a !important}.association_box{border:3px dotted #999}.association_box.oo-filled{border:3px solid #999}.association_box{background-color:white}.prompt{font-weight:bold}.sketch{position:relative;user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;-ms-user-select:none}#tmp_canvas{position:absolute;left:0px;right:0;bottom:0;top:0;cursor:crosshair;user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;-ms-user-select:none}#colors .black .o_icon:before{color:#000000}#colors .blue .o_icon:before{color:#0000FF}#colors .green .o_icon:before{color:#008000}#colors .yellow .o_icon:before{color:#FFFF00}#colors .red .o_icon:before{color:#FF0000}#colors .purple .o_icon:before{color:#800080}.o_gap_item{padding:5px;margin:5px;background-repeat:no-repeat;background-position:center center}.o_gap_item.oo-choosed{position:relative;left:auto;top:auto;padding:3px;margin:0}.o_gap_item.oo-selected{border:3px solid #3b678a}.o_item_container_help,.o_items_container_help{font-size:90%;font-style:italic;color:#777;padding:5px}.items_container{padding:15px}.items_container .o_item{float:left}#o_qti_hotspots_edit{min-height:100px;min-width:400px;background-repeat:no-repeat}#o_qti_hotspots_edit.o_qti_hotspot-standard .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-standard .o_draw_rectangle{background-color:rgba(255,255,255,0.5);border-color:#6E6E6E}#o_qti_hotspots_edit.o_qti_hotspot-standard .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-standard .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(45,0,255,0.5);border-color:#0000ff}#o_qti_hotspots_edit.o_qti_hotspot-light .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-light .o_draw_rectangle{background-color:rgba(221,221,221,0);border-color:#7E7E7E}#o_qti_hotspots_edit.o_qti_hotspot-light .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-light .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(51,122,183,0.05);border-color:#337ab7}#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_draw_rectangle{background-color:rgba(110,110,110,0.5);border-color:#3E3E3E}#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(222,222,222,0.2);border-color:#CECECE}#o_qti_hotspots_edit.o_qti_hotspot-green .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-green .o_draw_rectangle{background-color:rgba(142,142,142,0.25);border-color:#CECECE}#o_qti_hotspots_edit.o_qti_hotspot-green .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-green .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(134,195,81,0.5);border-color:#518b33}#o_qti_hotspots_edit.o_qti_hotspot-purple .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-purple .o_draw_rectangle{background-color:rgba(142,142,142,0.33);border-color:#CECECE}#o_qti_hotspots_edit.o_qti_hotspot-purple .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-purple .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(234,168,255,0.5);border-color:#ab47cb}div.hotspotInteraction{overflow-x:auto}img.o_hotspot_responsive[usemap]{max-width:100%;width:auto;height:auto}.form-inline.o_qti_gaptext_add_first_alternative,.o_qti_gaptext_add_first_alternative.o_navbar-form{padding:9px 0 3px 0}.form-inline.o_qti_gaptext_add_alternative,.o_qti_gaptext_add_alternative.o_navbar-form{margin-bottom:3px}.o_qti_item_body .extendedTextInteraction{margin:15px 0}.o_qti_item_body .extendedTextInteraction textarea{resize:vertical !important;font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.o_qti_item_body .extendedTextInteraction pre{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.o_qti_item_body .extendedTextInteraction .o_qti_essay_last_save{padding:2px 2px;font-style:italic;font-size:90%;text-align:right}.extendedTextInteraction div.form-control.textarea_disabled{white-space:pre-wrap;height:auto;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;color:#555 !important}#o_qti_run_title{margin:0 15px 0.5em 15px}#o_qti_run_title h3{margin:15px 0 0 0}#o_qti_run_infos{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:10px 0;margin:0 15px 1em 15px}#o_qti_run_infos .progress{background-color:#eee}#o_qti_run_infos #o_qti_scoreinfo .progress-bar{background-color:#3b678a}.progress-striped #o_qti_run_infos #o_qti_scoreinfo .progress-bar{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}#o_qti_run_infos #o_qti_questioninfo .progress-bar{background-color:#3b678a}.progress-striped #o_qti_run_infos #o_qti_questioninfo .progress-bar{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}#o_qti_run_infos #o_qti_run_scoreinfo,#o_qti_run_infos #o_qti_run_scoreprogress{white-space:nowrap}#o_qti_results_infos{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:10px 0;margin:0 0 1em 0}#o_qti_results_infos .progress{background-color:#eee}#o_qti_results_infos #o_qti_run_scoreinfo,#o_qti_results_infos #o_qti_run_scoreprogress{white-space:nowrap}#o_qti_assessment_test_timer{border:1px solid #e7e7e7;border-radius:4px;padding:10px;margin:0 15px 1em 15px}#o_qti_assessment_test_timer.o_10_minutes{background-color:#fcf8e3}#o_qti_assessment_test_timer.o_5_minutes{background-color:#f2dede}#o_qti_assessment_test_timer.o_panic{background-color:#ce8383}#o_qti_assessment_test_timer .o_qti_times_up{padding-left:2em;font-weight:bold}#o_qti_assessment_test_timer .o_qti_times_message{padding-left:2em;font-weight:bold}.o_draw_circle.o_qti_hotspot_correct,.o_draw_rectangle.o_qti_hotspot_correct{background-color:rgba(229,255,204,0.6)}#width_range_ui,#opacity_range_ui{width:120px}.o_slider_width_range,.o_slider_opacity_range{margin:3px 10px 0 0}.o_qti_hotspot_label{padding-left:48%}.o_info.o_assessmentsection_rubrics{margin:0 0 0.5em 0;position:relative}.o_info.o_assessmentsection_rubrics.o_hide{display:none}.o_info.o_assessmentsection_rubrics.o_show{display:block}.o_info.o_assessmentsection_rubrics a.o_hide{position:absolute;bottom:0.5em;right:1em}.o_assessmentitem h1{margin-bottom:0}.o_assessmentitem div.badResponse,.o_assessmentitem span.badResponse{color:#d9534f;font-weight:bold}.o_assessmentitem input.badResponse{border:1px solid #d9534f}.o_assessmentitem .infoControl input{margin-right:0.5em}.o_assessmentitem .infoControl .infoControlContent{display:none}.o_assessmentitem .sliderInteraction{margin:1em}.o_assessmentitem .sliderInteraction .sliderVertical .sliderValue{margin:1em 0}.o_assessmentitem .sliderInteraction .sliderVertical .sliderWidget{height:200px}.o_assessmentitem .sliderInteraction .sliderHorizontal .sliderValue{text-align:center}.o_assessmentitem div.orderInteraction div.highlight{border:1px solid #d9534f}.o_assessmentitem div.orderInteraction div.box.vertical{width:50%;float:left;position:relative;padding:0;margin-top:5px}.o_assessmentitem div.orderInteraction div.box.vertical ul{min-height:200px}.o_assessmentitem div.orderInteraction div.box.horizontal ul{min-height:50px;width:100%}.o_assessmentitem div.orderInteraction div.box.source{padding:5px 10px;border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8}.o_assessmentitem div.orderInteraction div.box.source.horizontal{padding:5px 10px 15px 10px}.o_assessmentitem div.orderInteraction div.box.target ul{border:2px solid #5bc0de;border-radius:4px;background:#d9edf7}.o_assessmentitem div.orderInteraction div.box.target ul.oo-accepted{border-color:#1f7e9a}.o_assessmentitem div.orderInteraction div.box.target.vertical{padding:6px 0 0 10px}.o_assessmentitem div.orderInteraction div.box.target.vertical ul{padding:10px}.o_assessmentitem div.orderInteraction div.box.target.horizontal{padding-top:10px}.o_assessmentitem div.orderInteraction div.box.target.horizontal ul{padding:10px 10px 0 10px}.o_assessmentitem div.orderInteraction div.box.horizontal ul li{float:left;width:auto;margin-right:10px;min-width:50px}.o_assessmentitem div.orderInteraction div.box span.info{color:#666;font-style:italic;font-size:smaller}.o_assessmentitem div.orderInteraction ul{list-style-type:none;margin:0;padding:0}.o_assessmentitem .hottext{position:relative;margin:-2px 0.15em -2px 0.15em;white-space:nowrap}.o_assessmentitem .hottext input{margin:0 3px 0 2px;position:absolute;top:0.1em;left:0.05em}.o_assessmentitem .hottext input+label{display:inline;padding:0 0.1em 0 1.2em;background:#f8f8f8;border:1px solid #e7e7e7;border-radius:2px;color:#333;font-weight:normal;white-space:normal}.o_assessmentitem .hottext input:checked+label{color:#333;background:#d9edf7;border:1px solid #bce8f1}.o_assessmentitem .gap{font-weight:bold;border:1px dashed #000}.o_assessmentitem .textEntryInteraction input{margin:-1px 2px;line-height:90%;vertical-align:middle;font-size:13.72px;line-height:1.5;border:1px solid #999;background:#fff;padding:1px 1px;color:#333}.o_assessmentitem .textEntryInteraction input:valid,.o_assessmentitem .textEntryInteraction input:disabled{color:#333;-webkit-text-fill-color:#333;background:#d9edf7;border:1px solid #bce8f1}li.o_assessmentitem_order_item{padding:10px;margin-bottom:10px;border:2px dashed #999;border-radius:4px;background-color:#ffffff;background:#fcf8e3;list-style-type:none}li.o_assessmentitem_order_item:before,li.o_assessmentitem_order_item:after{content:" ";display:table}li.o_assessmentitem_order_item:after{clear:both}body>li.o_assessmentitem_order_item{display:block}.o_assessmentitem_wrapper .itemTitle{background:#f8f8f8;border:1px solid #e7e7e7;border-radius:4px 4px 0 0;margin-top:0;margin-bottom:0;padding:5px 10px;line-height:1.5em;position:relative}.o_assessmentitem_wrapper .itemTitle .o_qti_item_max_score{position:absolute;left:49%}.o_assessmentitem_wrapper .o_qti_item_body{min-height:200px;margin:0;padding:5px 10px;border-left:1px solid #e7e7e7;border-right:1px solid #e7e7e7;font-size:14px;line-height:1.8}.o_assessmentitem_wrapper .o_assessment_item_not_final.o_warning{margin:0}.o_assessmentitem_wrapper .modalFeedback h4:first-of-type,.o_assessmentitem_wrapper .modalFeedback .o_cal .fc-header-title h2:first-of-type,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback h2:first-of-type{padding-left:10px;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper h4,.o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper h2{border-left:1px solid #e7e7e7;border-right:1px solid #e7e7e7;padding-bottom:5px;margin-bottom:0}.o_assessmentitem_wrapper ul.o_testpartnavigation,.o_qti_menu_buttonstyle ul.o_testpartnavigation{list-style:none;padding:0;margin:0}.o_assessmentitem_wrapper li.o_assessmentitem,.o_qti_menu_buttonstyle li.o_assessmentitem{margin-bottom:2px}.o_assessmentitem_wrapper .o_assessmentitem_status,.o_qti_menu_buttonstyle .o_assessmentitem_status{float:right;display:block;padding:0.3em;margin-left:1em;border-radius:0.3em;border-width:1px;font-size:0.8em;line-height:1.2em;color:#fff}.o_assessmentitem_wrapper .o_assessmentitem_status.ended,.o_qti_menu_buttonstyle .o_assessmentitem_status.ended{background-color:#5bc0de}.o_assessmentitem_wrapper .o_assessmentitem_status.invalid,.o_qti_menu_buttonstyle .o_assessmentitem_status.invalid{background-color:#d9534f}.o_assessmentitem_wrapper .o_assessmentitem_status.answered,.o_qti_menu_buttonstyle .o_assessmentitem_status.answered{background-color:#5cb85c}.o_assessmentitem_wrapper .o_assessmentitem_status.notAnswered,.o_qti_menu_buttonstyle .o_assessmentitem_status.notAnswered{background-color:#f0ad4e}.o_assessmentitem_wrapper .o_assessmentitem_status.notPresented,.o_qti_menu_buttonstyle .o_assessmentitem_status.notPresented{background-color:#ddd}.o_assessmentitem_wrapper .o_assessmentitem_status.review,.o_qti_menu_buttonstyle .o_assessmentitem_status.review{background-color:#5bc0de}.o_assessmentitem_wrapper .o_assessmentitem_status.reviewNotAllowed,.o_assessmentitem_wrapper .o_assessmentitem_status.reviewInvalid,.o_assessmentitem_wrapper .o_assessmentitem_status.reviewNotAnswered,.o_assessmentitem_wrapper .o_assessmentitem_status.reviewNotSeen,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewNotAllowed,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewInvalid,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewNotAnswered,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewNotSeen{background-color:#5bc0de;opacity:0.7}.o_assessmentitem_wrapper .o_assessmentitem_status i:before,.o_qti_menu_buttonstyle .o_assessmentitem_status i:before{color:#fff}.o_assessmentitem_controls{background:#f8f8f8;border:1px solid #e7e7e7;border-radius:0 0 4px 4px;margin-top:0;margin-bottom:16px;padding:5px 10px}.o_assessmentitem_controls button{margin-bottom:0}.o_assessmentitem_controls .o_sel_assessment_item_submit span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";padding-right:0.5em}.o_assessmentitem_controls .o_sel_next_question span:after{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï”";padding-left:0.5em}.o_assessmentitem_controls .o_sel_question_menu span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";padding-right:0.5em}.o_assessmentitem_controls .o_sel_end_testpart span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";padding-right:0.5em}.o_assessmentitem_controls .o_sel_back_test_feedback span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï“";padding-right:0.5em}.o_assessmentitem_controls .o_sel_show_solution span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï„©";padding-right:0.5em}.o_assessmentitem_controls .o_sel_solution_hide span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï„©";padding-right:0.5em}.o_assessmentitem_control_view_solution{background:#f8f8f8;border:1px solid #e7e7e7;margin:0;padding:5px 10px}.o_assessmentitem_scoring{background:#f8f8f8;border:1px solid #e7e7e7;border-bottom:0;border-radius:4px 4px 0 0;margin-top:0;margin-bottom:0;padding:5px 10px}.o_assessmentitem_scoring_buttons{background:#f8f8f8;border:1px solid #e7e7e7;border-top:0;border-radius:0 0 4px 4px;margin-top:0;margin-bottom:16px;padding:5px 10px}.o_assessmentitem_scoring_override_window{width:300px}.itemPrompt{margin:1.5em 0;font-style:italic;color:#666666}.o_qti_item_body{margin:1em 0}.o_sel_assessment_item_hint{margin-top:1em}.o_assessment_test_results .o_sel_assessment_item_hint{display:none}tr.choiceinteraction td.control{padding:0.5em}tr.choiceinteraction td.choiceInteraction{padding:0.5em}.choiceInteraction label{font-weight:normal}.choiceInteraction div.o_qti_item_choice_option_flow{display:inline-block;padding:.5em;border:1px solid transparent}.choiceInteraction div.o_qti_item_choice_option_flow label span{font-weight:normal}.choiceInteraction div.o_qti_item_choice_option_flow label span>p{display:inline-block}.choiceInteraction.choiceright table tr td.choiceInteraction{background-color:#e7e7e7;border-bottom:3px solid white}.matchInteraction.choiceright table tr td.o_qti_item_kprim_text{background-color:#e7e7e7;border-bottom:3px solid white}.matchInteraction input[type='text']{display:inline;width:auto}.matchInteraction div.bar_green{background-color:#5cb85c}.matchInteraction div.bar_red{background-color:#d9534f}.source-left,.target-left,.source-right,.target-right{width:50%;float:left;position:relative;padding:0;margin-top:5px}.o_match_dnd_sources{padding:10px 10px 0 10px;min-height:60px;border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8}.o_match_dnd_sources.oo-accepted{border-color:#1f7e9a}.o_match_dnd_source{padding:10px;margin-bottom:10px;border:2px dashed #999;border-radius:4px;background-color:#ffffff;background:#fcf8e3;cursor:move;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.o_match_dnd_source:before,.o_match_dnd_source:after{content:" ";display:table}.o_match_dnd_source:after{clear:both}.o_match_dnd_source.oo-selected{border:2px dashed #f0ad4e;background:#fae3c4}.o_match_dnd_source.oo-drag{border:2px dashed #f0ad4e !important}.source-bottom .o_match_dnd_source,.source-top .o_match_dnd_source{margin:0 0 10px 0}.o_match_dnd_targets .oo-accepted{border:2px solid #1f7e9a;border-radius:4px}.o_match_dnd_target{padding:10px 10px 0 10px;margin:0 0 10px 10px;border:2px solid #5bc0de;border-radius:4px;background:#d9edf7}.o_match_dnd_target:before,.o_match_dnd_target:after{content:" ";display:table}.o_match_dnd_target:after{clear:both}.o_match_dnd_target .o_match_dnd_target_drop_zone{margin:0;padding:5px 0 0 15px;min-height:30px}.o_match_dnd_target .o_match_dnd_target_drop_zone .o_match_dnd_source{border:2px dashed #777}.target-bottom .o_match_dnd_target,.target-top .o_match_dnd_target{margin:0 0 10px 0}.target-bottom .o_match_dnd_target .o_match_dnd_target_drop_zone,.target-top .o_match_dnd_target .o_match_dnd_target_drop_zone{padding-left:0px}.target-bottom .o_match_dnd_target .o_match_dnd_target_drop_zone .o_match_dnd_source,.target-top .o_match_dnd_target .o_match_dnd_target_drop_zone .o_match_dnd_source{padding-left:15px}.table.o_match_true_false_edit th.o_sel_match_target_0,.table.o_match_true_false_edit th.o_sel_match_target_1,.table.o_match_true_false_edit th.o_sel_match_target_2{width:12%}.match_true_false input[type="checkbox"]{-webkit-appearance:radio;-moz-appearance:radio;-ms-appearance:radio;appearance:radio}.match_true_false .table>tbody>tr>td.o_match_true_false_unanswered,.match_true_false .table>tbody>tr>td.o_match_true_false_right,.match_true_false .table>tbody>tr>td.o_match_true_false_wrong{vertical-align:middle;width:11%}.match_true_false th.o_match_true_false_unanswered,.match_true_false th.o_match_true_false_right,.match_true_false th.o_match_true_false_wrong{width:11%}.match_true_false td.o_match_true_false_answer,.match_true_false th.o_match_true_false_answer{width:67%}.match_true_false td.o_match_true_false_unanswered{background-color:#fbfbfb}.match_true_false td.o_match_true_false_right{background-color:#eaf6ea}.match_true_false td.o_match_true_false_wrong{background-color:#fdf7f7}.o_assessmentitem .mathEntryInteraction{border:1px solid #ddedfc;background-color:#edf1f6;background:linear-gradient(to top, #edf1f6 0%, #f6f9fb 100%);border-radius:0.4em;padding:1em;margin:0.5em 0}.o_assessmentitem .mathEntryInteraction .inputPanel{line-height:1em;text-align:left}.o_assessmentitem .mathEntryInteraction .inputPanel input{margin:0;padding:0}.o_assessmentitem .mathEntryInteraction .previewPanel{text-align:center}.o_assessmentitem .mathEntryInteraction.horizontal{min-height:5em;width:40em}.o_assessmentitem .mathEntryInteraction.horizontal .inputPanel{width:45%;float:left;margin:2em 0}.o_assessmentitem .mathEntryInteraction.horizontal .previewPanel{width:50%;margin-left:40%}.o_assessmentitem .mathEntryInteraction.vertical{min-height:6em}.o_assessmentitem .mathEntryInteraction.vertical .inputPanel{padding:0 5em}.o_assessmentitem .mathEntryInteraction.vertical .inputPanel:before{content:'Input Maths: '}.o_assessmentitem .mathEntryInteraction.vertical .previewPanel{margin-top:2em;min-height:4em}.o_assessmentitem div.upConversionAjaxControlMessage{width:auto;text-align:center;display:inline;padding:0.5em 0 0.5em 20px}.o_assessmentitem div.success{background:#5cb85c}.o_assessmentitem div.failure{background-color:#f0ad4e}.o_assessmentitem div.error{background-color:#d9534f}.o_assessmentitem div.upConversionAjaxControlPreview{margin:0.5em 0;font-size:110%}.o_assessmentitem table.inputHelp{border-collapse:collapse;width:100%;font-size:90%}.o_assessmentitem table.inputHelp th{border:1px solid #999999;padding:0.2em 0.5em;background-color:#cad8e5}.o_assessmentitem table.inputHelp td{color:#999999;border:1px solid #999999;padding:0.2em 0.5em}.o_assessmentitem table.inputHelp kbd{color:black;font-size:100%;line-height:100%}.o_assessmentitem table.inputHelp .longComma{margin-right:0.5em}.o_togglebox_wrapper #modal-correct-solution div.o_togglebox_content{background-color:#fcf8e3;border-color:#8a6d3b}.o_candidatecomment{padding:0;margin:2em 0 1em 0;border:none}.o_candidatecomment legend{font-size:110%;font-weight:bold;color:#777;margin-bottom:0;border-bottom:0}.o_candidatecomment div.o_item_container_help{margin:0;padding:0}.o_candidatecomment textarea{display:block;color:#777}.o_qti_menu_menustyle ul.o_testpartnavigation{list-style:none;padding:0;margin:0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:0 1em 0.5em 1em;margin:0 0 0.5em 0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection header{margin:0 0 1em 0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection header div.rubric{font-style:italic}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection ul.o_testpartnavigation_inner{list-style:none;padding:0;margin:0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem{padding:0.1em 0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem a{color:#777}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem a:hover,.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem a:focus{color:#333}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem.active a{color:#3b678a;font-weight:bold}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem.active a:hover,.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem.active a:focus{color:#243f54;background-color:#eee}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem span{vertical-align:middle}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_status{display:inline;position:relative;left:-0.3em;background:transparent;border:0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_status span{display:none}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_attempts{float:right;display:block;padding:0.3em;border-radius:2px;background-color:#fafafa;color:#777;font-size:0.7em}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_attempts.o_assessmentitem_attempts_limited{color:#f0ad4e}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_attempts.o_assessmentitem_attempts_nomore{color:#5bc0de}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_marks{float:right;display:inline-block;font-size:0.8em;position:relative;top:0.3em;right:-0.5em}.o_qti_menu_menustyle ul.o_testpartnavigation .o_assessmentitem .questionTitle{margin-right:1em}.testFeedback h1:first-of-type{margin-top:0}ul.testPartDrilldown{list-style:none;padding:0;margin:0}ul.testPartDrilldown li.o_assessmentsection{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:0 1em 0.5em 1em}ul.testPartDrilldown li.o_assessmentsection header{margin:0 0 1em 0}ul.testPartDrilldown li.o_assessmentsection header div.rubric{font-style:italic}ul.testPartDrilldown li.o_assessmentsection ul.testPartDrilldownInner{list-style:none;padding:0;margin:0}ul.testPartDrilldown li.currentItem{border:1px solid #e7e7e7;border-radius:0.5em;padding:0 1em;margin-top:1em}.testItemControl{margin-top:0.5em}.o_qti_statistics_answer{background:#F5F5F5;padding:1px 2px;width:90%}.o_qti_statistics_answer p{display:inline-block}.o_assessment_test_results .o_qti_assessment_title{border-bottom:1px solid #ddd}.o_assessment_test_results table th{width:40%}.o_assessment_test_results .o_qti_sectionsummary .o_qti_section{text-align:center}.o_assessment_test_results .o_qti_sectionsummary .o_qti_section .o_qti_section_sublisting{padding:0 10%;min-height:3em}.o_assessment_test_results .o_qti_sections .o_qti_section{margin-top:40px}.o_assessment_test_results .o_qti_sections .o_qti_section h3{margin-bottom:20px}.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_id{display:none}.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment{margin:0;padding:5px 10px 10px 5px;border-top:1px solid #ddd;broder-bottom:1px solid #ddd}.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h4,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h2{font-size:100%;font-weight:bold;color:inherit}.o_assessment_test_results .o_qti_to_overview{text-align:right}.o_sel_assessment_item_feedbacks{min-height:250px}.o_alternative_question_types h4 select,.o_alternative_question_types .o_cal .fc-header-title h2 select,.o_cal .fc-header-title .o_alternative_question_types h2 select{display:inline-block;width:auto}#o_dev_tool #o_dev_tool_mode{width:1em;height:1em;float:left;border:1px solid #000;margin-right:5px}a.o_dev{position:absolute;left:0;top:0;z-index:4000;background:#f0ad4e;border:1px solid #d59645;border-top:none;border-left:none;border-radius:0 0 4px 0;color:#fff}a.o_dev:hover{color:#d9534f}.o_dev_w{margin:1px}.o_dev_w .o_dev_h{color:#000;font-size:8px;line-height:10px;margin:0}.o_dev_w .o_dev_h span{background:#f4c37d;border:1px solid #f0ad4e;border-bottom:0}.o_dev_w .o_dev_c{position:relative;border:1px dotted #eee}.o_dev_w .o_dev_c .o_dev_i{position:absolute;top:0px;left:24px;height:auto;width:auto;padding:5px;border:1px solid black;display:none;margin:0px;z-index:999;font-size:11px;background-color:#BBF}.o_dev_w.o_dev_m>.o_dev_c{border:1px solid #f0ad4e;margin:0px;background-color:#f8e9d4}.o_wikimod_nav .o_noti{margin:0}.o_wikimod_editform_wrapper{margin-top:30px}.o_wiki-file-deleted{text-decoration:line-through}div.o_wiki_wrapper a.wikiimg{text-decoration:none;color:inherit;font-weight:inherit}div.o_wiki_wrapper div.imgcaption{padding:0.3em 0em 0.2em 0.3em}div.o_wiki_wrapper div.imgleft{clear:left;float:left;margin:0.3em 0.3em 0.3em 0em}div.o_wiki_wrapper div.imgright{clear:right;float:right;margin:0.3em 0em 0.3em 0.3em}div.o_wiki_wrapper div.imgcenter{clear:both;overflow:hidden;text-align:center;margin:0.3em 0em 0.3em 0em}div.o_wiki_wrapper div.imgthumb{border:1px solid #bbbbbb;padding:0.3em}div.o_wiki_wrapper table.gallery{border:1px solid #ccc;margin:2px;padding:2px;background-color:white}div.o_wiki_wrapper table.gallery tr{vertical-align:middle}div.o_wiki_wrapper table.gallery td{background-color:#f9f9f9;border:solid 2px white;text-align:center;vertical-align:middle;width:150px}div.o_wiki_wrapper img.gallery{border:1px solid #bbbbbb;padding:0.3em}div.o_wiki_wrapper a.edit{font-style:italic;color:red}div.o_wiki_wrapper a.externallink:before{padding-right:2px}div.o_wiki_wrapper a.externallink:before:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:"ï‚Ž"}.o_ep_icon_map:before{content:""}.o_ep_icon_collection:before{content:""}.o_ep_icon_page:before{content:""}.o_ep_icon_struct:before{content:""}.o_ep_icon_liveblog:before{content:"ï‚¡"}.o_artefact_closed:before{content:""}.o_portfolio_toc .o_ep_link{float:right;margin-right:0px}.o_portfolio_toc .o_ep_commentlink{float:right;margin-right:10%}.o_portfolio_toc li.level1{font-size:1.2em;margin:1.2em 0 0.2em 0;border-bottom:1px solid #ddd}.o_portfolio_toc li.level2{padding-left:20px;font-size:1.1em;border-bottom:1px dotted #ddd}.o_portfolio_toc li.level3{padding-left:40px}.o_eportfolio_page .o_eportfolio_structure>h5{border-bottom:1px solid #ddd;margin-top:1.2em}.o_eportfolio_maps .panel{font-family:'Century Gothic', 'Apple Gothic', sans-serif;box-shadow:3px 3px 4px rgba(20,20,20,0.4)}.o_eportfolio_maps .panel-heading{padding:5px 10px}.o_eportfolio_maps h4,.o_eportfolio_maps .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps h2{padding:11px 15px;background:rgba(255,255,230,0.7) none;border-radius:6px}.o_eportfolio_maps .table>tbody>tr>td{border-top:none}.o_eportfolio_maps .panel-body{border-top:none}.o_eportfolio_maps .panel>.panel-body+.table{border-top:none}.panel-footer .o_ep_options{display:inline-block}.o_eportfolio_map{padding:0 20px 2px 3px;border-radius:6px 10px 6px 0;font-family:'Century Gothic', 'Apple Gothic', sans-serif}.o_map_header{padding-left:5px}.o_eportfolio_map ul.nav-tabs li:not(.active) a{background-color:rgba(240,240,240,0.7);border-radius:4px 4px 0 0}.o_eportfolio_edit{border-radius:4px 4px 0 0}.o_ep_actualpage,.o_eportfolio_edit{padding:15px;background-color:#fff}.o_ep_content{margin-top:15px}.o_ep_filter .o_date.form-inline .form-group,.o_ep_filter .o_date.o_navbar-form .form-group{margin-left:8px}.o_eportfolio_share_policy_wrapper{border:1px solid #ddd;border-radius:4px}.o_eportfolio_share_header{padding:10px 15px;border-bottom:1px solid #ddd;background-color:#f5f5f5}.o_eportfolio_share_policy{padding:10px 15px}.o_map-default{background:#fafafa;background:#fafafa -webkit-gradient(linear, 37% 20%, 53% 100%, from(#fafafa), to(#efefef));background:#fafafa -moz-linear-gradient(43% 71% 101deg, #efefef, #fafafa);background:#fafafa -o-linear-gradient(#fafafa, #efefef);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#fafafa', EndColorStr='#efefef');border:1px solid #efefef;border-left:3px solid rgba(188,188,188,0.8)}.o_eportfolio_maps .o_map-default h4,.o_eportfolio_maps .o_map-default .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-default h2{color:#444;background:none}.o_eportfolio_maps .o_map-default .panel-body,.o_eportfolio_maps .o_map-default td,.o_eportfolio_maps .o_map-default a{color:#000}.o_map-comic{background:#a2c3e8 none;font-family:'Comic Sans MS', 'Comic Sans', fantasy;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_map-leather{background-color:#957352;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(248,248,248,0.7)), color-stop(100%, rgba(193,193,193,0.5))),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-webkit-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-moz-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-ms-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-o-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");font-family:Palatino, Georgia, serif;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-leather h4,.o_eportfolio_maps .o_map-leather .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-leather h2{background:rgba(243,230,225,0.3) none}.o_eportfolio_maps .o_map-leather .panel-body,.o_eportfolio_maps .o_map-leather td{color:#333}.o_eportfolio_maps .o_map-leather a{color:#fad9a4}.o_eportfolio_map.o_map-leather .o_map_header h4,.o_eportfolio_map.o_map-leather .o_map_header .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_map.o_map-leather .o_map_header h2,.o_eportfolio_map.o_map-leather .o_map_header p,.o_eportfolio_map.o_map-leather .o_map_header a,.o_eportfolio_map.o_map-leather .o_map_header span,.o_eportfolio_map.o_map-leather .o_map_header label{color:#333}.o_map-epmst-green{background-color:#ECF69A;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-green h4,.o_eportfolio_maps .o_map-epmst-green .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green h2{color:#444}.o_eportfolio_maps .o_map-epmst-green .panel-body,.o_eportfolio_maps .o_map-epmst-green td,.o_eportfolio_maps .o_map-epmst-green a{color:#000}.o_map-epmst-green2{background:#99E44D;background:#99E44D -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99E44D), to(#CBF1A5));background:#99E44D -moz-linear-gradient(43% 71% 101deg, #CBF1A5, #99E44D);background:#99E44D -o-linear-gradient(#99E44D, #CBF1A5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99E44D', EndColorStr='#CBF1A5');border:1px solid #bbb;border-left:3px solid rgba(136,136,136,0.8)}.o_eportfolio_maps .o_map-epmst-green2 h4,.o_eportfolio_maps .o_map-epmst-green2 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green2 h2{color:#555}.o_eportfolio_maps .o_map-epmst-green2 .panel-body,.o_eportfolio_maps .o_map-epmst-green2 td,.o_eportfolio_maps .o_map-epmst-green2 a{color:#000}.o_map-epmst-green3{background:#DFF0C1;background:#DFF0C1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#DFF0C1), to(#A0D346));background:#DFF0C1 -moz-linear-gradient(43% 71% 101deg, #A0D346, #DFF0C1);background:#DFF0C1 -o-linear-gradient(#DFF0C1, #A0D346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#DFF0C1', EndColorStr='#A0D346');border:1px solid #bbb;border-left:3px solid rgba(136,136,136,0.8)}.o_eportfolio_maps .o_map-epmst-green3 h4,.o_eportfolio_maps .o_map-epmst-green3 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green3 h2{color:#555}.o_eportfolio_maps .o_map-epmst-green3 .panel-body,.o_eportfolio_maps .o_map-epmst-green3 td,.o_eportfolio_maps .o_map-epmst-green3 a{color:#000}.o_map-epmst-green4{background-color:#D7DBB5;border:1px solid #bbb;border-left:3px solid rgba(136,136,136,0.8)}.o_eportfolio_maps .o_map-epmst-green4 h4,.o_eportfolio_maps .o_map-epmst-green4 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green4 h2{color:#555}.o_eportfolio_maps .o_map-epmst-green4 .panel-body,.o_eportfolio_maps .o_map-epmst-green4 td,.o_eportfolio_maps .o_map-epmst-green4 a{color:#000}.o_map-epmst-red{background:#FFBA71;background:#FFBA71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#FFBA71), to(#FFBA99));background:#FFBA71 -moz-linear-gradient(43% 71% 101deg, #FFBA99, #FFBA71);background:#FFBA71 -o-linear-gradient(#FFBA71, #FFBA99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFBA71', EndColorStr='#FFBA99');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red h4,.o_eportfolio_maps .o_map-epmst-red .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red h2{color:#444}.o_eportfolio_maps .o_map-epmst-red .panel-body,.o_eportfolio_maps .o_map-epmst-red td,.o_eportfolio_maps .o_map-epmst-red a{color:#000}.o_map-epmst-red2{background:#FF9772;background:#FF9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#FF9772), to(#FF9780));background:#FF9772 -moz-linear-gradient(43% 71% 101deg, #FF9780, #FF9772);background:#FF9772 -o-linear-gradient(#FF9772, #FF9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#FF9772', EndColorStr='#FF9780');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red2 h4,.o_eportfolio_maps .o_map-epmst-red2 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red2 h2{color:#444}.o_eportfolio_maps .o_map-epmst-red2 .panel-body,.o_eportfolio_maps .o_map-epmst-red2 td,.o_eportfolio_maps .o_map-epmst-red2 a{color:#000}.o_map-epmst-red3{background:#E8AFBB;background:#E8AFBB -webkit-gradient(linear, 37% 20%, 53% 100%, from(#E8AFBB), to(#E8AFA0));background:#E8AFBB -moz-linear-gradient(43% 71% 101deg, #E8AFA0, #E8AFBB);background:#E8AFBB -o-linear-gradient(#E8AFBB, #E8AFA0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#E8AFBB', EndColorStr='#E8AFA0');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red3 h4,.o_eportfolio_maps .o_map-epmst-red3 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red3 h2{color:#444}.o_eportfolio_maps .o_map-epmst-red3 .panel-body,.o_eportfolio_maps .o_map-epmst-red3 td,.o_eportfolio_maps .o_map-epmst-red3 a{color:#000}.o_map-epmst-red4{background:#FFA800;background:#FFA800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#FFA800), to(#FFAF00));background:#FFA800 -moz-linear-gradient(43% 71% 101deg, #FFAF00, #FFA800);background:#FFA800 -o-linear-gradient(#FFA800, #FFAF00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFA800', EndColorStr='#FFAF00');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red4 h4,.o_eportfolio_maps .o_map-epmst-red4 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red4 h2{color:#444}.o_eportfolio_maps .o_map-epmst-red4 .panel-body,.o_eportfolio_maps .o_map-epmst-red4 td,.o_eportfolio_maps .o_map-epmst-red4 a{color:#000}.o_map-epmst-blue{background:#00D2F8;background:#00D2F8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00D2F8), to(#4A9EAD));background:#00D2F8 -moz-linear-gradient(43% 71% 101deg, #4A9EAD, #00D2F8);background:#00D2F8 -o-linear-gradient(#00D2F8, #4A9EAD);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00D2F8', EndColorStr='#4A9EAD');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue h4,.o_eportfolio_maps .o_map-epmst-blue .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue .panel-body,.o_eportfolio_maps .o_map-epmst-blue td,.o_eportfolio_maps .o_map-epmst-blue a{color:#000}.o_map-epmst-blue2{background-color:#C4F6FF;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue2 h4,.o_eportfolio_maps .o_map-epmst-blue2 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue2 h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue2 .panel-body,.o_eportfolio_maps .o_map-epmst-blue2 td,.o_eportfolio_maps .o_map-epmst-blue2 a{color:#000}.o_map-epmst-blue3{background-color:#B3E2F7;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue3{box-shadow:3px 3px 4px rgba(20,20,20,0.4)}.o_eportfolio_maps .o_map-epmst-blue3 h4,.o_eportfolio_maps .o_map-epmst-blue3 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue3 h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue3 .panel-body,.o_eportfolio_maps .o_map-epmst-blue3 td,.o_eportfolio_maps .o_map-epmst-blue3 a{color:#000}.o_map-epmst-blue4{background:#DEE7F7;background:#DEE7F7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#DEE7F7), to(#C1E9FD));background:#DEE7F7 -moz-linear-gradient(43% 71% 101deg, #C1E9FD, #DEE7F7);background:#DEE7F7 -o-linear-gradient(#DEE7F7, #C1E9FD);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#DEE7F7', EndColorStr='#C1E9FD');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue4 h4,.o_eportfolio_maps .o_map-epmst-blue4 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue4 h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue4 .panel-body,.o_eportfolio_maps .o_map-epmst-blue4 td,.o_eportfolio_maps .o_map-epmst-blue4 a{color:#000}.o_portfolio div#o_main_toolbar.o_toolbar{margin-top:0px}.o_section_lead,.o_page_lead,.o_assignment_lead{padding:10px 10px;margin-bottom:10px;background-color:#f2f2f2;border-radius:3px;border:1px #d9d9d9 solid}.o_section_ended .o_section_lead{border-color:#eba5a3;background-color:#f4cecd}.o_media.o_media_right,.o_media.o_media_right_large{float:right;margin-left:2em;margin-bottom:2em}.o_media.o_media_left,.o_media.o_media_left_large{float:left;margin-right:2em;margin-bottom:2em}.o_media.o_media_left,.o_media.o_media_right{max-height:200px;max-width:50%}.o_media.o_media_left img,.o_media.o_media_right img{max-height:200px}.o_media.o_media_right_large,.o_media.o_media_left_large{max-height:300px;max-width:75%}.o_media.o_media_right_large img,.o_media.o_media_left_large img{max-height:300px}.o_media img{border-radius:3px;border:1px #d9d9d9 solid;background:#fff;height:auto;width:auto}@media (max-width: 767px){.o_page_lead .o_media.o_media_right,.o_page_lead .o_media.o_media_right_large{margin-left:1em;margin-bottom:1em}.o_page_lead .o_media.o_media_left,.o_page_lead .o_media.o_media_left_large{margin-right:1em;margin-bottom:1em}.o_page_lead .o_media.o_media_left,.o_page_lead .o_media.o_media_right{max-height:120px;max-width:30%}.o_page_lead .o_media.o_media_left img,.o_page_lead .o_media.o_media_right img{max-height:120px}.o_page_lead .o_media.o_media_right_large,.o_page_lead .o_media.o_media_left_large{max-height:180px;max-width:50%}.o_page_lead .o_media.o_media_right_large img,.o_page_lead .o_media.o_media_left_large img{max-height:180px}}.o_portfolio_page .o_block_imagebg{border:1px #d9d9d9 solid}.o_page_lead{padding:20px}.o_page_lead h2{margin-bottom:5px}.o_page_lead .o_portfolio_page_meta{margin-bottom:5px}.o_page_lead .o_page_summary{font-size:18px}.o_page_lead .o_media.o_desc_empty{max-height:300px;text-align:center}.o_page_lead .o_media.o_desc_empty img{max-height:300px}.o_page_lead .o_portfolio_status_block{border-top:1px solid #d9d9d9;padding-top:1em;margin-bottom:-1em}.o_page_lead .o_portfolio_status{display:inline-block;padding-right:2em}.o_page_lead.o_block_imagebg .o_portfolio_status{padding:2px;background-color:rgba(255,255,255,0.8)}.o_portfolio_status_block p.o_section_ended{font-size:120%}.o_page_assignment{font-size:12px}.o_page_assignment.o_togglebox_wrapper div.o_togglebox_content{margin:10px 0 20px 0;padding:20px;border-left:3px solid #d9534f;background-color:#f2dede}.o_page_assignment .o_page_assignement_info{position:relative;left:-1em}.o_page_export .o_page_assignment .o_opener,.o_binder_export .o_page_assignment .o_opener{visibility:hidden}.o_page_export .o_page_assignment .o_closer,.o_binder_export .o_page_assignment .o_closer{display:none}.o_portfolio_listing.o_rendertype_custom .o_table_body.container-fluid{padding-right:0px;padding-left:0px}.o_portfolio_listing.o_rendertype_custom .o_portfolio_entry{position:relative;display:inline-block;height:230px;width:400px;vertical-align:top;margin-right:10px}.o_portfolio_listing.o_rendertype_custom .o_portfolio_entry ul{padding-left:2em}.o_portfolio_listing.o_rendertype_custom .panel-imagebg .panel-body ul{margin:0;padding:0;list-style-type:none}.o_portfolio_listing.o_rendertype_custom .panel-imagebg .panel-body ul li{padding:2px}.o_binder.o_portfolio_assignments .panel-heading,.o_binder.o_portfolio_assignments .panel-body{border-left:3px solid #d9534f}.panel-default.o_portfolio_assignments .panel-heading,.panel-default.o_portfolio_assignments .panel-body{border-left:3px solid #d9534f}.o_portfolio_page .o_portfolio_assignments .o_portfolio_page_body{border-left:3px solid #d9534f}.o_portfolio_page .o_portfolio_assignments .o_portfolio_page_body .o_portfolio_page_meta_wrapper,.o_portfolio_page .o_portfolio_assignments .o_portfolio_page_body .o_portfolio_page_summary{padding-left:10px}.o_portfolio_page_summary .o_media.o_media_right,.o_portfolio_page_summary .o_media.o_media_right_large{margin-left:1em;margin-bottom:1em}.o_portfolio_page_summary .o_media.o_media_left,.o_portfolio_page_summary .o_media.o_media_left_large{margin-right:1em;margin-bottom:1em}.o_portfolio_page_summary .o_media.o_media_left,.o_portfolio_page_summary .o_media.o_media_right{max-height:150px}.o_portfolio_page_summary .o_media.o_media_left img,.o_portfolio_page_summary .o_media.o_media_right img{max-height:150px}.o_portfolio_page_summary .o_media.o_media_right_large,.o_portfolio_page_summary .o_media.o_media_left_large{max-height:230px}.o_portfolio_page_summary .o_media.o_media_right_large img,.o_portfolio_page_summary .o_media.o_media_left_large img{max-height:230px}.o_portfolio_categories .tag{font-size:80%;font-weight:normal}.o_portfolio_categories div,.o_portfolio_categories form{display:inline-block}.o_portfolio_categories_edit .bootstrap-tagsinput{margin-bottom:0;padding:0px 4px}.o_portfolio_last_modified+.o_portfolio_categories,.o_portfolio_page_meta+.o_portfolio_categories{margin-left:1em}.o_rendertype_classic .o_pf_page,.o_rendertype_classic .o_pf_assignment{padding-left:1em}.o_portfolio_timeline .o_timeline_up{text-align:center}.o_portfolio_timeline .o_timeline_down{text-align:center}.o_portfolio_timeline .axis path,.o_portfolio_timeline .axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.o_portfolio_timeline .x.axis line,.o_portfolio_timeline .x.axis path{display:none}.o_portfolio_timeline path.o_timeline_curve{fill:none;stroke:#ccc;shape-rendering:crispEdges}.o_portfolio_timeline .y.axis .tick line,.o_portfolio_timeline .y.axis path.domain{stroke:#ddd}.o_portfolio_timeline text{fill:#888;stroke:none;font-size:10px}.o_portfolio_timeline .dot.o_pf_status_draft{fill:#f0ad4e}.o_portfolio_timeline .dot.o_pf_status_published{fill:#3b678a}.o_portfolio_timeline .dot.o_pf_status_inrevision{fill:#d9534f}.o_portfolio_timeline .dot.o_pf_status_closed{fill:#5cb85c}.o_portfolio_timeline .dot.o_pf_status_deleted{fill:#000}.o_pf_comments{margin-top:3em}.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file{background-color:#f8f8f8;padding:10px;border-radius:10px}.o_pf_content .o_forum{border:1px #f8f8f8 solid;padding:10px;border-radius:10px}.o_pf_content .o_image,.o_pf_content .o_video{padding:10px;width:100%}.o_pf_content .o_image img,.o_pf_content .o_video img{border:1px #f8f8f8 solid;border-radius:10px}.o_pf_content .o_image .o_artefact_metadata,.o_pf_content .o_video .o_artefact_metadata{text-align:left}.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_forum,.o_pf_content .o_wiki{background-color:#f8f8f8;padding:10px;border-radius:10px}.o_pf_content .o_efficiencystatement h3,.o_pf_content .o_efficiencystatement .h3,.o_pf_content .o_feed h3,.o_pf_content .o_feed .h3,.o_pf_content .o_forum h3,.o_pf_content .o_forum .h3,.o_pf_content .o_wiki h3,.o_pf_content .o_wiki .h3{font-size:14px}.o_pf_content .o_efficiencystatement .row,.o_pf_content .o_feed .row,.o_pf_content .o_forum .row,.o_pf_content .o_wiki .row{margin:0}.o_pf_content .o_efficiencystatement .o_block_with_datecomp,.o_pf_content .o_feed .o_block_with_datecomp,.o_pf_content .o_forum .o_block_with_datecomp,.o_pf_content .o_wiki .o_block_with_datecomp{margin-top:0.5em;margin-bottom:0}.o_pf_video_placeholder{background-color:#f8f8f8;border:1px solid #f8f8f8;border-radius:10px;display:table;min-width:400px;text-align:center;padding:40px 10px}.o_pf_video_placeholder i{display:table-cell;vertical-align:middle}.o_pf_content_editor .o_toolbar{border:none}.o_pf_content_editor .o_page_part{border:2px solid transparent}.o_pf_content_editor .o_page_part:hover{border:2px dotted #6b9ac0}.o_pf_content_editor .o_page_fragment_edit{position:relative}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above{height:25px;width:100%;background:#6b9ac0;position:absolute;z-index:3;left:0;top:-25px;box-shadow:3px -8px 10px 0px rgba(0,0,0,0.2)}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_add_above{position:absolute;left:0;top:-25px;height:25px;border-left:2px dashed #6b9ac0;border-top:2px dashed #6b9ac0;border-right:2px dashed #6b9ac0;border-radius:10px 10px 0 0;box-shadow:0 -5px 10px 0px rgba(0,0,0,0.2);background:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_sel_add_element_above{display:inline-block;padding:5px 5px 0 5px}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above{padding-right:25px;line-height:25px;vertical-align:middle}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above .o_page_type{display:none}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above a{float:right;color:#fff;padding-right:1em}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above a:hover{color:#e6e6e6}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd{position:absolute;z-index:4;top:0;right:0;width:25px;height:100%;background:#6b9ac0}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a{position:absolute;display:inline-block;width:25px;height:25px;line-height:25px;text-align:center;vertical-align:middle;color:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a:hover{color:#e6e6e6}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_disabled{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_disabled:hover{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_sel_move_up_element{z-index:4;top:-25px}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_sel_move_down_element{bottom:0}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit{padding-right:25px;border:2px solid #6b9ac0;box-shadow:5px 5px 10px 0px rgba(0,0,0,0.2)}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit:hover{border:2px solid #6b9ac0}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar{position:absolute;z-index:5;left:5px;top:-25px;display:inline-block;height:25px;line-height:25px;vertical-align:middle}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a{color:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a:hover{color:#e6e6e6}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a.o_disabled{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a.o_disabled:hover{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_title .o_page_edit_toolbar li{font-weight:bold}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_richtext_mce textarea{border:0}.o_pf_content_editor .o_page_fragment_edit .o_page_add_below{position:absolute;z-index:3;left:0;bottom:-25px;height:25px;border-left:2px dashed #6b9ac0;border-bottom:2px dashed #6b9ac0;border-right:2px dashed #6b9ac0;border-radius:0 0 10px 10px;box-shadow:3px 8px 10px 0px rgba(0,0,0,0.2);background:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_add_below .o_sel_add_element_below{display:inline-block;padding:0 5px 5px 5px}.o_pf_content_editor .o_pf_add_contents{margin-top:30px}.o_portfolio_add_callout a span{display:none}.o_portfolio_add_callout ul.list-inline{margin-bottom:0}.o_portfolio_image_options{clear:both;width:300px;padding:5px}.o_binder_page_listing .o_portfolio_page_links{background-color:#f8f8f8;border-radius:4px}.o_binder_page_listing .o_portfolio_page_links .o_portfolio_comment{float:right}.o_portfolio_toc{padding-bottom:6em}.o_portfolio_toc .o_portfolio_section_meta{font-size:80%;color:#777;position:relative;top:-15px}.o_portfolio_toc .o_section{position:relative}.o_portfolio_toc .o_section .o_header_with_buttons h4,.o_portfolio_toc .o_section .o_header_with_buttons .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_portfolio_toc .o_section .o_header_with_buttons h2{padding-right:0.5em}.o_portfolio_toc .o_section_actions{position:absolute;top:0;right:0}.o_portfolio_toc .o_section_actions .o_section_move_up_and_down{display:inline-block}.o_portfolio_toc .o_section_actions .o_section_dropdown{display:inline-block;position:relative;top:-0.5em;padding-left:0.5em}.o_portfolio_toc ul>li>ul{padding-left:1.5em}.o_portfolio div span.badge{padding:3px 7px}.o_portfolio div .o_portfolio_entry_draft{background-color:#f0ad4e}.o_portfolio div .o_portfolio_published{background-color:#3b678a}.o_portfolio div .o_portfolio_entry_revision{background-color:#d9534f}.o_portfolio div .o_portfolio_entry_closed{background-color:#5cb85c}.o_portfolio div .o_portfolio_entry_deleted{background-color:#000}.o_portfolio div .o_portfolio_entry_incoming{background-color:#5cb85c}.o_portfolio div .o_portfolio_entry_inprocess{background-color:#c8c8c8}.o_portfolio div .o_portfolio_entry_done{background-color:#5cb85c}.o_portfolio_content .o_portfolio_toc.o_portfolio_toc_withtimeline{width:70%;float:left}.o_portfolio_content .o_portfolio_timeline{width:29%;float:right}.o_portfolio_content .o_portfolio_toc.o_portfolio_withtimeline,.o_portfolio_content .o_portfolio_entries.o_portfolio_withtimeline{width:70%;float:left}.o_portfolio_content .o_portfolio_timeline{width:29%;float:right}.o_portfolio_page_meta_wrapper{background-position:left top;background-repeat:no-repeat}.o_portfolio_rights table .o_portfolio_section td:first-child{padding-left:1.5em}.o_portfolio_rights table .o_portfolio_page td:first-child{padding-left:2.5em}.o_portfolio_publication table{padding-bottom:10px}.o_portfolio_publication table td{padding:5px 5px 5px 0}.o_portfolio_publication .o_portfolio_ac{font-size:90%}.o_portfolio_publication .o_portfolio_ac table td:nth-of-type(2){width:200px;white-space:nowrap}.o_portfolio_publication .o_portfolio_ac table td:nth-of-type(3){width:40px;white-space:nowrap}.o_portfolio_publication ul ul{margin-left:2em;margin-bottom:5px}.o_portfolio_publication ul li{background:#fbfbfb;padding:3px;margin-bottom:2px}.o_portfolio_publication ul li li{background:#f2f2f2}.o_portfolio_publication ul li li li{background:#eee}.o_portfolio_publication ul li li .table{margin-bottom:0px}@media (max-width: 767px){.o_portfolio_content .o_portfolio_toc.o_portfolio_withtimeline,.o_portfolio_content .o_portfolio_entries.o_portfolio_withtimeline{width:100%;float:none}.o_portfolio_content .o_sel_timeline_off,.o_portfolio_content .o_sel_timeline_on,.o_portfolio_content .o_portfolio_timeline{display:none}.o_portfolio_content .o_portfolio_content .o_portfolio_toc.o_portfolio_withtimeline{width:100%;float:none}}.o_portfolio_media_browser .o_portfolio_medias{position:relative;margin-bottom:20px;margin-top:20px}.o_portfolio_media_browser .o_portfolio_medias:before,.o_portfolio_media_browser .o_portfolio_medias:after{content:" ";display:table}.o_portfolio_media_browser .o_portfolio_medias:after{clear:both}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media{position:relative;float:left;margin:0 20px 20px 0;width:180px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media:last-child{margin-right:0}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual{border:1px solid #3b678a;position:relative;height:180px;width:180px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual span.o_visual_not_available{width:100%;height:100%;display:block}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon span.o_visual_not_available{background-image:none}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon{font-size:6em;text-align:center;color:#eee;line-height:140px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta{position:absolute;left:0;bottom:0;width:100%;border:1px solid #3b678a;border-top:0;background-color:rgba(255,255,255,0.8)}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title{margin:0;text-align:center;line-height:2em;height:2em;width:100%;overflow:hidden}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a{display:block;color:#3b678a;font-family:inherit;font-weight:inherit}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a:hover{color:#2c4c66}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a>i{display:none}@media (min-width: 768px) and (max-width: 991px){.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media{width:80px;margin:0 10px 10px 0}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual{height:80px;width:80px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon{font-size:2.5em;line-height:55px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_title{font-size:90%}}@media (max-width: 767px){.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media{width:80px;margin:0 1px 1px 0}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual{height:80px;width:80px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon{font-size:2.5em;line-height:55px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_title{font-size:90%}}.o_ed_htitle h1,.o_ed_htitle .h1{font-size:30px}.o_ed_htitle h2,.o_ed_htitle .h2{font-size:24px}.o_ed_htitle h3,.o_ed_htitle .h3{font-size:18px}.o_ed_htitle h4,.o_ed_htitle .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_ed_htitle h2,.o_ed_htitle .h4{font-size:14px}.o_ed_htitle h5,.o_ed_htitle .h5{font-size:12px}.o_ed_htitle h6,.o_ed_htitle .h6{font-size:12px}@media print{.o_binder h1{font-size:43.2px;margin-top:10cm}.o_portfolio_section{margin-bottom:1cm}.o_portfolio_section h3:first-of-type{font-size:36px}.o_page_lead{border:0;border-bottom:1px solid #d9d9d9;border-radius:0;background-color:none;padding:0;margin-bottom:10px}.o_page_lead .o_portfolio_status_block{border-top:0;margin-bottom:0}.o_page_lead .o_media img{border:0}.o_page_lead .o_portfolio_categories{display:block;margin-left:0}.o_page_lead .o_portfolio_status_block{padding-top:0}.o_page_lead .o_page_summary{margin-top:1em;font-style:italic}.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file,.o_pf_content .o_forum,.o_pf_content .o_image,.o_pf_content .o_video,.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_forum,.o_pf_content .o_wiki{padding:0;border-radius:0;border:0}.o_pf_content .o_cit .o_desc p,.o_pf_content .o_text .o_desc p,.o_pf_content .o_file .o_desc p,.o_pf_content .o_forum .o_desc p,.o_pf_content .o_image .o_desc p,.o_pf_content .o_video .o_desc p,.o_pf_content .o_efficiencystatement .o_desc p,.o_pf_content .o_feed .o_desc p,.o_pf_content .o_forum .o_desc p,.o_pf_content .o_wiki .o_desc p{margin:0}.o_efficiencystatement table{font-size:90%}.o_artefact_metadata{page-break-inside:avoid;border:0;border-left:5px solid #eee;padding-left:10px;font-size:80%}.o_artefact_metadata table td,.o_artefact_metadata table th{border:0 !important;padding:2px !important}.o_artefact_metadata table th:first-of-type{width:20%}.o_pf_video_placeholder{background-color:#f8f8f8 !important;-webkit-print-color-adjust:exact;color-adjust:exact}.o_pf_video_placeholder.visible-print-block{display:table !important}}.o_evaluation_form .o_evaluation_block{margin-top:2em;margin-bottom:2em}.o_evaluation_form .o_evaluation_step_labels{margin-bottom:1em;font-weight:bold}.o_evaluation_form .o_evaluation_step_labels div,.o_evaluation_form .o_evaluation_step_labels span{display:inline-block;text-align:center}.o_evaluation_form .o_slider{margin-bottom:1em}.o_evaluation_form .o_slider .radio{padding:0;min-height:unset}.o_evaluation_form .o_slider label{padding:0}.o_evaluation_form .o_slider input{padding:0;margin:0;position:relative}.o_evaluation_form .o_slider .o_evaluation_no_response label{margin-top:-3px}.o_evaluation_form .o_slider.hover{background-color:#f5f5f5}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_steps label{padding:0;margin:0;text-align:center}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_steps div.radio{background-color:#f9f9f9;margin-top:0px;display:inline-block;text-align:center}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_steps div.radio:hover{background-color:#f5f5f5}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_no_response div.checkbox{margin-top:0px}.o_evaluation_form .o_slider .ui-slider.ui-slider-horizontal.ui-widget-content{margin-top:0.3em}.o_evaluation_form .o_evaluation_left_label{text-align:right;font-weight:normal}.o_evaluation_form .o_evaluation_left_label_la{text-align:left;padding-left:0px;font-weight:normal}.o_evaluation_form .o_evaluation_right_label{text-align:left;font-weight:normal}.o_evaluation_form .o_evaluation_legend{padding-left:0.5em;margin-bottom:0.5em}.o_evaluation_form .o_evaluation_mc_other{margin-top:-20px;margin-left:20px}.o_evaluation_form .o_eva_disc_open{margin-top:-30px;margin-left:10px}.o_evaluation_discrete_slider .o_evaluation_step_labels{position:relative}.o_evaluation_discrete_slider .o_evaluation_step_labels div:first-child{position:absolute;left:0px;text-align:left}.o_evaluation_discrete_slider .o_evaluation_step_labels div{display:inline-block;text-align:center}.o_evaluation_discrete_slider .o_evaluation_step_labels div:last-child{position:absolute;right:0px;text-align:right}@media (max-width: 768px){.o_evaluation_form .o_evaluation_left_label{text-align:left}.o_evaluation_form .o_evaluation_right_label{text-align:right}.o_evaluation_form .o_evaluation_no_response{text-align:left}.o_evaluation_form .o_evaluation_no_response .o_evaluation_no_resp_value{font-weight:bold}.o_evaluation_form .o_evaluation_slider .o_evaluation_no_response{margin-top:0.7em}}@media (min-width: 768px){.o_evaluation_form .o_evaluation_no_resp_value{display:none}}.o_slider_overview{width:100%;height:20px;position:relative}.o_slider_overview .o_slider_overview_line{top:5px;left:0px;position:absolute;width:100%;height:11px;border:1px solid #999;border-radius:4px}.o_slider_overview .o_slider_overview_point{position:absolute;width:10px;height:10px;background-color:#3b678a}.o_evaluation_editor_form{margin:10px 10px 0 10px}.o_evaluation_editor_form .o_slider_editor{margin-top:10px;position:relative}.o_evaluation_editor_form .o_evaluation_step_labels{display:inline-block}.o_evaluation_editor_form .o_evaluation_step_labels input{width:100%}.o_evaluation_editor_form .o_slider_descrete_radio div.radio{background-color:#f9f9f9;padding-top:5px;padding-bottom:-5px;margin-top:0px;display:inline-block;text-align:center}.o_evaluation_editor_form .o_slider_descrete_radio div.radio:hover{background-color:#f5f5f5}.o_evaluation_editor_form .o_slider_continous{padding-top:10px;padding-bottom:-10px}.o_evaluation_editor_form .o_slider_descrete{padding-top:5px;padding-bottom:-5px}.o_evaluation_editor_form .o_evaluation_example{font-size:90%}.o_evaluation_editor_form .o_slider_editor_delete{padding-right:48px}.o_evaluation_editor_form .o_slider_editor_delete .o_slider_editor_delete_button{position:absolute;right:15px}.d3chart .o_eva_bar{fill:#3b678a}@media print{.o_evaluation_block{page-break-inside:avoid}.o_evaluation_discrete_radio .o_slider .o_evaluation_steps div.radio{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#f9f9f9 !important}}.o_cit{position:relative;margin:10px 0}.o_cit blockquote.o_quote{color:#555;font-size:18px;margin-top:6px;margin-bottom:0;padding:0 12px;font-style:italic;padding:5px 5px 0;border:0}.o_cit blockquote.o_quote p:last-child:after{content:'1)';top:-0.5em;font-size:75%;line-height:0;position:relative;vertical-align:baseline}.o_cit .o_cit_bibinfo{font-size:90%;margin-left:1em;position:relative}.o_cit .o_cit_bibinfo>div:first-child:before{content:'1)';position:absolute;top:0.5em;left:-1em;font-size:75%;line-height:0;vertical-align:baseline}.o_cit .title,.o_cit .url,.o_cit .authors,.o_cit .pages,.o_cit .date,.o_cit .dateAdded,.o_cit .place,.o_cit .institution,.o_cit .issue,.o_cit .publisher,.o_cit .publicationTitle,.o_cit .edition,.o_cit .series,.o_cit .volume{margin-right:0.5em}.o_cit .title{font-style:italic}.o_cit .publicationTitle{color:black}.o_cit .links{padding-left:2em}.o_cit .notes{padding-left:2em;color:grey}.o_cit .note{font-style:italic}.o_cit .note p:first-child{margin-top:0}.o_cit .note p:first-child{margin-bottom:0}.o_cit .listing.web .item{padding-left:0;text-indent:0}.o_cit .listing.web .title{display:block;font-weight:bold;font-style:normal}.o_cit .listing.web .publicationTitle{display:block;font-style:italic}.o_cit .listing.web .url{display:block}.o_cit .listing.web .links{padding-left:0}.o_cit .listing.web .notes{padding-left:0}.o_cit .general-info{border-top:1px solid #eee;padding-top:30px;margin-top:30px}.o_cit .copyright{display:none}@media print{.o_cit blockquote.o_quote{page-break-inside:avoid}}.o_video_poster{position:relative;display:inline-block;width:400px;max-width:100%;height:225px;background-size:cover;background-repeat:no-repeat;border:1px solid #eee}.o_video_poster_select{text-align:center}.o_video_poster_select .o_video_poster{margin:5px}.o_video_poster_select .o_video_poster a{position:absolute;left:0;top:0;width:100%;height:100%}.o_video_poster_select .o_video_poster a span{position:absolute;bottom:0;width:100%;display:block;line-height:3em;background:#f8f8f8;opacity:0.8}.o_video_poster_select .o_video_poster a:hover{border:1px solid #bbb}.o_video_poster_select .o_video_poster a:hover span{opacity:0.9}.o_video_peekview{text-align:center}.o_video_listing .o_table_body.container-fluid{padding-right:0px;padding-left:0px}.o_video_listing .o_video_entry{position:relative;display:inline-block;height:230px;width:250px;vertical-align:top;margin-right:10px}.o_video_listing .o_video_poster{width:250px;max-width:100%;height:140px;border:1px solid #eee}.o_video_listing .o_timecode{position:absolute;bottom:2px;right:3px;padding:3px 4px;background:#333;color:#fff;font-size:12px;line-height:12px}.o_video_listing .o_meta{padding:2px;font-size:11px}.o_video_listing .o_meta h5{font-size:14px;margin-top:0;margin-bottom:5px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o_video_listing .o_date{margin-left:10px;display:inline-block}.o_video_listing .o_date:before{content:'\002022';margin-right:10px;display:inline-block}.o_video_run .o_author{margin-top:0.5em;margin-bottom:1em;line-height:normal;font-size:90%;color:#3c763d}.o_video_run .o_ratings_and_comments{margin-top:2em;border-top:1px solid #eee;padding-top:1em}.o_video_chapter_editor .o_table_wrapper.o_table_flexi .table{margin-top:0}.mejs__controls .mejs__sourcechooser-button>button{background:transparent;display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.mejs__controls .mejs__sourcechooser-button>button:before{content:"";color:white;font-size:18px}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector{visibility:visible !important;width:170px;padding-left:10px}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li label{font-weight:normal;font-size:10px;width:140px}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li label:hover{color:#eee}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li label .type{display:none}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li input{visibility:hidden;margin:0;width:0}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li input:checked+label{color:#d9534f}.mejs__controls .mejs__captions-button .mejs__captions-selector{right:-26px}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li label{font-weight:normal;font-size:10px}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li label:hover{color:#eee}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li label .type{display:none}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li input{visibility:hidden;margin:0;width:0}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li input:checked+label{color:#d9534f}.mejs__button.mejs__speed-button{width:36px}.mejs__controls .mejs__speed-button>button{background:transparent;width:36px;margin:11px 0 0 0;font-size:11px;line-height:normal;color:#ffffff}.mejs__controls .mejs__speed-button .mejs__speed-selector{height:150px;top:auto;bottom:40px}.mejs__controls .mejs__speed-button .mejs__speed-selector ul li label{font-weight:normal;font-size:10px}.mejs__chapters .mejs__chapter .mejs__chapter-block .ch-title,.mejs__chapters .mejs__chapter .mejs__chapter-block .ch-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.o_userbulk_changedcell{font-style:italic;font-weight:bold}.o_qpool_source_status{text-align:center}.o_qitem_author{white-space:nowrap}.dropdown-toggle.o_qpool_tools_status>i{margin:0 0 3px 0}.dropdown-menu.o_qpool_tools_status{cursor:pointer}a.o_qpool_status{margin:0 2px 2px 2px;text-align:left}a.o_qpool_status_draft,.dropdown-toggle.o_qpool_status_draft{background-color:#4a6785 !important;border-color:#4a6785;color:#fff !important}a.o_qpool_status_review,.dropdown-toggle.o_qpool_status_review{background-color:#ffd351 !important;border-color:#ffd351;color:#fff !important}a.o_qpool_status_revised,.dropdown-toggle.o_qpool_status_revised{background-color:#933 !important;border-color:#933;color:#fff !important}a.o_qpool_status_finalVersion,.dropdown-toggle.o_qpool_status_finalVersion{background-color:#14892c !important;border-color:#14892c;color:#fff !important}a.o_qpool_status_endOfLife,.dropdown-toggle.o_qpool_status_endOfLife{background-color:#aaa !important;border-color:#aaa;color:#fff !important}.o_qpool_status_draft_light{border-color:#4a6785;color:#4a6785}.o_qpool_status_review_light{border-color:#ffd351;color:#333}.o_qpool_status_revised_light{border-color:#933;color:#933}.o_qpool_status_finalVersion_light{border-color:#14892c;color:#14892c}.o_qpool_status_endOfLife_light{border-color:#aaa;color:#aaa}.btn-arrow-right.o_qpool_qitem_draft{background:#f8f8f8;border-bottom-color:#4a6785;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_review{background:#f8f8f8;border-bottom-color:#ffd351;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_revised{background:#f8f8f8;border-bottom-color:#933;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_final{background:#f8f8f8;border-bottom-color:#14892c;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_end_of_life{background:#f8f8f8;border-bottom-color:#aaa;border-bottom-width:3px}.btn-arrow-right.o_qpool_status_slected{background-color:#e7e7e7;color:#555}.btn-arrow-right,.btn-arrow-left{position:relative;padding-left:18px;padding-right:18px;margin-bottom:5px}.btn-arrow-right{padding-left:36px}.btn-arrow-left{padding-right:36px}.btn-arrow-right:before,.btn-arrow-right:after,.btn-arrow-left:before,.btn-arrow-left:after{content:"";position:absolute;top:5px;width:22.627417px;height:22.627417px;background:inherit;border:inherit;border-left-color:transparent;border-bottom-color:transparent;border-radius:0px 4px 0px 0px;-webkit-border-radius:0px 4px 0px 0px;-moz-border-radius:0px 4px 0px 0px}.btn-arrow-right:before,.btn-arrow-right:after{transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);-ms-transform:rotate(45deg)}.btn-arrow-left:before,.btn-arrow-left:after{transform:rotate(225deg);-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-o-transform:rotate(225deg);-ms-transform:rotate(225deg)}.btn-arrow-right:before,.btn-arrow-left:before{left:-11px}.btn-arrow-right:after,.btn-arrow-left:after{right:-11px}.btn-arrow-right:after,.btn-arrow-left:before{z-index:1}.btn-arrow-right:before,.btn-arrow-left:after{background-color:white}body.o_dmz{background:transparent}body.o_dmz #o_bg{position:absolute;top:0;left:0;width:100%;height:100%;border-top:50px solid transparent;border-bottom:70px solid transparent;background:url("images/learn-bg.jpg");background-size:cover;background-position:center center;background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 )}body.o_dmz #o_bg:after{content:" ";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right, rgba(255,255,255,0.1) 0.2%, rgba(255,255,255,0.6) 60%, rgba(255,255,255,0.8) 100%);background-size:cover;background-position:center center;background-repeat:no-repeat}body.o_dmz #o_toplink{display:none}body.o_dmz #o_main_wrapper,body.o_dmz #o_main_wrapper #o_main_container{background:transparent}.o_login{padding-bottom:20px;padding-left:10%;padding-right:10%;text-align:right}.o_login .o_login_intro{padding-left:10%}.o_login .o_login_intro h1{margin-bottom:40px;color:#3b678a}.o_login .o_login_intro .lead{color:#333}.o_login .o_login_intro .lead h1,.o_login .o_login_intro .lead h2,.o_login .o_login_intro .lead h3,.o_login .o_login_intro .lead h4,.o_login .o_login_intro .lead .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_login .o_login_intro .lead h2,.o_login .o_login_intro .lead h5{margin-bottom:20px;color:#3b678a}.o_login .o_login_messages,.o_login .o_login_box{display:inline-block;width:400px;text-align:left}.o_login .o_login_messages .o_infomessage_wrapper{background:rgba(255,255,255,0.5);border:1px solid transparent;border-radius:4px;padding:6px 12px}.o_login .o_login_messages .o_infomessage_wrapper .o_info,.o_login .o_login_messages .o_infomessage_wrapper .o_warning,.o_login .o_login_messages .o_infomessage_wrapper .o_note{margin:0}.o_login .o_login_box{padding-top:10px}.o_login .o_login_providers{margin-bottom:6px;border-radius:4px;-webkit-box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3);box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3)}.o_login .o_login_providers a span{display:block;font-size:9px;padding-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_login .o_login_providers .o_icon_provider_olat{font-size:1em}.o_login .o_login_provider{background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3);box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3)}.o_login .o_login_form{position:relative;padding:10px 12px}.o_login .o_login_form .o_login_pwd{position:absolute;bottom:2em;right:12px}.o_login .o_login_form .o_form .o_desc{margin:0 0 30px 0;padding:0;border-left:0;background-color:transparent}.o_login .o_login_register{display:block;line-height:2em;font-size:18px;text-align:center;color:#fff;background-color:#5bc0de;border-color:#46b8da;border-radius:4px;margin-top:16px;padding:10px 12px}.o_login .o_login_register:hover,.o_login .o_login_register:focus,.o_login .o_login_register.focus,.o_login .o_login_register:active,.o_login .o_login_register.active,.open>.o_login .o_login_register.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.o_login .o_login_register:active,.o_login .o_login_register.active,.open>.o_login .o_login_register.dropdown-toggle{background-image:none}.o_login .o_login_register.disabled,.o_login .o_login_register.disabled:hover,.o_login .o_login_register.disabled:focus,.o_login .o_login_register.disabled.focus,.o_login .o_login_register.disabled:active,.o_login .o_login_register.disabled.active,.o_login .o_login_register[disabled],.o_login .o_login_register[disabled]:hover,.o_login .o_login_register[disabled]:focus,.o_login .o_login_register[disabled].focus,.o_login .o_login_register[disabled]:active,.o_login .o_login_register[disabled].active,fieldset[disabled] .o_login .o_login_register,fieldset[disabled] .o_login .o_login_register:hover,fieldset[disabled] .o_login .o_login_register:focus,fieldset[disabled] .o_login .o_login_register.focus,fieldset[disabled] .o_login .o_login_register:active,fieldset[disabled] .o_login .o_login_register.active{background-color:#5bc0de;border-color:#46b8da}.o_login .o_login_register .badge{color:#5bc0de;background-color:#fff}.o_login .o_login_register small{font-size:14px}.o_login .o_login_social{position:relative;padding:10px 12px}.o_login .o_login_social li{padding:10px 12px}.o_login .o_login_social li>a{display:block;line-height:2em;text-align:center;font-size:18px;border-radius:4px;padding:10px 12px}.o_login .o_login_social .btn-default.o_sel_auth_facebook{color:#fff;background-color:#4568b2;border-color:#3e5da0}.o_login .o_login_social .btn-default.o_sel_auth_facebook:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook:focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook.focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_facebook.dropdown-toggle{color:#fff;background-color:#37538d;border-color:#2d4374}.o_login .o_login_social .btn-default.o_sel_auth_facebook:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_facebook.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled],.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook.active{background-color:#4568b2;border-color:#3e5da0}.o_login .o_login_social .btn-default.o_sel_auth_facebook .badge{color:#4568b2;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_twitter{color:#fff;background-color:#2cc5ff;border-color:#13beff}.o_login .o_login_social .btn-default.o_sel_auth_twitter:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter:focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter.focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_twitter.dropdown-toggle{color:#fff;background-color:#00b4f8;border-color:#009ad4}.o_login .o_login_social .btn-default.o_sel_auth_twitter:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_twitter.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled],.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter.active{background-color:#2cc5ff;border-color:#13beff}.o_login .o_login_social .btn-default.o_sel_auth_twitter .badge{color:#2cc5ff;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_google{color:#fff;background-color:#e15f4f;border-color:#dd4b39}.o_login .o_login_social .btn-default.o_sel_auth_google:hover,.o_login .o_login_social .btn-default.o_sel_auth_google:focus,.o_login .o_login_social .btn-default.o_sel_auth_google.focus,.o_login .o_login_social .btn-default.o_sel_auth_google:active,.o_login .o_login_social .btn-default.o_sel_auth_google.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_google.dropdown-toggle{color:#fff;background-color:#d83825;border-color:#ba3120}.o_login .o_login_social .btn-default.o_sel_auth_google:active,.o_login .o_login_social .btn-default.o_sel_auth_google.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_google.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_google.disabled,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled],.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google.active{background-color:#e15f4f;border-color:#dd4b39}.o_login .o_login_social .btn-default.o_sel_auth_google .badge{color:#e15f4f;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_linkedin{color:#fff;background-color:#0181bd;border-color:#0170a4}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin:focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_linkedin.dropdown-toggle{color:#fff;background-color:#015e8a;border-color:#014667}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_linkedin.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled],.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin.active{background-color:#0181bd;border-color:#0170a4}.o_login .o_login_social .btn-default.o_sel_auth_linkedin .badge{color:#0181bd;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_adfs{color:#fff;background-color:#3b678a;border-color:#335a78}.o_login .o_login_social .btn-default.o_sel_auth_adfs:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs:focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs.focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_adfs.dropdown-toggle{color:#fff;background-color:#2c4c66;border-color:#213a4d}.o_login .o_login_social .btn-default.o_sel_auth_adfs:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_adfs.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled],.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs.active{background-color:#3b678a;border-color:#335a78}.o_login .o_login_social .btn-default.o_sel_auth_adfs .badge{color:#3b678a;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect{color:#fff;background-color:#3b678a;border-color:#335a78}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:hover,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.dropdown-toggle{color:#fff;background-color:#2c4c66;border-color:#213a4d}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled],.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.active{background-color:#3b678a;border-color:#335a78}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect .badge{color:#3b678a;background-color:#fff}.o_old_browser{display:none}.o_browser_ie7 .o_old_browser,.o_browser_ie8 .o_old_browser,.o_browser_ie9 .o_old_browser,.o_browser_ie10 .o_old_browser{display:block}@media (max-width: 767px){body.o_dmz #o_bg{background:none;display:none}.o_login{padding:0}.o_login .o_login_intro{padding:0;text-align:left}.o_login .o_login_box_wrapper{text-align:center;padding:0}.o_login .o_login_box{padding-left:0;padding-right:0}.o_login .o_login_box .o_login_providers,.o_login .o_login_box .o_login_provider{-webkit-box-shadow:none;box-shadow:none}.o_login .o_login_messages,.o_login .o_login_box{width:100%;display:block}}.o_home_main h1{text-align:center}.o_home_main .o_icon_rss{line-height:20px;vertical-align:middle}.o_showall{font-size:12px;text-align:right;margin-bottom:5px;margin-top:10px}.o_portlet{position:relative;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1)}.o_portlet .o_header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 12px;border-bottom:1px solid #ddd;background-color:#f5f5f5;border-top-right-radius:4px;border-top-left-radius:4px}.o_portlet .o_content{padding:6px 12px}.o_portlet .o_portlet_table{margin:-12px;margin-bottom:-6px;margin-top:0}.o_portlet .o_table_empty.o_info{padding:6px}.o_portlet .o_toolbox{position:absolute;top:-1px;right:-1px;z-index:2;background-color:#fff;border:1px solid #faebcc;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;padding:6px 12px}.o_portlet .o_toolbox div{display:inline}.o_portlet .o_edit_shim{position:absolute;height:100%;width:100%;z-index:1;background:#fcf8e3;opacity:0.8}.o_inactive .o_header a{float:right;margin-left:12px;margin-top:10px}.o_portlet_dyk_q{margin-top:5px;font-style:italic}.o_portlet_dyk_a{margin:5px 0}.o_portlet_dyk_next{margin:5px 0;text-align:right}.o_library_icon:before{content:""}.o_library ul{list-style:none;margin:0 0 15px 0;padding:0}.o_library ul ul{margin:0}.o_library_overview .o_library_newest_files ul li{float:left;margin-right:15px}.o_library_item{margin-bottom:10px;position:relative}.o_library_item .o_library_visual,.o_library_item .o_library_extra,.o_library_item .o_library_meta{margin-top:15px}.o_library_item .o_library_visual{float:left;background-color:#fff;border-radius:4px;border:1px solid #ddd}.o_library_item .o_library_visual .o_thumbnail_available,.o_library_item .o_library_visual .o_thumbnail_unavailable{background-size:146px auto;width:150px !important;height:150px !important;background-repeat:no-repeat;background-position:50% 50%}.o_library_item .o_library_visual .o_thumbnail_available:before,.o_library_item .o_library_visual .o_thumbnail_unavailable:before{content:none}.o_library_item .o_library_visual .o_thumbnail_available{background-size:146px auto}.o_library_item .o_library_visual .o_thumbnail_unavailable{display:none}.o_library_item .o_library_extra{float:right;width:200px}.o_library_item .o_library_meta{clear:both}.o_library_item .o_library_meta .o_library_desc{padding-bottom:10px}.o_library_item .o_library_meta small{display:block;word-wrap:break-word}.o_library_item h4,.o_library_item .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_library_item h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:normal}.o_library_item .btn{display:block;margin-bottom:0.5em}.o_library_item .o_comments{display:inline-block}.o_library_item .table{table-layout:fixed;word-wrap:break-word;margin-bottom:0}.o_library_item p.o_library_show_more{text-align:right;margin:0;padding-top:20px}.o_library_item .o_library_more{padding-top:20px;display:none}.o_library_folder{margin-top:-20px}.o_library .o_ratings_and_comments .o_rating_title,.o_library .o_ratings_and_comments .o_rating_explanation{display:none}@media (min-width: 768px){.o_library_item .o_library_meta{clear:none;margin-left:150px;margin-right:200px;padding:0 10px}.o_library_item .o_library_more{display:none}.o_library_item .o_library_more table tbody{vertical-align:top}.o_library_item .o_library_more table tr,.o_library_item .o_library_more table th,.o_library_item .o_library_more table td{display:inline-block}.o_library_item .o_library_more table tr{width:49%}.o_library_item .o_library_more table th{width:30%}.o_library_item .o_library_more table td{width:70%}}.o_library_item_compact .o_library_extra{width:auto}.o_library_item_compact .o_library_meta{padding:0 10px 0 0;margin:0;overflow:hidden}.o_library_item_compact .btn{display:inline-block}.o_library_item_compact h4,.o_library_item_compact .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_library_item_compact h2{overflow:hidden;margin-right:70px}.o_library_item_compact h4 a,.o_library_item_compact .o_cal .fc-header-title h2 a,.o_cal .fc-header-title .o_library_item_compact h2 a{text-overflow:ellipsis;white-space:nowrap}.o_library_item_compact p.o_library_show_more{padding:20px;position:absolute;top:0;right:0}span.o_translation_i18nitem{position:relative !important}span.o_translation_i18nitem a.o_translation_i18nitem_launcher{position:absolute !important;z-index:100 !important;width:18px !important;height:20px !important;top:0 !important;left:5px !important;background:#fff;border:1px solid #3b678a !important;border-radius:3px;text-align:center;padding:0 !important}.o_user_infos{position:relative}.o_user_infos .o_user_portrait{position:absolute;top:0;left:15px;width:100px;height:100px}.o_user_infos .o_user_infos_inner{margin:0 30px 0 100px}.o_user_infos .o_user_infos_inner table{margin:0 30px 15px 30px}.o_useradmin .o_user_infos .o_user_infos_inner{margin-right:45px}div.o_skype_button{display:inline-block}div.o_skype_button p{margin:0 0 0 0}div.o_skype_button p a img{margin:0 !important;vertical-align:middle !important}.o_useradmin div#o_main_toolbar.o_toolbar{margin-top:0px}.o_members_pagination{text-align:center}.o_bcard_logo{margin-left:10px;height:66px}.o_bcard_title_with_logo{clear:both;padding:20px 0 0 0}.o_visitingcard_image,.o_visitingcard_logo{height:66px}.o_visitingcard .o_icon_visitingcard{display:none}.o_visitingcard .o_portrait_avatar,.o_visitingcard .o_portrait_dummy,.o_visitingcard .o_portrait_dummy_female_big,.o_visitingcard .o_portrait_dummy_male_big,.o_visitingcard .o_portrait_anonymous{width:66px;height:66px;margin-right:10px}@media (max-width: 767px){.o_visitingcard .o_portrait_avatar,.o_visitingcard .o_portrait_dummy,.o_visitingcard .o_portrait_dummy_female_big,.o_visitingcard .o_portrait_dummy_male_big,.o_visitingcard .o_portrait_anonymous{width:50px;height:50px;margin:5px 5px 0 0}.o_visitingcard_image,.o_visitingcard_logo{height:50px}.o_visitingcard_logo,.o_bcard_logo{height:50px;margin:5px 0 0 5px}.o_visitingcard_logo img,.o_bcard_logo img{position:relative;transform:scale(.7575757576);top:-8px}}@media (max-width: 414px){.o_visitingcard_logo img{max-width:260px}}@media (max-width: 375px){.o_visitingcard_logo img{max-width:220px}}@media (max-width: 320px){.o_visitingcard_logo img{max-width:180px}.o_bcard_logo img{max-width:150px}}.o_gta_coach_selection .o_noti{display:inline-block;float:none;margin:0}.o_gta_coach_selection .o_gta_coach_selection_bar{position:relative}.o_gta_coach_selection .o_gta_coach_selection_bar .o_noti{position:absolute;top:3px;right:0}p.o_gta_reopen_warning{margin-top:-20px}.o_lecture_authorized_absence div.form-inline,.o_lecture_authorized_absence div.o_navbar-form{display:inline}.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table{margin-top:0}.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_date,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_startTime,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_endTime,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_details,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_tools{width:1%}.o_lectures_teacher_overview .o_lectures_current_wrapper{border:1px solid transparent;background:#f8f8f8;border-radius:4px;margin:10px -10px 20px -10px;padding:10px}.o_lectures_teacher_overview .o_lectures_current_wrapper .o_button_group{margin-bottom:0}.o_lectures_teacher_overview .o_lectures_teacher_search .o_form .o_date{padding-right:10px;position:relative}.o_lectures_teacher_overview .o_lectures_teacher_search span.o_chelp_wrapper{position:absolute;top:0;right:0}.o_lectures_rollcall legend{margin-bottom:10px}.o_lectures_rollcall .o_desc,.o_lectures_rollcall .o_preparation{margin:0}.o_rollcall_next_previous_group{text-align:center}.o_rollcall_next_previous_group a.o_sel_close{float:left}.o_rollcall_next_previous_group a.o_sel_close span{display:none}.o_rollcall_next_previous_group .form-control{display:inline;width:auto}@media (max-width: 767px){.o_rollcall_next_previous_group a span{display:none}}.o_lecture_free{color:#777}.o_rollcall_portrait>div{margin:0 auto 10px auto;width:100px}.o_edubase_pv{overflow:hidden;padding-top:10px}.o_edubase_pv_fig{display:inline-block;vertical-align:top;width:110px;margin-right:3%}.o_edubase_run_enabled .o_edubase_page{font-size:12px;color:#777}.o_edubase_run_disabled .o_edubase_booksection{margin-right:3%;margin-bottom:3%;width:177px;display:inline-table}.o_edubase_run_disabled .o_edubase_page{font-size:12px;color:#777}.o_edubase_bs_buttons{padding-top:10px}.o_edubase_bs_book_id{margin-top:-2px}.o_edubase_bs_details{margin-left:-20px}.o_edubase_bs_details_label{visibility:hidden}.o_edubase_bs_cover object{margin-left:10px;margin-top:10px;height:120px}.o_edubase_bs_cover img{margin-left:10px;margin-top:10px;height:120px}.o_edubase_edit_books .o_icon_error{visibility:hidden}.o_edubase_edit_books .o_icon_help{margin-bottom:0px}.o_edubase_edit_books .row{margin-bottom:5px}.o_taxonomy div#o_main_toolbar.o_toolbar{margin-top:0px}.o_taxonomy_listing.o_rendertype_custom .o_table_body.container-fluid{padding-right:0px;padding-left:0px}.o_taxonomy_listing.o_rendertype_custom .o_taxonomy_row{position:relative;display:inline-block;height:200px;width:450px;vertical-align:top;margin-right:10px}.o_taxonomy_listing.o_rendertype_custom .o_taxonomy_row ul{padding-left:2em}.ui-widget{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:100%}.ui-widget-header{border-top:none;border-left:none;border-right:none;border-bottom:1px solid #eee;background:#fff;font-weight:bold}.ui-icon,.ui-widget-content .ui-icon,.ui-widget-header .ui-icon,.ui-state-default .ui-icon,.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-state-active .ui-icon,.ui-state-highlight .ui-icon,.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background:none;background-image:none}.ui-dialog{-webkit-box-shadow:0px 1px 8px -1px rgba(0,0,0,0.35);box-shadow:0px 1px 8px -1px rgba(0,0,0,0.35);background-color:#fefefe}.ui-dialog .ui-widget-header .ui-dialog-title{color:#3b678a;font-weight:500;font-family:inherit;line-height:1.1}.ui-dialog .ui-widget-header .ui-dialog-titlebar-close:before{content:"ï€" !important}.ui-dialog .ui-widget-header .ui-dialog-titlebar-close{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ui-dialog .ui-widget-header .ui-dialog-titlebar-close span{display:none}.ui-dialog .ui-widget-header .ui-button.ui-corner-all{border:none !important;background:#fff !important;float:right}.ui-dialog .ui-widget-content{border-color:#fff;padding:5px;overflow:auto;background:white !important}.ui-dialog .ui-dialog-titlebar{padding:4px 7px 4px 7px;background-color:#eee !important}.ui-dialog.ui-corner-all{border-radius:4px}.ui-dialog.ui-widget-content{border:1px solid transparent}.ui-dialog.o_modal-ui{max-width:100vw;max-height:100vh}.ui-dialog.o_modal-ui div.ui-dialog-buttonpane{display:none}@media (max-width: 767px){.ui-dialog.o_modal-ui{height:100vh !important;width:100vw !important}.ui-dialog.o_modal-ui div.ui-dialog-content{height:90vh !important}}.ui-slider.ui-slider-horizontal.ui-widget-content{border-color:#aaa;background:#f9f9f9}.ui-slider.ui-slider-horizontal.ui-widget-content.ui-state-disabled{opacity:0.65}.ui-slider.ui-slider-horizontal.ui-widget-content .ui-slider-handle{border:1px solid #3b678a;background-image:none;background-color:#3b678a}.ui-datepicker{z-index:2000 !important;-webkit-box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15);box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15)}.ui-datepicker .ui-widget-header .ui-corner-all,.ui-datepicker .ui-widget-header .ui-datepicker-next.ui-corner-all{border:none !important;background:#fff !important}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e:before{content:"ï¡";font-weight:normal;color:black}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w:before{content:"ï ";font-weight:normal;color:black}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e,.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{font-family:'FontAwesome';display:inline-block;background-image:none;background-position:0 0;font-weight:normal;text-indent:0;color:white}.ui-datepicker .ui-widget-header .ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-widget-header .ui-datepicker .ui-datepicker-next-hover{top:2px}.ui-datepicker .ui-state-default{background:#eee}.ui-datepicker .ui-state-highlight,.ui-datepicker .ui-widget-content .ui-state-highlight{border:1px solid #335a78;background:#3b678a;color:#fff}.ui-datepicker.ui-corner-all{border-radius:4px}.ui-datepicker.ui-widget-content{border:1px solid transparent}label.mce-label{display:inline;max-width:150px;margin-bottom:0;font-weight:normal}.o_richtext_mce_without_path .mce-statusbar{border:none}.o_richtext_mce_without_path .mce-path{display:none !important}.o_richtext_mce_without_path .mce-menubtn.mce-fixed-width span{width:auto}.o_richtext_mce>.o_richtext_mce_modes{text-align:right;padding-right:4px}.o_richtext_mce>.o_richtext_mce_modes a{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}i.mce-ico.mce-i-media,i.mce-ico.mce-i-movie,i.mce-ico.mce-i-help,i.mce-ico.mce-i-gaptext,i.mce-ico.mce-i-gapnumerical,i.mce-ico.mce-i-hottext,i.mce-ico.mce-i-edit{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}i.mce-ico.mce-i-media:before{content:""}i.mce-ico.mce-i-movie:before{content:""}i.mce-ico.mce-i-gaptext:before{content:"ï…"}i.mce-ico.mce-i-gapnumerical:before{content:""}i.mce-ico.mce-i-hottext:before{content:"ï"}i.mce-ico.mce-i-math:before{content:'\03A3'}i.mce-ico.mce-i-edit:before{content:"ï„"}i.mce-ico.mce-i-help{width:9px;height:9px;padding-top:1px}i.mce-ico.mce-i-help:before{content:"ï™";color:white}.mce-tabs span.o_chelp_wrapper{float:right;margin:5px}.mce-wordcount:after{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"ï™"}.mce-danger .mce-wordcount:after{color:#d9534f;content:"ïª"}.mce-statusbar.mce-danger{background-color:#f2dede}div.o_table_search span.twitter-typeahead{display:table-cell;padding-top:3px}.tag.label.label-info{margin-right:3px}@media print{a[href]:after{content:""}#o_header_wrapper,#o_offcanvas_right,#o_navbar_wrapper,#o_footer_wrapper,#o_toplink,#o_main_left,#o_main_right,#o_main_toolbar,#jsMath_PrintWarning,.o_noti,.o_opener,.o_hide,.o_noprint{display:none !important}.o_print_break_avoid{page-break-inside:avoid}.o_print_break_before{page-break-before:always}.o_print_break_after{clear:both;page-break-after:always}.btn{display:none}.o_form textarea,.o_form .form-control.textarea_disabled{-webkit-print-color-adjust:exact;color-adjust:exact;background:#fff !important;height:auto !important;color:#000 !important;resize:none}#o_comment_form_link,.o_comments form{display:none !important}.o_avatar{display:none}body.o_dmz{background:white !important;-webkit-print-color-adjust:exact;color-adjust:exact}.modal-dialog{margin:0 !important;width:100% !important;height:100% !important;background:#fff !important;-webkit-print-color-adjust:exact;color-adjust:exact}.progress{page-break-inside:avoid;-webkit-print-color-adjust:exact;color-adjust:exact;background-color:rgba(0,0,0,0.1) !important;border:1px solid rgba(0,0,0,0.5)}.progress-bar{-webkit-print-color-adjust:exact;background-color:#000 !important;border:10px solid #000}.ui-slider.ui-slider-horizontal.ui-widget-content{-webkit-print-color-adjust:exact;color-adjust:exact;background:#f9f9f9 !important}.ui-slider.ui-slider-horizontal.ui-widget-content .ui-slider-handle{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#3b678a !important}.radial-progress{page-break-inside:avoid;-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#eee !important}.radial-progress .circle .mask .fill{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#000 !important}.radial-progress .inset{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#fff !important}body{margin:0}table,figure,figure{page-break-inside:avoid}h1,h2,h3,h4,.o_cal .fc-header-title h2,h5,h6{page-break-after:avoid}}.o_highscore .o_position{text-align:center;font-size:1.2em;font-weight:bold}.o_highscore .o_position h2{font-size:3em;font-weight:700;line-height:1.2em}@media screen and (-webkit-min-device-pixel-ratio: 0){.o_highscore .o_position h2{background:linear-gradient(330deg, #e05252 0%, #99e052 25%, #52e0e0 50%, #9952e0 75%, #e05252 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline}.o_highscore .o_position h2:after{content:"\A";white-space:pre}}.o_highscore .o_position_relative{font-size:1em;font-weight:normal}.o_highscore .o_podium{position:relative;vertical-align:bottom;height:300px;margin-bottom:50px}.o_highscore .o_rank{width:30%;position:absolute;bottom:0;text-shadow:rgba(102,102,102,0.5) 0 -1px 0,rgba(255,255,255,0.6) 0 2px 1px}.o_highscore .o_rank:before{position:absolute;bottom:0;left:0;width:100%;text-align:center}.o_highscore .o_rank .o_name{position:absolute;top:100%;width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:1em;text-shadow:none}.o_highscore .o_rank .o_score{color:#777;font-size:90%;width:100%;text-align:center;position:absolute;top:-20px;text-shadow:none}.o_highscore .o_rank .o_singleportrait{position:absolute;width:100%;text-align:center;top:-125px}.o_highscore .o_rank .o_rank_portraits{position:relative;left:0;top:-210px;height:180px;width:200px;text-align:center;vertical-align:bottom;display:table-cell}.o_highscore .o_rank .o_rank_portraits ul{display:inline-block}.o_highscore .o_rank .o_rank_portraits .o_portrait{margin:5px}.o_highscore .o_first{height:150px;left:30%;border:1px solid #d9d9d9;border-top-left-radius:4px;border-top-right-radius:4px;background:gold;background:-moz-linear-gradient(top, #fff7cc 0%, #ffdf33 50%, gold 51%, #ffe766 100%);background:-webkit-linear-gradient(top, #fff7cc 0%, #ffdf33 50%, gold 51%, #ffe766 100%);background:linear-gradient(top, #fff7cc 0%, #ffdf33 50%, gold 51%, #ffe766 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='$basecolor', endColorstr='lighten($basecolor,20%)',GradientType=0 )}.o_highscore .o_first:before{content:"1";font-size:700%;line-height:150px;color:#666}.o_highscore .o_second{height:100px;left:0;background:silver;background:-moz-linear-gradient(top, #fff 0%, #dadada 50%, silver 51%, #f3f3f3 100%);background:-webkit-linear-gradient(top, #fff 0%, #dadada 50%, silver 51%, #f3f3f3 100%);background:linear-gradient(top, #fff 0%, #dadada 50%, silver 51%, #f3f3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='$basecolor', endColorstr='lighten($basecolor,20%)',GradientType=0 );border-left:1px solid #d9d9d9;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;border-top-left-radius:4px}.o_highscore .o_second:before{content:"2";font-size:500%;line-height:100px;color:#666}.o_highscore .o_third{height:80px;left:60%;background:#cd7f32;background:-moz-linear-gradient(top, #f5e5d6 0%, #d7995b 50%, #cd7f32 51%, #e1b284 100%);background:-webkit-linear-gradient(top, #f5e5d6 0%, #d7995b 50%, #cd7f32 51%, #e1b284 100%);background:linear-gradient(top, #f5e5d6 0%, #d7995b 50%, #cd7f32 51%, #e1b284 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='$basecolor', endColorstr='lighten($basecolor,20%)',GradientType=0 );border-right:1px solid #d9d9d9;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;border-top-right-radius:4px}.o_highscore .o_third:before{content:"3";font-size:300%;line-height:80px;color:#666}.o_highscore .o_histogram{position:relative;bottom:-40px;margin-bottom:40px}.o_highscore .o_histogram .d3chart{width:100%;padding-top:50px;height:300px}.o_highscore .o_histogram .d3chart text{fill:#888}.o_highscore .o_histogram .d3chart .axis path,.o_highscore .o_histogram .d3chart .axis line{stroke:#888}.o_highscore .o_histogram .d3chart .o_myself{fill:#3b678a}.o_highscore .o_histogram .d3chart .o_myself:hover{fill:#4a82ae}.o_highscore .o_histogram .d3chart .o_other{fill:#777}.o_highscore .o_histogram .d3chart .o_other:hover{fill:#919191}.o_highscore .o_histogram .d3chart .o_empty{fill:#000}.o_listing .o_table_wrapper.o_table_flexi .table{margin-top:0}.o_listing table th:nth-of-type(1),.o_listing table th :nth-of-type(2){width:5em}body.o_browser_ie7 #o_offcanvas_right,body.o_browser_ie8 #o_offcanvas_right{right:0px}.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-default.active,.btn-primary:active,.btn-primary.active,.btn-success:active,.btn-success.active,.btn-info:active,.btn-info.active,.btn-warning:active,.btn-warning.active,.btn-danger:active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-default .badge,.btn-primary .badge,.btn-success .badge,.btn-info .badge,.btn-warning .badge,.btn-danger .badge{text-shadow:none}.btn:active,.btn.active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);background-image:-o-linear-gradient(top, #fff 0%, #e0e0e0 100%);background-image:linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFE0E0E0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top, #3b678a 0%, #29475f 100%);background-image:-o-linear-gradient(top, #3b678a 0%, #29475f 100%);background-image:linear-gradient(to bottom, #3b678a 0%, #29475f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3B678A', endColorstr='#FF29475F', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#264258}.btn-primary:hover,.btn-primary:focus{background-color:#29475f;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#29475f;border-color:#264258}.btn-primary:disabled,.btn-primary[disabled]{background-color:#29475f;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);background-image:-o-linear-gradient(top, #5cb85c 0%, #419641 100%);background-image:linear-gradient(to bottom, #5cb85c 0%, #419641 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5CB85C', endColorstr='#FF419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);background-image:-o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);background-image:linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF2AABD2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);background-image:-o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);background-image:linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF0AD4E', endColorstr='#FFEB9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);background-image:-o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);background-image:linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFD9534F', endColorstr='#FFC12E2A', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail,.o_form .o_filepreview img,.o_feed .o_media{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-image:-webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);background-image:-o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);background-image:linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF5F5F5', endColorstr='#FFE8E8E8', GradientType=0);background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-image:-webkit-linear-gradient(top, #3b678a 0%, #335a78 100%);background-image:-o-linear-gradient(top, #3b678a 0%, #335a78 100%);background-image:linear-gradient(to bottom, #3b678a 0%, #335a78 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3B678A', endColorstr='#FF335A78', GradientType=0);background-color:#335a78}.navbar-default{background-image:-webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);background-image:-o-linear-gradient(top, #fff 0%, #f8f8f8 100%);background-image:linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFF8F8F8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);background-image:-o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);background-image:linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFDBDBDB', endColorstr='#FFE2E2E2', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);background-image:-o-linear-gradient(top, #3c3c3c 0%, #222 100%);background-image:linear-gradient(to bottom, #3c3c3c 0%, #222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3C3C3C', endColorstr='#FF222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #090909 0%, #0f0f0f 100%);background-image:-o-linear-gradient(top, #090909 0%, #0f0f0f 100%);background-image:linear-gradient(to bottom, #090909 0%, #0f0f0f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF090909', endColorstr='#FF0F0F0F', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}@media (max-width: 767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-image:-webkit-linear-gradient(top, #3b678a 0%, #335a78 100%);background-image:-o-linear-gradient(top, #3b678a 0%, #335a78 100%);background-image:linear-gradient(to bottom, #3b678a 0%, #335a78 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3B678A', endColorstr='#FF335A78', GradientType=0)}}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);background-image:-o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);background-image:linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFDFF0D8', endColorstr='#FFC8E5BC', GradientType=0);border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);background-image:-o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);background-image:linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFD9EDF7', endColorstr='#FFB9DEF0', GradientType=0);border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);background-image:-o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);background-image:linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFCF8E3', endColorstr='#FFF8EFC0', GradientType=0);border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);background-image:-o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);background-image:linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF2DEDE', endColorstr='#FFE7C3C3', GradientType=0);border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);background-image:-o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);background-image:linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEBEBEB', endColorstr='#FFF5F5F5', GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top, #3b678a 0%, #2c4c66 100%);background-image:-o-linear-gradient(top, #3b678a 0%, #2c4c66 100%);background-image:linear-gradient(to bottom, #3b678a 0%, #2c4c66 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3B678A', endColorstr='#FF2C4C66', GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);background-image:-o-linear-gradient(top, #5cb85c 0%, #449d44 100%);background-image:linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5CB85C', endColorstr='#FF449D44', GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);background-image:-o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);background-image:linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF31B0D5', GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);background-image:-o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);background-image:linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF0AD4E', endColorstr='#FFEC971F', GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);background-image:-o-linear-gradient(top, #d9534f 0%, #c9302c 100%);background-image:linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFD9534F', endColorstr='#FFC9302C', GradientType=0)}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #2c4c66;background-image:-webkit-linear-gradient(top, #3b678a 0%, #30536f 100%);background-image:-o-linear-gradient(top, #3b678a 0%, #30536f 100%);background-image:linear-gradient(to bottom, #3b678a 0%, #30536f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3B678A', endColorstr='#FF30536F', GradientType=0);border-color:#30536f}.list-group-item.active .badge,.list-group-item.active:hover .badge,.list-group-item.active:focus .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);background-image:-o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);background-image:linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF5F5F5', endColorstr='#FFE8E8E8', GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top, #3b678a 0%, #335a78 100%);background-image:-o-linear-gradient(top, #3b678a 0%, #335a78 100%);background-image:linear-gradient(to bottom, #3b678a 0%, #335a78 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3B678A', endColorstr='#FF335A78', GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);background-image:-o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);background-image:linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFDFF0D8', endColorstr='#FFD0E9C6', GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);background-image:-o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);background-image:linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFD9EDF7', endColorstr='#FFC4E3F3', GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);background-image:-o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);background-image:linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFCF8E3', endColorstr='#FFFAF2CC', GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);background-image:-o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);background-image:linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF2DEDE', endColorstr='#FFEBCCCC', GradientType=0)}.well{background-image:-webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);background-image:-o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);background-image:linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFE8E8E8', endColorstr='#FFF5F5F5', GradientType=0);border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1)}.o_button_dirty{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);background-image:-webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);background-image:-o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);background-image:linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF0AD4E', endColorstr='#FFEB9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#e38d13}.o_button_dirty:active,.o_button_dirty.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.o_button_dirty:hover,.o_button_dirty:focus{background-color:#eb9316;background-position:0 -15px}.o_button_dirty:active,.o_button_dirty.active{background-color:#eb9316;border-color:#e38d13}.o_button_dirty:disabled,.o_button_dirty[disabled]{background-color:#eb9316;background-image:none}.o_login .o_login_social .btn-default{text-shadow:none}.o_login .o_login_social .btn-default.o_sel_auth_facebook{background-image:-webkit-linear-gradient(top, #4568b2 0%, #344e86 100%);background-image:-o-linear-gradient(top, #4568b2 0%, #344e86 100%);background-image:linear-gradient(to bottom, #4568b2 0%, #344e86 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF4568B2', endColorstr='#FF344E86', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#314a7f}.o_login .o_login_social .btn-default.o_sel_auth_facebook:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook:focus{background-color:#344e86;background-position:0 -15px}.o_login .o_login_social .btn-default.o_sel_auth_facebook:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.active{background-color:#344e86;border-color:#314a7f}.o_login .o_login_social .btn-default.o_sel_auth_facebook:disabled,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]{background-color:#344e86;background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_twitter{background-image:-webkit-linear-gradient(top, #2cc5ff 0%, #00acee 100%);background-image:-o-linear-gradient(top, #2cc5ff 0%, #00acee 100%);background-image:linear-gradient(to bottom, #2cc5ff 0%, #00acee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF2CC5FF', endColorstr='#FF00ACEE', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#00a5e4}.o_login .o_login_social .btn-default.o_sel_auth_twitter:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter:focus{background-color:#00acee;background-position:0 -15px}.o_login .o_login_social .btn-default.o_sel_auth_twitter:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.active{background-color:#00acee;border-color:#00a5e4}.o_login .o_login_social .btn-default.o_sel_auth_twitter:disabled,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]{background-color:#00acee;background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_google{background-image:-webkit-linear-gradient(top, #e15f4f 0%, #cf3623 100%);background-image:-o-linear-gradient(top, #e15f4f 0%, #cf3623 100%);background-image:linear-gradient(to bottom, #e15f4f 0%, #cf3623 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFE15F4F', endColorstr='#FFCF3623', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#c73422}.o_login .o_login_social .btn-default.o_sel_auth_google:hover,.o_login .o_login_social .btn-default.o_sel_auth_google:focus{background-color:#cf3623;background-position:0 -15px}.o_login .o_login_social .btn-default.o_sel_auth_google:active,.o_login .o_login_social .btn-default.o_sel_auth_google.active{background-color:#cf3623;border-color:#c73422}.o_login .o_login_social .btn-default.o_sel_auth_google:disabled,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]{background-color:#cf3623;background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_linkedin{background-image:-webkit-linear-gradient(top, #0181bd 0%, #015780 100%);background-image:-o-linear-gradient(top, #0181bd 0%, #015780 100%);background-image:linear-gradient(to bottom, #0181bd 0%, #015780 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0181BD', endColorstr='#FF015780', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#015176}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin:focus{background-color:#015780;background-position:0 -15px}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.active{background-color:#015780;border-color:#015176}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:disabled,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]{background-color:#015780;background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_adfs{background-image:-webkit-linear-gradient(top, #1a1a1a 0%, #000 100%);background-image:-o-linear-gradient(top, #1a1a1a 0%, #000 100%);background-image:linear-gradient(to bottom, #1a1a1a 0%, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF1A1A1A', endColorstr='#FF000000', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#000}.o_login .o_login_social .btn-default.o_sel_auth_adfs:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs:focus{background-color:#000;background-position:0 -15px}.o_login .o_login_social .btn-default.o_sel_auth_adfs:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.active{background-color:#000;border-color:#000}.o_login .o_login_social .btn-default.o_sel_auth_adfs:disabled,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]{background-color:#000;background-image:none}.btn-default.btn-success,.btn-default.btn-info,.btn-default.btn-warning,.btn-default.btn-danger,.btn-default.btn-primary,.btn-default.o_button_dirty{text-shadow:none}.o_navbar.o_navbar-default{background-image:-webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);background-image:-o-linear-gradient(top, #fff 0%, #f8f8f8 100%);background-image:linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFF8F8F8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.o_navbar.o_navbar-default .o_navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);background-image:-o-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);background-image:linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEBEBEB', endColorstr='#FFF3F3F3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.o_navbar.o_navbar-default .o_navbar-nav>.active>a.o_navbar_tab_close{background:none;-webkit-box-shadow:none;box-shadow:none}.o_navbar-brand,.o_navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.o_navbar-offcanvas .dropdown-menu>li>a:hover,.o_navbar-offcanvas .dropdown-menu>li>a:focus{background-image:none}.o_toolbar{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.05)}.o_toolbar .o_breadcrumb .breadcrumb{background-image:-webkit-linear-gradient(top, #fff 0%, #f5f5f5 100%);background-image:-o-linear-gradient(top, #fff 0%, #f5f5f5 100%);background-image:linear-gradient(to bottom, #fff 0%, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFF5F5F5', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.o_toolbar .o_tools_container{background-image:-webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);background-image:-o-linear-gradient(top, #fff 0%, #f8f8f8 100%);background-image:linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFF8F8F8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{background-image:-webkit-linear-gradient(top, #fff 0%, #e2e2e2 100%);background-image:-o-linear-gradient(top, #fff 0%, #e2e2e2 100%);background-image:linear-gradient(to bottom, #fff 0%, #e2e2e2 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFE2E2E2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.o_toolbar .o_tool_next :hover,.o_toolbar .o_tool_previous :hover{background-color:#e2e2e2}.o_tree{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.05)}.o_navbar-brand{padding:15px 15px;font-size:28px;color:#3b678a !important}.o_navbar-brand:after{content:"\E600";font-family:openolat} +**//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#3b678a;text-decoration:none}a:hover,a:focus{color:#243f54;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail,.o_form .o_filepreview img,.o_feed .o_media{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,.o_cal .fc-header-title h2,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h1 .small,h2 small,h2 .small,h3 small,h3 .small,h4 small,.o_cal .fc-header-title h2 small,h4 .small,.o_cal .fc-header-title h2 .small,h5 small,h5 .small,h6 small,h6 .small,.h1 small,.h1 .small,.h2 small,.h2 .small,.h3 small,.h3 .small,.h4 small,.h4 .small,.h5 small,.h5 .small,.h6 small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,h1 .small,.h1 small,.h1 .small,h2 small,h2 .small,.h2 small,.h2 .small,h3 small,h3 .small,.h3 small,.h3 .small{font-size:65%}h4,.o_cal .fc-header-title h2,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.o_cal .fc-header-title h2 small,h4 .small,.o_cal .fc-header-title h2 .small,.h4 small,.h4 .small,h5 small,h5 .small,.h5 small,.h5 .small,h6 small,h6 .small,.h6 small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.o_cal .fc-header-title h2,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width: 768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#3b678a}a.text-primary:hover{color:#2c4c66}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff}.bg-primary{background-color:#3b678a}a.bg-primary:hover{background-color:#2c4c66}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ul ol,ol ul,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width: 768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.428571429;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container:before,.container:after{content:" ";display:table}.container:after{clear:both}@media (min-width: 768px){.container{width:750px}}@media (min-width: 992px){.container{width:970px}}@media (min-width: 1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container-fluid:before,.container-fluid:after{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}@media (min-width: 768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}}@media (min-width: 992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}}@media (min-width: 1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width: 767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;-o-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#fafafa;opacity:1}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio: 0){input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:34px}input[type="date"].input-sm,.input-group-sm>input[type="date"].form-control,.input-group-sm>input[type="date"].input-group-addon,.input-group-sm>.input-group-btn>input[type="date"].btn,input[type="time"].input-sm,.input-group-sm>input[type="time"].form-control,.input-group-sm>input[type="time"].input-group-addon,.input-group-sm>.input-group-btn>input[type="time"].btn,input[type="datetime-local"].input-sm,.input-group-sm>input[type="datetime-local"].form-control,.input-group-sm>input[type="datetime-local"].input-group-addon,.input-group-sm>.input-group-btn>input[type="datetime-local"].btn,input[type="month"].input-sm,.input-group-sm>input[type="month"].form-control,.input-group-sm>input[type="month"].input-group-addon,.input-group-sm>.input-group-btn>input[type="month"].btn{line-height:30px}input[type="date"].input-lg,.input-group-lg>input[type="date"].form-control,.input-group-lg>input[type="date"].input-group-addon,.input-group-lg>.input-group-btn>input[type="date"].btn,input[type="time"].input-lg,.input-group-lg>input[type="time"].form-control,.input-group-lg>input[type="time"].input-group-addon,.input-group-lg>.input-group-btn>input[type="time"].btn,input[type="datetime-local"].input-lg,.input-group-lg>input[type="datetime-local"].form-control,.input-group-lg>input[type="datetime-local"].input-group-addon,.input-group-lg>.input-group-btn>input[type="datetime-local"].btn,input[type="month"].input-lg,.input-group-lg>input[type="month"].form-control,.input-group-lg>input[type="month"].input-group-addon,.input-group-lg>.input-group-btn>input[type="month"].btn{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="radio"].disabled,fieldset[disabled] input[type="radio"],input[type="checkbox"][disabled],input[type="checkbox"].disabled,fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,fieldset[disabled] .radio-inline,.checkbox-inline.disabled,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,fieldset[disabled] .radio label,.checkbox.disabled label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn,.form-group-sm .form-control{height:30px;line-height:30px}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,.form-group-sm .form-control,select[multiple].input-sm,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>.input-group-btn>select[multiple].btn,.form-group-sm .form-control{height:auto}.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn,.form-group-lg .form-control{height:46px;line-height:46px}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,.form-group-lg .form-control,select[multiple].input-lg,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>.input-group-btn>select[multiple].btn,.form-group-lg .form-control{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label ~ .form-control-feedback{top:25px}.has-feedback label.sr-only ~ .form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width: 768px){.form-inline .form-group,.o_navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control,.o_navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static,.o_navbar-form .form-control-static{display:inline-block}.form-inline .input-group,.o_navbar-form .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.o_navbar-form .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.o_navbar-form .input-group .input-group-btn,.form-inline .input-group .form-control,.o_navbar-form .input-group .form-control{width:auto}.form-inline .input-group>.form-control,.o_navbar-form .input-group>.form-control{width:100%}.form-inline .control-label,.o_navbar-form .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.o_navbar-form .radio,.form-inline .checkbox,.o_navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.o_navbar-form .radio label,.form-inline .checkbox label,.o_navbar-form .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.o_navbar-form .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"],.o_navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback,.o_navbar-form .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}@media (min-width: 768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width: 768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width: 768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn.focus,.btn:active:focus,.btn:active.focus,.btn.active:focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled,.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled.active,.btn-default[disabled],.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled].active,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#3b678a;border-color:#335a78}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#2c4c66;border-color:#213a4d}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled,.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled.active,.btn-primary[disabled],.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary.active{background-color:#3b678a;border-color:#335a78}.btn-primary .badge{color:#3b678a;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled,.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled.active,.btn-success[disabled],.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled].active,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled,.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled.active,.btn-info[disabled],.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled].active,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled,.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled.active,.btn-warning[disabled],.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled,.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled.active,.btn-danger[disabled],.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#3b678a;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#243f54;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#3b678a}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width: 768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#3b678a}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#3b678a}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 768px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{content:" ";display:table}.navbar:after{clear:both}@media (min-width: 768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{content:" ";display:table}.navbar-header:after{clear:both}@media (min-width: 768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width: 768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;visibility:visible !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width: 480px) and (orientation: landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width: 768px){.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width: 768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width: 768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width: 768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width: 768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width: 767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width: 768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width: 768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width: 767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width: 768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm,.btn-group-sm>.navbar-btn.btn{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs,.btn-group-xs>.navbar-btn.btn{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width: 768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width: 768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right ~ .navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width: 767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:hover,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#090909;color:#fff}@media (max-width: 767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:hover,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.428571429;text-decoration:none;color:#3b678a;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{color:#243f54;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#3b678a;border-color:#3b678a;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#3b678a}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#2c4c66}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#3b678a;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.jumbotron,.o_repo_details .o_lead{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.o_repo_details .o_lead h1,.jumbotron .h1,.o_repo_details .o_lead .h1{color:inherit}.jumbotron p,.o_repo_details .o_lead p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr,.o_repo_details .o_lead>hr{border-top-color:#d5d5d5}.container .jumbotron,.container .o_repo_details .o_lead,.o_repo_details .container .o_lead,.container-fluid .jumbotron,.container-fluid .o_repo_details .o_lead,.o_repo_details .container-fluid .o_lead{border-radius:6px}.jumbotron .container,.o_repo_details .o_lead .container{max-width:100%}@media screen and (min-width: 768px){.jumbotron,.o_repo_details .o_lead{padding:48px 0}.container .jumbotron,.container .o_repo_details .o_lead,.o_repo_details .container .o_lead,.container-fluid .jumbotron,.container-fluid .o_repo_details .o_lead,.o_repo_details .container-fluid .o_lead{padding-left:60px;padding-right:60px}.jumbotron h1,.o_repo_details .o_lead h1,.jumbotron .h1,.o_repo_details .o_lead .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;-o-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#3b678a}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4,.alert .o_cal .fc-header-title h2,.o_cal .fc-header-title .alert h2{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#3b678a;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#3b678a;border-color:#3b678a}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#b3cbde}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table,.panel-collapse>.table,.panel-collapse>.table-responsive>.table,.panel-collapse>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption,.panel-collapse>.table caption,.panel-collapse>.table-responsive>.table caption,.panel-collapse>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child,.panel-collapse>.table:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel-collapse>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel-collapse>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel-collapse>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child,.panel-collapse>.table:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel-collapse>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel-collapse>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel-collapse>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body,.panel-collapse>.panel-body+.table,.panel-collapse>.panel-body+.table-responsive,.panel-collapse>.table+.panel-body,.panel-collapse>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td,.panel-collapse>.table>tbody:first-child>tr:first-child th,.panel-collapse>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered,.panel-collapse>.table-bordered,.panel-collapse>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel-collapse>.table-bordered>thead>tr>th:first-child,.panel-collapse>.table-bordered>thead>tr>td:first-child,.panel-collapse>.table-bordered>tbody>tr>th:first-child,.panel-collapse>.table-bordered>tbody>tr>td:first-child,.panel-collapse>.table-bordered>tfoot>tr>th:first-child,.panel-collapse>.table-bordered>tfoot>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel-collapse>.table-bordered>thead>tr>th:last-child,.panel-collapse>.table-bordered>thead>tr>td:last-child,.panel-collapse>.table-bordered>tbody>tr>th:last-child,.panel-collapse>.table-bordered>tbody>tr>td:last-child,.panel-collapse>.table-bordered>tfoot>tr>th:last-child,.panel-collapse>.table-bordered>tfoot>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel-collapse>.table-bordered>thead>tr:first-child>td,.panel-collapse>.table-bordered>thead>tr:first-child>th,.panel-collapse>.table-bordered>tbody>tr:first-child>td,.panel-collapse>.table-bordered>tbody>tr:first-child>th,.panel-collapse>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel-collapse>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel-collapse>.table-bordered>tbody>tr:last-child>td,.panel-collapse>.table-bordered>tbody>tr:last-child>th,.panel-collapse>.table-bordered>tfoot>tr:last-child>td,.panel-collapse>.table-bordered>tfoot>tr:last-child>th,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel-collapse>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel-collapse>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive,.panel-collapse>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#3b678a}.panel-primary>.panel-heading{color:#fff;background-color:#3b678a;border-color:#3b678a}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3b678a}.panel-primary>.panel-heading .badge{color:#3b678a;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3b678a}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.428571429px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width: 992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;visibility:visible;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:normal;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width: 767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width: 767px){.visible-xs-block{display:block !important}}@media (max-width: 767px){.visible-xs-inline{display:inline !important}}@media (max-width: 767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-block{display:block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline{display:inline !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-block{display:block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline{display:inline !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width: 1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width: 1200px){.visible-lg-block{display:block !important}}@media (min-width: 1200px){.visible-lg-inline{display:inline !important}}@media (min-width: 1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width: 767px){.hidden-xs{display:none !important}}@media (min-width: 768px) and (max-width: 991px){.hidden-sm{display:none !important}}@media (min-width: 992px) and (max-width: 1199px){.hidden-md{display:none !important}}@media (min-width: 1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}body .modal{position:absolute;overflow:visible}body div.tooltip-inner{max-width:400px}body div.popover{max-width:450px}body .modal-body.alert{border-radius:0}body .progress{margin-bottom:0}.panel-body:nth-child(n+2){border-top:1px solid #ddd}.panel .panel-heading[data-toggle="collapse"]{cursor:pointer}#o_ajax_busy_backdrop{bottom:0;z-index:1020}.form-control-feedback{top:10px}.form-horizontal .has-feedback .form-control-feedback{top:10px}.btn.btn-primary.o_disabled{color:#fff !important}body .progress-bar[aria-valuenow="1"],body .progress-bar[aria-valuenow="2"]{min-width:1px}td.text-left>div.form-inline>label.checkbox-inline>input[type='checkbox'],td.text-left>div.o_navbar-form>label.checkbox-inline>input[type='checkbox']{position:relative}@-moz-document url-prefix(){fieldset{display:table-cell}}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.form-control,.ui-widget input,.ui-widget select,.ui-widget textarea{font-size:16px}}}@font-face{font-family:'openolat';src:url("../light/fonts/openolat/openolat.eot?4yacgg");src:url("../light/fonts/openolat/openolat.eot?#iefix4yacgg") format("embedded-opentype"),url("../light/fonts/openolat/openolat.woff?4yacgg") format("woff"),url("../light/fonts/openolat/openolat.ttf?4yacgg") format("truetype"),url("../light/fonts/openolat/openolat.svg?4yacgg#openolat") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:'FontAwesome';src:url("../../font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0");src:url("../../font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"),url("../../font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),url("../../font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),url("../../font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"),url("../../font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.o_icon{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.o_icon-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.o_icon-2x{font-size:2em}.o_icon-3x{font-size:3em}.o_icon-4x{font-size:4em}.o_icon-5x{font-size:5em}.o_icon-fw{width:1.2857142857em;text-align:center}.o_icon-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.o_icon-ul>li{position:relative}.o_icon-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.o_icon-li.o_icon-lg{left:-1.8571428571em}.o_icon-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.o_icon-pull-left{float:left}.o_icon-pull-right{float:right}.o_icon.o_icon-pull-left{margin-right:.3em}.o_icon.o_icon-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.o_icon.pull-left{margin-right:.3em}.o_icon.pull-right{margin-left:.3em}.o_icon-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.o_icon-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.o_icon-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.o_icon-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.o_icon-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.o_icon-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.o_icon-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .o_icon-rotate-90,:root .o_icon-rotate-180,:root .o_icon-rotate-270,:root .o_icon-flip-horizontal,:root .o_icon-flip-vertical{filter:none}.o_icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.o_icon-stack-1x,.o_icon-stack-2x{position:absolute;left:0;width:100%;text-align:center}.o_icon-stack-1x{line-height:inherit}.o_icon-stack-2x{font-size:2em}.o_icon-inverse{color:#fff}.o_icon_accepted:before{content:"ï…¤"}.o_icon_accessibility:before{content:""}.o_icon_actions:before{content:"ï‚…"}.o_icon_add_html:before{content:"ï„¡"}.o_icon_archive_tool:before{content:""}.o_icon_assessment_mode:before{content:"ï„"}.o_icon_assessment_tool:before{content:"ï‚‘"}.o_icon_assignment:before{content:"";color:#d9534f}.o_icon_attempt_limit:before{content:""}.o_icon_accept:before{content:"";color:#5cb85c}.o_icon_add:before{content:"ï•"}.o_icon_add_member:before{content:""}.o_icon_add_search:before{content:""}.o_icon_audio:before{content:""}.o_icon_back:before{content:"ï“"}.o_icon_back_history:before{content:""}.o_icon_banned:before{content:"";color:#d9534f}.o_icon_bold:before{content:""}.o_icon_booking:before{content:"ïº"}.o_icon_bookmark:before{content:"";color:#bc2d0c}.o_icon_bookmark_add:before{content:"ï‚—"}.o_icon_bookmark_header:before{content:""}.o_icon_browse:before{content:""}.o_icon_brush:before{content:""}.o_icon_browsercheck:before{content:"ï…¤"}.o_icon_busy:before{content:"ï„"}.o_icon_calendar:before{content:"ï³"}.o_icon_calendar_enabled:before{content:"ï†"}.o_icon_calendar_disabled:before{content:"ï‚–"}.o_icon_calendar:before{content:"ï³"}.o_icon_calendar_sync:before{content:""}.o_icon_cancelled:before{content:"ïž"}.o_icon_caret:before{content:""}.o_icon_caret_right:before{content:""}.o_icon_catalog:before{content:""}.o_icon_catalog_sub:before{content:"ï»"}.o_icon_certificate:before{content:"ï‚£"}.o_icon_chat:before{content:""}.o_icon_check:before{content:""}.o_icon_check_off:before{content:"ï‚–"}.o_icon_check_on:before{content:"ï†"}.o_icon_checkbox:before{content:"ï‚–"}.o_icon_checkbox_checked:before{content:"ï…Š"}.o_icon_circle:before{content:""}.o_icon_circle_color:before{content:"ï„‘"}.o_icon_citation:before{content:"ï„"}.o_icon_cleanup:before{content:""}.o_icon_clear_all:before{content:""}.o_icon_close:before{content:"ï€"}.o_icon_close_resource:before{content:""}.o_icon_close_tab:before{content:"ï€"}.o_icon_close_tool:before{content:"ï€"}.o_icon_close_tree:before{content:""}.o_icon_close_togglebox:before,.o_togglebox_wrapper .o_opener.o_in i:before,.o_search_result .o_opener.o_in i:before{content:""}.o_icon_code:before{content:"ï„¡"}.o_icon_color_picker:before{content:"ïƒ"}.o_icon_copy:before{content:""}.o_icon_courseareas:before{content:""}.o_icon_coursedb:before{content:""}.o_icon_courseeditor:before{content:"ï„"}.o_icon_coursefolder:before{content:"ï„”"}.o_icon_courserun:before{content:""}.o_icon_comments:before{content:""}.o_icon_comments_none:before{content:""}.o_icon_compress:before{content:"ï¦"}.o_icon_compulsory:before{content:"ï©"}.o_icon_content_popup:before{content:"ï‚Ž"}.o_icon_correct_answer:before{content:"";color:#5cb85c}.o_icon_correction:before{content:"ï€"}.o_icon_customize:before{content:""}.o_icon_delete_item:before{content:""}.o_icon_delete:before{content:"ï–";color:#A87E7E}.o_icon_deleted:before{content:""}.o_icon_details:before{content:""}.o_icon_description:before{content:"ïš"}.o_icon_dev:before{content:""}.o_icon_disabled:before{content:"ï„Œ"}.o_icon_download:before{content:""}.o_icon_edit:before{content:"ï„"}.o_icon_edit_file:before{content:"ï„"}.o_icon_edit_metadata:before{content:""}.o_icon_element_after:before{content:"ï£"}.o_icon_element_before:before{content:"ï¢"}.o_icon_enabled:before{content:"ï„‘"}.o_icon_enlarge:before{content:""}.o_icon_eportfolio_add:before{content:"ï„®"}.o_icon_eportfolio_link:before{content:"ï„®"}.o_icon_eraser:before{content:"ï„"}.o_icon_error:before{content:"ïª";color:#d9534f}.o_icon_expand:before{content:"ï¥"}.o_icon_expenditure:before{content:""}.o_icon_export:before{content:"ï…"}.o_icon_external_link:before{content:"ï‚Ž"}.o_icon_extra_time:before{content:""}.o_icon_failed:before{content:"ï—"}.o_icon_files:before{content:""}.o_icon_fileupload:before{content:""}.o_icon_filter:before{content:"ï‚°"}.o_icon_graduate:before{content:"ï†"}.o_icon_group:before,.o_BusinessGroup_icon:before{content:""}.o_icon_header:before{content:""}.o_icon_help:before{content:"ï™";cursor:help}.o_icon_home:before{content:""}.o_icon_image:before{content:""}.o_icon_impress:before{content:"ïš"}.o_icon_important:before{content:"ï±";color:#f0ad4e}.o_icon_import:before{content:"ï‚“"}.o_icon_info:before{content:"ïš";color:#5bc0de}.o_icon_info_msg:before{content:"ïª";color:#d9534f}.o_icon_info_resource:before{content:"ïš"}.o_icon_inheritance_root:before{content:"ï‚«"}.o_icon_inheritance_inherited:before{content:""}.o_icon_inheritance_none:before{content:"ï„Œ"}.o_icon_inline_editable:before{content:"ï„"}.o_icon_institution:before{content:""}.o_icon_italic:before{content:""}.o_icon_landingpage:before{content:"ï…€"}.o_icon_language:before{content:""}.o_icon_layout:before{content:""}.o_icon_lecture:before{content:"ï€"}.o_icon_levels:before{content:""}.o_icon_line:before{content:""}.o_icon_link:before{content:"ïƒ"}.o_icon_link_extern:before{content:"ï‚Ž"}.o_icon_list:before{content:""}.o_icon_list_num:before{content:""}.o_icon_lifecycle:before{content:""}.o_icon_lifecycle_date:before{content:"ï³"}.o_icon_locked:before{content:""}.o_icon_log:before{content:"ï…œ"}.o_icon_login:before{content:"ï‚"}.o_icon_logout:before{content:"ï‚‹"}.o_icon_mandatory:before{content:"ï©";color:#f0ad4e}.o_icon_managed:before{content:"ï¹";color:#777}.o_icon_manual:before{content:"ï€";cursor:help}.o_icon_mail:before{content:""}.o_icon_math:before{content:"\03a3"}.o_icon_media:before{content:""}.o_icon_mediacenter:before{content:"ï¼"}.o_icon_membersmanagement:before{content:""}.o_icon_menuhandel:before{content:""}.o_icon_message:before{content:"ïƒ "}.o_icon_mobile:before{content:"ï„‹"}.o_icon_move:before{content:"ï‡"}.o_icon_move_down:before{content:""}.o_icon_move_left:before{content:"ï„€"}.o_icon_move_right:before{content:"ï„"}.o_icon_move_up:before{content:"ï„‚"}.o_icon_new:before{content:"ï©";color:#5cb85c}.o_icon_new_document:before{content:"ï…œ"}.o_icon_new_folder:before{content:"ï»"}.o_icon_new_portfolio:before{content:"ï€"}.o_icon_news:before{content:"ïš"}.o_icon_next:before{content:""}.o_icon_next_step:before{content:"ï„"}.o_icon_next_page:before{content:"ï„"}.o_icon_next_toolbar:before{content:""}.o_icon_node_after:before{content:"ï…µ"}.o_icon_node_before:before{content:"ï…¶"}.o_icon_node_under:before{content:"ï„’"}.o_icon_notes:before{content:""}.o_icon_notification:before{content:"ï‚ž"}.o_icon_ok:before{content:"";color:#5cb85c}.o_icon_open_tree:before{content:""}.o_icon_open_togglebox:before,.o_togglebox_wrapper .o_opener i:before,.o_search_result .o_opener i:before{content:""}.o_icon_openolat:before,.o_icon_provider_olat:before{content:"\E600";font-family:openolat;font-size:10px}.o_icon_options:before{content:""}.o_icon_others:before{content:""}.o_icon_pageing:before{content:"ï…"}.o_icon_paragraph:before{content:"ï‡"}.o_icon_passed:before{content:"ï˜"}.o_icon_password:before{content:""}.o_icon_pending:before{content:"ï„"}.o_icon_phone:before{content:"ï‚•"}.o_icon_post:before{content:""}.o_icon_preview:before{content:"ï®"}.o_icon_previous:before{content:"ï„·"}.o_icon_previous_page:before{content:"ï„€"}.o_icon_previous_step:before{content:"ï„€"}.o_icon_previous_toolbar:before{content:""}.o_icon_print:before{content:""}.o_icon_private:before{content:""}.o_icon_progress_success:before{content:"";color:#e5efe5}.o_icon_progress_danger:before{content:"ï€";color:#efe5e5}.o_icon_provider_adfs:before{content:"ï…º"}.o_icon_provider_facebook:before{content:"ï‚š"}.o_icon_provider_google:before{content:""}.o_icon_provider_guest:before{content:""}.o_icon_provider_ldap:before{content:""}.o_icon_provider_linkedin:before{content:""}.o_icon_provider_oauth:before{content:""}.o_icon_provider_openid:before{content:""}.o_icon_provider_performx:before{content:""}.o_icon_provider_shibboleth:before{content:""}.o_icon_provider_tequila:before{content:""}.o_icon_provider_twitter:before{content:"ï‚™"}.o_icon_publish:before{content:"ï¤"}.o_icon_pull:before{content:""}.o_icon_quota:before{content:""}.o_icon_qrcode:before{content:""}.o_icon_quickview:before{content:"ï®"}.o_icon_radio_off:before{content:"ï„Œ"}.o_icon_radio_on:before{content:"ï"}.o_icon_rating_on:before,.o_rating .o_rating_items.o_enabled .o_icon:hover:before{content:""}.o_icon_rating_off:before{content:""}.o_icon_read:before{content:"ï„Œ"}.o_icon_readonly:before{content:"ï„";color:red}.o_icon_readwrite:before{content:"ï„"}.o_icon_recycle:before{content:""}.o_icon_rectangle:before{content:"ï‚–"}.o_icon_redo:before{content:""}.o_icon_refresh:before{content:""}.o_icon_reject:before{content:"ï€";color:#d9534f}.o_icon_rejected:before{content:"ï…¥"}.o_icon_reminder:before{content:""}.o_icon_remove:before{content:"ï€"}.o_icon_remove_filters:before{content:"ï—"}.o_icon_reopen:before{content:"ï„’"}.o_icon_replace:before{content:""}.o_icon_reply:before{content:"ï„’"}.o_icon_reply_with_quote:before{content:"ï„¢"}.o_icon_reset:before{content:"ïˆ"}.o_icon_response_feedback:before{content:""}.o_icon_restore:before{content:"ï…¤"}.o_icon_results_visible:before{content:"ï®"}.o_icon_results_hidden:before{content:"ï°"}.o_icon_reviewer:before{content:""}.o_icon_rss:before{content:"ï‚ž"}.o_icon_rss_unsubscribe:before{content:"ï‚ž";color:#996633}.o_icon_rubric:before{content:""}.o_icon_save:before{content:""}.o_icon_search:before{content:""}.o_icon_select:before{content:""}.o_icon_send:before{content:"ïƒ "}.o_icon_settings:before{content:"ï‚…"}.o_icon_share:before{content:"ï¤"}.o_icon_show_more:before{content:"ï…"}.o_icon_show_less:before{content:"ï…‘"}.o_icon_show_send:before{content:""}.o_icon_sign_out:before{content:"ï‚‹"}.o_icon_slide_down:before{content:"ï¸"}.o_icon_slide_up:before{content:"ï·"}.o_icon_spacer:before{content:"ï¾"}.o_icon_split:before{content:""}.o_icon_sort:before{content:""}.o_icon_sort_asc:before{content:""}.o_icon_sort_desc:before{content:"ïƒ"}.o_icon_sort_amount_asc:before{content:"ï… "}.o_icon_sort_amount_desc:before{content:"ï…¡"}.o_icon_sort_menu:before{content:"ï… "}.o_icon_start:before{content:"ï”"}.o_icon_status_available:before{content:"ï„‘";color:#063}.o_icon_status_chat:before{content:"ïµ"}.o_icon_status_dnd:before{content:"";color:#cc3}.o_icon_status_unavailable:before{content:"ïœ";color:#963}.o_icon_status_not_started:before{content:"ï„Œ"}.o_icon_status_in_progress:before{content:"ï‹"}.o_icon_status_in_review:before{content:""}.o_icon_status_done:before{content:"ï˜"}.o_icon_statistics_tool:before{content:"ï‚€"}.o_icon_submit:before{content:""}.o_icon_table:before{content:""}.o_icon_table_custom:before{content:""}.o_icon_table_large:before{content:""}.o_icon_tags:before{content:""}.o_icon_textinput:before{content:""}.o_icon_time:before{content:""}.o_icon_timelimit:before{content:""}.o_icon_timelimit_start:before{content:""}.o_icon_timelimit_half:before{content:""}.o_icon_timelimit_end:before{content:""}.o_icon_toggle:before{content:"ï„‘"}.o_icon_toggle_on:before{content:""}.o_icon_toggle_off:before{content:""}.o_icon_to_read:before{content:"ï„‘"}.o_icon_tool:before{content:""}.o_icon_tools:before{content:"ï‚"}.o_icon_top:before{content:"ï·"}.o_icon_translation_item:before{content:""}.o_icon_translation_package:before{content:"ï„•"}.o_icon_undo:before{content:""}.o_icon_user:before{content:""}.o_icon_user_vip:before{content:"ï†"}.o_icon_user_anonymous:before{content:""}.o_icon_upload:before{content:"ï‚“"}.o_icon_version:before{content:""}.o_icon_video:before{content:""}.o_icon_visitingcard.o_icon_waiting:before{content:""}.o_icon_warn:before{content:"ï±";color:#f0ad4e}.o_icon_wizard:before{content:"ïƒ"}.o_icon_xing:before{content:"ï…¨";color:#cfdc00}.o_BinderTemplate_icon:before{content:""}.o_CourseModule_icon:before,.o_course_icon:before{content:""}.o_EPStructuredMapTemplate_icon:before{content:"ï„®"}.o_FileResource-BLOG_icon:before{content:"ï‚¡"}.o_FileResource-IMSCP_icon:before{content:""}.o_FileResource-FORM_icon:before{content:""}.o_FileResource-PODCAST_icon:before{content:""}.o_FileResource-SHAREDFOLDER:before{content:"ï‚Ž"}.o_FileResource-SCORMCP_icon:before{content:""}.o_FileResource-SURVEY_icon:before{content:"ï„š"}.o_FileResource-TEST_icon:before{content:"ï„"}.o_FileResource-IMSQTI21_icon:before{content:"ï…‹"}.o_FileResource-WIKI_icon:before{content:""}.o_FileResource-SHAREDFOLDER_icon:before{content:"ï„•"}.o_FileResource-GLOSSARY_icon:before{content:"ï†"}.o_FileResource-PDF_icon:before{content:"ï‡"}.o_FileResource-XLS_icon:before{content:""}.o_FileResource-PPT_icon:before{content:""}.o_FileResource-DOC_icon:before{content:""}.o_FileResource-ANIM_icon:before{content:""}.o_FileResource-IMAGE_icon:before{content:""}.o_FileResource-SOUND_icon:before{content:""}.o_FileResource-MOVIE_icon:before{content:""}.o_FileResource-FILE_icon:before{content:""}.o_FileResource-VIDEO_icon:before{content:""}.o_CourseModule_icon_closed:before{content:"ïž"}.o_sp_icon:before{content:""}.o_st_icon:before{content:""}.o_tu_icon:before{content:"ï‚Ž"}.o_bc_icon:before{content:"ï„•"}.o_lti_icon:before{content:"ï‚Ž"}.o_cp_icon:before{content:""}.o_cp_item:before{content:""}.o_scorm_icon:before{content:""}.o_en_icon:before{content:"ï‚"}.o_fo_icon:before{content:""}.o_co_icon:before{content:""}.o_infomsg_icon:before{content:"ïš"}.o_cal_icon:before{content:"ï³"}.o_wiki_icon:before{content:""}.o_podcast_icon:before{content:""}.o_pf_icon:before{content:""}.o_blog_icon:before{content:"ï‚¡"}.o_ep_icon:before{content:""}.o_ep_icon_v1:before{content:"ï„®"}.o_iqtest_icon:before{content:"ï„"}.o_iqself_icon:before{content:"ï„"}.o_iqsurv_icon:before{content:"ï„š"}.o_survey_icon:before{content:"ï„š"}.o_qtiassessment_icon:before{content:"ï…‹"}.o_ta_icon:before{content:"ï‚®"}.o_gta_icon:before{content:"ï‚®"}.o_ms_icon:before{content:""}.o_dialog_icon:before{content:""}.o_projectbroker_icon:before{content:"ï„Œ"}.o_ll_icon:before{content:"ïƒ"}.o_den_icon:before{content:""}.o_cmembers_icon:before{content:""}.o_cl_icon:before{content:"ï†"}.o_vc_icon:before{content:""}.o_video_icon:before{content:""}.o_vitero_icon:before{content:""}.o_openmeetings_icon:before{content:""}.o_gotomeeting_icon:before{content:""}.o_card2brain_icon:before{content:"\E800";font-family:openolat;font-size:120%}.o_edubase_icon:before{content:"\E885";font-family:openolat}.o_portlet_infomsg_icon:before{content:"ïš"}.o_portlet_quickstart_icon:before{content:""}.o_portlet_bookmark_icon:before{content:""}.o_portlet_groups_icon:before{content:""}.o_portlet_notes_icon:before{content:""}.o_portlet_noti_icon:before{content:"ï‚ž"}.o_portlet_eff_icon:before{content:"ï‚£"}.o_portlet_repository_student_icon:before{content:""}.o_portlet_repository_teacher_icon:before{content:"ï†"}.o_portlet_iframe_icon:before{content:""}.o_portlet_sysinfo_icon:before{content:""}.o_portlet_dyk_icon:before{content:""}.o_portlet_infomessages_icon:before{content:""}.o_portlet_cal_icon:before{content:"ï³"}.o_portlet_institutions_icon:before{content:""}.o_portlet_links_icon:before{content:"ïƒ"}.o_portlet_shibboleth_icon:before{content:"ï‚"}.o_icon_qpool:before{content:""}.o_icon_pool_private:before{content:"ï‚–"}.o_icon_pool_public:before{content:"ï†"}.o_icon_pool_my_items:before{content:""}.o_icon_pool_favorits:before{content:""}.o_icon_pool_collection:before{content:""}.o_icon_pool_pool:before{content:""}.o_icon_pool_share:before{content:""}.o_icon_qitem_commands:before{content:"ï‚…"}.o_icon_qitem_convert:before{content:""}.o_icon_qitem_copy:before{content:""}.o_icon_qitem_delete:before{content:""}.o_icon_qitem_draft:before{content:"ï€"}.o_icon_qitem_endOfLife:before{content:""}.o_icon_qitem_finalVersion:before{content:""}.o_icon_qitem_export:before{content:""}.o_icon_qitem_hide_metadata:before{content:""}.o_icon_qitem_import:before{content:"ï‚“"}.o_icon_qitem_new:before{content:"ï•"}.o_icon_qitem_review:before{content:""}.o_icon_qitem_revised:before{content:""}.o_icon_qitem_share:before{content:"ï¤"}.o_icon_qitem_show_metadata:before{content:""}.o_icon_qitem_status:before{content:"ï¡"}.o_forum_message_icon:before{content:""}.o_calendar_icon:before{content:"ï³"}.o_icon_pf_section_draft:before{content:"ï°";color:#f0ad4e}.o_icon_pf_section_progress:before{content:"";color:#f0ad4e}.o_icon_pf_section_submitted:before{content:"";color:#3b678a}.o_icon_pf_section_closed:before{content:"";color:#5cb85c}.o_icon_pf_binder:before{content:""}.o_icon_pf_entry:before{content:"ï…›"}.o_icon_pf_entry_draft:before{content:"ï„‘";color:#f0ad4e}.o_icon_pf_entry_published:before{content:"ï„‘";color:#3b678a}.o_icon_pf_entry_revision:before{content:"ï„‘";color:#d9534f}.o_icon_pf_entry_closed:before{content:"ï„‘";color:#5cb85c}.o_icon_pf_entry_deleted:before{content:"";color:#000}.o_icon_pf_history:before{content:""}.o_icon_pf_my_shares:before{content:"ï‡ "}.o_icon_pf_quick_links:before{content:"ï¤"}.o_icon_pf_page:before{content:""}.o_icon_pf_section:before{content:""}.o_icon_pf_shared_with_me:before{content:""}.o_forum_status_thread_icon:before{content:""}.o_forum_status_sticky_closed_icon:before{content:"ïž"}.o_forum_status_sticky_icon:before{content:""}.o_forum_status_closed_icon:before{content:"ïž";color:#a94442}.o_forum_status_opened_icon:before{content:"ïž";color:#3c763d}.o_forum_status_hidden_icon:before{content:"ï°";color:#a94442}.o_forum_status_visible_icon:before{content:"ï®";color:#3c763d}.o_forum_all_icon:before{content:""}.o_forum_all_flat_icon:before{content:""}.o_forum_one_icon:before{content:"ï®"}.o_forum_marked_icon:before{content:""}.o_forum_new_icon:before{content:"ï©"}.o_mi_qpool_import:before{content:""}.o_mi_qtidrawing:before{content:""}.o_mi_qtisection:before{content:""}.o_mi_qtisc:before{content:""}.o_mi_qtimatch:before{content:""}.o_mi_qtimatch_draganddrop:before{content:"ï‰"}.o_mi_qtimatch_truefalse:before{content:""}.o_mi_qtimc:before{content:"ï†"}.o_mi_qtikprim:before{content:"ï…Š"}.o_mi_qtifib:before{content:"ï…"}.o_mi_qtinumerical:before{content:""}.o_mi_qtihotspot:before{content:""}.o_mi_qtihottext:before{content:"ï"}.o_mi_qtiessay:before{content:""}.o_mi_qtiunkown:before{content:""}.o_mi_qtiupload:before{content:"ï‚“"}.o_as_mode_leadtime:before{content:""}.o_as_mode_assessment:before{content:"ï‹"}.o_as_mode_followup:before{content:"ïž"}.o_as_mode_closed:before{content:'-'}.o_icon_qti_notPresented:before{content:"";color:#ddd}.o_icon_qti_notAnswered:before{content:"ï…„";color:#f0ad4e}.o_icon_qti_answered:before{content:"ï˜";color:#5cb85c}.o_icon_qti_ended:before{content:"ïž";color:#5bc0de}.o_icon_qti_invalid:before{content:"ïª";color:#d9534f}.o_icon_qti_review:before{content:"ï®";color:#5bc0de}.o_icon_qti_reviewNotSeen:before,.o_icon_qti_reviewNotAnswered:before,.o_icon_qti_reviewInvalid:before{content:"ï°";color:#5bc0de}.o_icon_qti_end_testpart:before{content:""}.o_icon_qti_close_test:before{content:"ï‹“"}.o_icon_qti_cancel:before{content:"ï"}.o_icon_qti_suspend:before{content:"ïŒ"}.o_icon_qti_close_results:before{content:"ï‹“"}.o_icon_qti_hint:before{content:"ï™"}.o_icon_qti_summary_notAnswered:before{content:"ï„‘";color:#f0ad4e}.o_icon_qti_summary_ended:before{content:"ï—";color:#d9534f}.o_icon_qti_summary_correct:before{content:"ï˜";color:#5cb85c}.o_lectures_current:before{content:"ï„‘";color:#f0ad4e}.o_lectures_next:before{content:""}.o_lectures_pending:before{content:"ï„‘";color:#d9534f}.o_lectures_closed:before{content:"ï„‘"}.o_lectures_rollcall_ok:before{content:"ï„‘";color:#5cb85c}.o_lectures_rollcall_warning:before{content:"ï‚";color:#f0ad4e}.o_lectures_rollcall_danger:before{content:"ï„Œ";color:#d9534f}.o_lectures_rollcall_free:before{content:"ï„‘";color:#969696}.o_lectures_attended:before{content:"ï„‘";color:#5cb85c}.o_lectures_authorized:before{content:"ï„‘";color:#f0ad4e}.o_lectures_absent:before{content:"ï„‘";color:#d9534f}.o_icon_taxonomy:before{content:""}.o_icon_taxonomy_level:before{content:""}.o_icon_taxonomy_level_leaf:before{content:"ï„•"}.o_icon_taxonomy_templates:before{content:""}.o_icon_taxonomy_levels:before{content:""}.o_black_led:before{content:"ï„‘";color:#3b678a}.o_green_led:before{content:"ï„‘";color:#5cb85c}.o_yellow_led:before{content:"ï„‘";color:#f0ad4e}.o_red_led:before{content:"ï„‘";color:#d9534f}.o_ac_token_icon:before{content:"ï‚„"}.o_ac_free_icon:before{content:"ï«"}.o_ac_group_icon:before{content:""}.o_ac_membersonly_icon:before{content:""}.o_ac_paypal_icon:before{content:""}.o_ac_status_canceled_icon:before{content:"ï¨";color:#f0ad4e}.o_ac_status_error_icon:before{content:"ï€";color:#d9534f}.o_ac_status_new_icon:before{content:"ï©";color:#3b678a}.o_ac_status_success_icon:before{content:"";color:#5cb85c}.o_ac_status_waiting_icon:before{content:"";color:#3b678a}.o_ac_order_status_new_icon:before{content:"ï©";color:#3b678a}.o_ac_order_status_prepayment_icon:before{content:"";color:#5bc0de}.o_ac_order_status_payed_icon:before{content:"";color:#5cb85c}.o_ac_order_status_canceled_icon:before{content:"ï¨";color:#f0ad4e}.o_ac_order_status_error_icon:before{content:"ï€";color:#d9534f}.o_ac_order_status_warning_icon:before{content:"";color:#f0ad4e}.o_scorm_org:before{content:""}.o_scorm_item:before{content:""}.o_scorm_completed:before,.o_scorm_passed:before{content:"ï˜"}.o_scorm_failed:before{content:"ï±"}.o_scorm_incomplete:before{content:"ï±"}.o_scorm_not_attempted:before{background:none}.o_midpub:before{content:"ï˜"}.o_midwarn:before{content:"ï±"}.o_midlock:before{content:""}.o_miderr:before{content:"ïª"}.o_middel:before{content:"ï„"}.o_filetype_file:before,.o_filetype_ico:before{content:""}.o_filetype_folder:before{content:"ï„”"}.o_filetype_folder_open:before{content:"ï„•"}.o_filetype_zip:before,.o_filetype_gz:before,.o_filetype_tar:before,.o_filetype_tgz:before{content:""}.o_filetype_css:before,.o_filetype_js:before,.o_filetype_java:before,.o_filetype_numbers:before,.o_filetype_ods:before,.o_filetype_xml:before,.o_filetype_xsl:before{content:""}.o_filetype_bat_icon:before,.o_filetype_bat:before,.o_filetype_exe:before,.o_filetype_app:before,.o_filetype_sh:before{content:""}.o_filetype_xls:before,.o_filetype_xlsx:before{content:""}.o_filetype_png:before,.o_filetype_tiff:before,.o_filetype_webp:before,.o_filetype_gif:before,.o_filetype_ico:before,.o_filetype_jpeg:before,.o_filetype_bmp:before,.o_filetype_odg:before,.o_filetype_eps:before,.o_filetype_jpg:before{content:""}.o_filetype_psd:before,.o_filetype_avi:before,.o_filetype_dvi:before,.o_filetype_mp4:before,.o_filetype_m4v:before,.o_filetype_webm:before,.o_filetype_ogg:before,.o_filetype_video:before,.o_filetype_mov:before,.o_filetype_mpeg:before,.o_filetype_mpg:before,.o_filetype_qt:before,.o_filetype_ra:before,.o_filetype_ram:before,.o_filetype_swf:before,.o_filetype_flv:before{content:""}.o_filetype_midi:before,.o_filetype_audio:before,.o_filetype_mp3:before,.o_filetype_m3u:before,.o_filetype_wav:before{content:""}.o_filetype_ps:before,.o_filetype_pdf:before{content:"ï‡"}.o_filetype_key:before,.o_filetype_odp:before,.o_filetype_ppt:before,.o_filetype_pptx:before{content:""}.o_filetype_odf:before,.o_filetype_rtf:before,.o_filetype_readme:before,.o_filetype_README:before,.o_filetype_log:before,.o_filetype_txt:before,.o_filetype_htm:before,.o_filetype_html:before{content:""}.o_filetype_odt:before,.o_filetype_pages:before,.o_filetype_doc:before,.o_filetype_docx:before{content:""}.o_icon_share_social:before{content:"ï…"}.o_icon_apple:before{content:"ï…¹"}.o_icon_facebook:before{content:"ï‚‚"}.o_icon_twitter:before{content:"ï‚"}.o_icon_google:before{content:""}.o_icon_delicious:before{content:""}.o_icon_digg:before{content:""}.o_icon_mailto:before{content:""}.o_icon_link:before{content:"ïƒ"}.o_icon_yahoo:before{content:""}.o_icon_eva_disclaimer:before{content:""}.o_icon_eva_general_info:before{content:"ï„©"}.o_icon_eva_mc:before{content:"ï†"}.o_icon_eva_sc:before{content:""}.o_icon_surv_commands:before{content:""}.o_icon_surv_delete_all_data:before{content:""}.o_icon_lic_add:before{content:"ï•"}.o_icon_lic_public_domain:before{content:"\E810";font-family:openolat;font-size:120%}.o_icon_lic_cc0:before{content:"\E811";font-family:openolat;font-size:120%}.o_icon_lic_by:before{content:"\E812";font-family:openolat;font-size:120%}.o_icon_lic_by_sa:before{content:"\E813";font-family:openolat;font-size:120%}.o_icon_lic_by_nd:before{content:"\E814";font-family:openolat;font-size:120%}.o_icon_lic_by_nc:before{content:"\E815";font-family:openolat;font-size:120%}.o_icon_lic_by_nc_sa:before{content:"\E817";font-family:openolat;font-size:120%}.o_icon_lic_by_nc_nd:before{content:"\E819";font-family:openolat;font-size:120%}.o_icon_lic_all_rights_reserved:before{content:""}.o_icon_lic_freetext:before{content:""}.o_icon_lic_general:before{content:""}a.o_icon:hover,a.o_icon:focus{text-decoration:none}img.o_emoticons_angel{background:url(../light/images/emoticons/smiley-angel.png);width:16px;height:16px}img.o_emoticons_angry{background:url(../light/images/emoticons/smiley-mad.png);width:16px;height:16px}img.o_emoticons_blushing{background:url(../light/images/emoticons/smiley-red.png);width:16px;height:16px}img.o_emoticons_confused{background:url(../light/images/emoticons/smiley-confuse.png);width:16px;height:16px}img.o_emoticons_cool{background:url(../light/images/emoticons/smiley-cool.png);width:16px;height:16px}img.o_emoticons_cry{background:url(../light/images/emoticons/smiley-cry.png);width:16px;height:16px}img.o_emoticons_devil{background:url(../light/images/emoticons/smiley-evil.png);width:16px;height:16px}img.o_emoticons_grin{background:url(../light/images/emoticons/smiley-grin.png);width:16px;height:16px}img.o_emoticons_kiss{background:url(../light/images/emoticons/smiley-kiss.png);width:16px;height:16px}img.o_emoticons_ohoh{background:url(../light/images/emoticons/smiley-eek.png);width:16px;height:16px}img.o_emoticons_sad{background:url(../light/images/emoticons/smiley-sad.png);width:16px;height:16px}img.o_emoticons_sick{background:url(../light/images/emoticons/smiley-sad-blue.png);width:16px;height:16px}img.o_emoticons_smile{background:url(../light/images/emoticons/smiley.png);width:16px;height:16px}img.o_emoticons_tongue{background:url(../light/images/emoticons/smiley-razz.png);width:16px;height:16px}img.o_emoticons_ugly{background:url(../light/images/emoticons/smiley-money.png);width:16px;height:16px}img.o_emoticons_weird{background:url(../light/images/emoticons/smiley-nerd.png);width:16px;height:16px}img.o_emoticons_wink{background:url(../light/images/emoticons/smiley-wink.png);width:16px;height:16px}img.o_emoticons_worried{background:url(../light/images/emoticons/smiley-roll-blue.png);width:16px;height:16px}img.o_emoticons_up{background:url(../light/images/emoticons/thumb-up.png);width:16px;height:16px}img.o_emoticons_down{background:url(../light/images/emoticons/thumb.png);width:16px;height:16px}.o_block_bottom,.o_block,.o_button_group,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry,.o_header_with_buttons,.o_search_result{margin-bottom:1em}.o_block_top,.o_block,.o_button_group,.o_block_with_datecomp .o_content,.o_course_run .o_toc .o_entry{margin-top:1em}.o_block_small_bottom,.o_block_small{margin-bottom:0.5em}.o_block_small_top,.o_block_small{margin-top:0.5em}.o_block_large_bottom,.o_block_large,.o_block_with_datecomp,.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file,.o_pf_content .o_forum,.o_pf_content .o_image,.o_pf_content .o_video,.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_wiki,.o_login .o_login_footer_wrapper,.o_portlet{margin-bottom:2em}.o_block_large_top,.o_block_large,.o_block_with_datecomp,.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file,.o_pf_content .o_forum,.o_pf_content .o_image,.o_pf_content .o_video,.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_wiki,.o_login .o_login_footer_wrapper,.o_portlet{margin-top:2em}.o_block_inline,.o_block_inline_left,.o_block_inline_both,.o_block_inline_right{display:inline-block}.o_block_inline_left,.o_block_inline_both{margin-left:0.5em}.o_block_inline_right,.o_block_inline_both{margin-right:0.5em}.o_block_centered_wrapper{display:table;width:100%;height:100%}.o_block_centered_content{display:table-cell;vertical-align:middle;text-align:center}.o_block_imagebg{background-repeat:no-repeat;background-position:center;background-size:cover}.o_block_imagebg span{padding:2px;background-color:rgba(255,255,255,0.8)}.o_block_imagebg h1,.o_block_imagebg h2,.o_block_imagebg h3,.o_block_imagebg h4,.o_block_imagebg .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_block_imagebg h2,.o_block_imagebg h5,.o_block_imagebg p{padding:2px;background-color:rgba(255,255,255,0.8);display:inline-block}.o_block_imagebg h1:after,.o_block_imagebg h2:after,.o_block_imagebg h3:after,.o_block_imagebg h4:after,.o_block_imagebg .o_cal .fc-header-title h2:after,.o_cal .fc-header-title .o_block_imagebg h2:after,.o_block_imagebg h5:after,.o_block_imagebg p:after{content:' ';display:block}.o_scrollblock,div.b_scrollblock{overflow-x:auto;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.o_button_group{text-align:center}.o_button_group a,.o_button_group input,.o_button_group button,.o_button_group .btn-group{margin-right:5px;margin-bottom:0.5em}.o_button_group a:last-child,.o_button_group input:last-child,.o_button_group button:last-child,.o_button_group .btn-group:last-child{margin-right:0}.o_button_group .btn-group a,.o_button_group .btn-group input,.o_button_group .btn-group button{margin-right:0;margin-bottom:0}.o_button_group .dropdown-menu{text-align:left}.o_button_group_left{text-align:left}.o_button_group_right{text-align:right}.o_button_group_top{margin-top:0}.o_header_with_buttons:before,.o_header_with_buttons:after{content:" ";display:table}.o_header_with_buttons:after{clear:both}.o_header_with_buttons h1,.o_header_with_buttons h2,.o_header_with_buttons h3,.o_header_with_buttons h4,.o_header_with_buttons .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_header_with_buttons h2,.o_header_with_buttons h5,.o_header_with_buttons h6{display:inline-block}.o_header_with_buttons .o_button_group{margin-bottom:0;float:right}.o_header_with_buttons h1+.o_button_group{margin-top:28px}.o_header_with_buttons h2+.o_button_group{margin-top:24px}.o_header_with_buttons h3+.o_button_group{margin-top:20px}.o_header_with_buttons h4+.o_button_group,.o_header_with_buttons .o_cal .fc-header-title h2+.o_button_group,.o_cal .fc-header-title .o_header_with_buttons h2+.o_button_group{margin-top:10px}.o_header_with_buttons h5+.o_button_group{margin-top:6.6666666667px}.o_header_with_buttons h6+.o_button_group{margin-top:5px}#o_main_center .o_header_with_buttons h2+.o_button_group{margin-top:0}.panel-heading.o_header_with_buttons{margin-bottom:0}.o_button_textstyle:before{content:'['}.o_button_textstyle:after{content:']'}.panel-imagebg{background-repeat:no-repeat;background-position:center;background-size:cover}.panel-imagebg.panel-default>.panel-heading{background-color:rgba(255,255,255,0.8);border-bottom:transparent}.panel-imagebg .panel-body span{padding:2px;background-color:rgba(255,255,255,0.8)}.panel-placeholder{border-width:2px;border-style:dashed;border-color:#6b9ac0;border-radius:10px}.panel-placeholder .panel-body{padding:10px}.panel-placeholder .panel-body:nth-child(n+2){border-top:none}.panel-placeholder .panel-body h3:nth-child(1),.panel-placeholder .panel-body h4:nth-child(1),.panel-placeholder .panel-body .o_cal .fc-header-title h2:nth-child(1),.o_cal .fc-header-title .panel-placeholder .panel-body h2:nth-child(1),.panel-placeholder .panel-body h5:nth-child(1){margin-top:0}.panel-placeholder .panel-body .o_button_group{margin-bottom:0}.panel-placeholder .panel-heading{border-top-right-radius:8px;border-top-left-radius:8px;border-width:2px;border-style:dashed;border-color:#6b9ac0;border-top:none;border-left:none;border-right:none;color:#3b678a;font-weight:bold}.panel-placeholder .panel-footer{border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-width:2px;border-style:dashed;border-color:#6b9ac0;border-bottom:none;border-left:none;border-right:none}.o_xsmall,.b_xsmall,p.b_xsmall,div.b_xsmall{font-size:12px}.o_small,.b_small,p.b_small,div.b_small,.o_comments .o_comment_wrapper h5,.o_comments .o_comment_wrapper .o_comment,.o_bc_meta,.tooltip,.o_htmleditor .o_metadata .o_lastmodified,.o_noti,.o_block_with_datecomp .o_meta,.o_togglebox_wrapper div.o_togglebox_content .o_hide,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_state,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_label,.o_course_run .o_toc .o_entry,.o_assessment_test_results .o_qti_to_overview{font-size:12px}.o_large,.b_large,p.b_large,div.b_large{font-size:18px}.o_xlarge,.b_xlarge,p.b_xlarge,div.b_xlarge{font-size:18px}.o_disabled,.b_disabled,p.b_disabled,div.b_disabled{color:#777 !important;cursor:default}.o_disabled:hover,.b_disabled:hover{color:#777 !important}.o_dimmed,.b_dimmed,p.b_dimmed,div.b_dimmed{opacity:.4;filter:alpha(opacity=40)}.o_selected,.b_selected,p.b_selected,div.b_selected{font-weight:bold}.o_deleted,.b_deleted,p.b_deleted,div.b_deleted{text-decoration:line-through}.o_highlight_on_hover:hover{background-color:#f5f5f5}.o_clickable{cursor:pointer}.o_ochre{color:#c8a959}.o_blue{color:#12223F}.o_undecorated:hover,.o_undecorated:focus,.o_disabled:hover,.b_disabled:hover,#o_main_wrapper #o_toplink:hover,#o_footer_powered a:hover,#o_share a:hover,#o_share_social_container a:hover,.o_toolbar .o_tools_container a:hover,.o_button_toggle:hover,.o_im_message_group .o_im_from:hover,.o_noti .o_label:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:hover,.o_catalog .o_level .o_meta .o_title a:hover,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:hover,.o_repo_details .o_social .o_comments:hover,.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a:hover,.o_login .o_login_register:hover,.o_disabled:focus,.b_disabled:focus,#o_main_wrapper #o_toplink:focus,#o_footer_powered a:focus,#o_share a:focus,#o_share_social_container a:focus,.o_toolbar .o_tools_container a:focus,.o_button_toggle:focus,.o_im_message_group .o_im_from:focus,.o_noti .o_label:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_comments:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:focus,.o_catalog .o_level .o_meta .o_title a:focus,.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:focus,.o_repo_details .o_social .o_comments:focus,.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a:focus,.o_login .o_login_register:focus{text-decoration:none}.o_copy_code,.b_copy_code,p.b_copy_code,div.b_copy_code,code,pre{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}.o_copy_code input,.o_copy_code textarea,.b_copy_code input,code input,pre input,.b_copy_code textarea,code textarea,pre textarea{border:0;width:90%;background:transparent}.o_nowrap,.b_copy_code,p.b_copy_code,div.b_copy_code,code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o_titled_wrapper .o_content{margin-top:20px}.o_video,.o_video video,.b_video,.o_video_wrapper{display:inline-block;max-width:100%;height:auto;max-width:100%}.o_image,.o_image img,img,.b_image{display:inline-block;max-width:100%;height:auto;max-width:100%}.o_figure_caption_bottom{display:inline-block;min-width:50%}.o_figure_caption_bottom figure{display:table}.o_figure_caption_bottom figcaption{display:table-caption;caption-side:bottom;font-size:90%;font-style:italic;text-align:center}.o_image_vertical_center_helper{display:inline-block;height:100%;vertical-align:middle}.o_image_vertical_center_helper+.o_image img{vertical-align:middle}.o_with_hyphens{-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.o_page_margins{padding:25px}h1{color:#3b678a}h2{color:#3b678a}h3{color:#3b678a}h4,.o_cal .fc-header-title h2{color:#3b678a}h5{color:#3b678a}h5{color:#3b678a}fieldset legend{color:#333}.o_user_content_block a{color:#3b678a;text-decoration:none}.o_user_content_block a:hover,.o_user_content_block a:focus{color:#243f54;text-decoration:underline}.b_border_box,p.b_border_box,div.b_border_box{border:1px solid #777;padding:1em;border-top-right-radius:3px;border-top-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}table td{vertical-align:top}table.b_grid{width:99.5%;background:transparent;border-collapse:separate}table.b_grid td,table.b_grid th{padding:1px 5px;border:1px solid #777}table.b_grid thead td,table.b_grid th{background:#eee;font-weight:bold}table.b_border{width:99.5%;background:transparent;border-collapse:collapse}table.b_border td,table.b_border th{padding:1px 5px;border:1px solid #777}table.b_border thead td,table.b_border th{background:#eee;font-weight:bold}table.b_borderless{width:99.5%;background:transparent;border-collapse:separate}table.b_borderless td,table.b_borderless th{padding:1px 5px;border:0}table.b_borderless thead td,table.b_borderless th{font-weight:bold}table.b_full{width:99.5%}table.b_middle{background:transparent}table.b_middle td{vertical-align:middle}table.b_gray{border-collapse:collapse}table.b_gray td,table.b_gray th{padding:1px 5px;background:#eee;border:1px solid #fff}table.b_gray thead td,table.b_gray th{background:#d5d5d5;font-weight:bold}table.b_blue{border-collapse:collapse}table.b_blue td,table.b_blue th{padding:1px 5px;background:#d9edf7;border:1px solid #fff}table.b_blue thead td,table.b_blue th{background:#afd9ee;font-weight:bold}table.b_green{border-collapse:collapse}table.b_green td,table.b_green th{padding:1px 5px;background:#dff0d8;border:1px solid #fff}table.b_green thead td,table.b_green th{background:#c1e2b3;font-weight:bold}table.b_yellow{border-collapse:collapse}table.b_yellow td,table.b_yellow th{padding:1px 5px;background:#fcf8e3;border:1px solid #fff}table.b_yellow thead td,table.b_yellow th{background:#f7ecb5;font-weight:bold}table.b_red{border-collapse:collapse}table.b_red td,table.b_red th{padding:1px 5px;background:#f2dede;border:1px solid #fff}table.b_red thead td,table.b_red th{background:#e4b9b9;font-weight:bold}.b_align_normal{text-align:left}.b_align_center{text-align:center}.b_align_inverse{text-align:right}.b_align_justified{text-align:justify}a.b_link_extern{color:#3b678a}a.b_link_extern:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:"ï‚Ž"}a.b_link_mailto{color:#3b678a}a.b_link_mailto:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:""}a.b_link_forward{color:#3b678a}a.b_link_forward:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:"ï¤"}img.b_float_left{float:left;margin:0 2em 2em 0}img.b_float_left_clear{clear:both;margin:0 2em 2em 0;display:block}img.b_float_right{float:right;margin:0 0 2em 2em}img.b_float_right_clear{clear:both;display:block;margin:0 0 2em auto}img.b_float_left_clear_nomargin{float:left;display:block;margin:0 0 0 0}img.b_centered{clear:both;display:block;margin:0 auto 2em auto}img.b_circle{border-radius:50%}img.b_with_border{border:1px solid #ddd;padding:3px;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}p.b_figure_title{margin:20px 0 5px 0;font-size:85%;font-family:inherit}p.b_figure_caption{clear:both;margin:5px 0 20px 0;font-size:85%;font-family:inherit}.b_clear_float,p.b_clear_float,div.b_clear_float{clear:both}figure.align-left{float:left}figure.align-right{float:right}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}img.align-left{float:left}img.align-right{float:right}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}figure.image.align-center{display:block;text-align:center}figure.image.align-left{float:none;display:block;text-align:left}figure.image.align-left figcaption{text-align:left}figure.image.align-right{float:none;display:block;text-align:right}figure.image.align-right figcaption{text-align:right}figure.image{margin:2em 0 2em 0;border:0;background:none}figure.image img.b_float_left,figure.image img.b_float_left_clear,figure.image img.b_float_right,figure.image img.b_float_right_clear,figure.image img.b_float_left_clear_nomargin,figure.image img.b_centered{float:none;display:inline-block;margin:0}figure.image figcaption{font-size:90%;font-style:italic}.radial-progress{margin:10px;width:120px;height:120px;background-color:#eee;border-radius:50%;display:inline-block;position:relative}.radial-progress .circle .mask,.radial-progress .circle .fill,.radial-progress .circle .shadow{width:100%;height:100%;position:absolute;border-radius:50%}.radial-progress .circle .shadow{box-shadow:none inset}.radial-progress .circle .mask,.radial-progress .circle .fill{-webkit-backface-visibility:hidden;transition:-webkit-transform 1s;transition:-ms-transform 1s;transition:transform 1s;border-radius:50%}.radial-progress .circle .mask{clip:rect(0px, 120px, 120px, 60px)}.radial-progress .circle .mask .fill{clip:rect(0px, 60px, 120px, 0px);background-color:#3b678a}.radial-progress .inset{width:90px;height:90px;position:absolute;border-radius:50%;margin-left:15px;margin-top:15px;overflow:hidden;background-color:#fff;box-shadow:none;font-size:21.6px}.radial-progress .inset .bgIcon{position:absolute;font-size:80px;top:5px;left:-5px;opacity:0;transition:opacity 0;transition-delay:1s}.radial-progress .inset .percentage{height:80%;width:80%;position:absolute;top:10%;left:10%;display:table;line-height:1}.radial-progress .inset .percentage .centeredWrapper{display:table-cell;vertical-align:middle;text-align:center}.radial-progress .inset .percentage .centeredWrapper .number{font-weight:800;color:#3b678a}.radial-progress .inset .percentage .centeredWrapper .addon{color:#777;margin-top:5px}.radial-progress .inset .percentage .centeredWrapper .addon div:nth-of-type(1){font-size:0.55em;font-weight:bold}.radial-progress .inset .percentage .centeredWrapper .addon div:nth-of-type(2){margin-top:2px;font-size:0.45em}.radial-progress[data-progress="0"] .circle .mask.full,.radial-progress[data-progress="0"] .circle .fill{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.radial-progress[data-progress="0"] .circle .fill.fix{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.radial-progress[data-progress="1"] .circle .mask.full,.radial-progress[data-progress="1"] .circle .fill{-webkit-transform:rotate(1.8deg);-ms-transform:rotate(1.8deg);transform:rotate(1.8deg)}.radial-progress[data-progress="1"] .circle .fill.fix{-webkit-transform:rotate(3.6deg);-ms-transform:rotate(3.6deg);transform:rotate(3.6deg)}.radial-progress[data-progress="2"] .circle .mask.full,.radial-progress[data-progress="2"] .circle .fill{-webkit-transform:rotate(3.6deg);-ms-transform:rotate(3.6deg);transform:rotate(3.6deg)}.radial-progress[data-progress="2"] .circle .fill.fix{-webkit-transform:rotate(7.2deg);-ms-transform:rotate(7.2deg);transform:rotate(7.2deg)}.radial-progress[data-progress="3"] .circle .mask.full,.radial-progress[data-progress="3"] .circle .fill{-webkit-transform:rotate(5.4deg);-ms-transform:rotate(5.4deg);transform:rotate(5.4deg)}.radial-progress[data-progress="3"] .circle .fill.fix{-webkit-transform:rotate(10.8deg);-ms-transform:rotate(10.8deg);transform:rotate(10.8deg)}.radial-progress[data-progress="4"] .circle .mask.full,.radial-progress[data-progress="4"] .circle .fill{-webkit-transform:rotate(7.2deg);-ms-transform:rotate(7.2deg);transform:rotate(7.2deg)}.radial-progress[data-progress="4"] .circle .fill.fix{-webkit-transform:rotate(14.4deg);-ms-transform:rotate(14.4deg);transform:rotate(14.4deg)}.radial-progress[data-progress="5"] .circle .mask.full,.radial-progress[data-progress="5"] .circle .fill{-webkit-transform:rotate(9deg);-ms-transform:rotate(9deg);transform:rotate(9deg)}.radial-progress[data-progress="5"] .circle .fill.fix{-webkit-transform:rotate(18deg);-ms-transform:rotate(18deg);transform:rotate(18deg)}.radial-progress[data-progress="6"] .circle .mask.full,.radial-progress[data-progress="6"] .circle .fill{-webkit-transform:rotate(10.8deg);-ms-transform:rotate(10.8deg);transform:rotate(10.8deg)}.radial-progress[data-progress="6"] .circle .fill.fix{-webkit-transform:rotate(21.6deg);-ms-transform:rotate(21.6deg);transform:rotate(21.6deg)}.radial-progress[data-progress="7"] .circle .mask.full,.radial-progress[data-progress="7"] .circle .fill{-webkit-transform:rotate(12.6deg);-ms-transform:rotate(12.6deg);transform:rotate(12.6deg)}.radial-progress[data-progress="7"] .circle .fill.fix{-webkit-transform:rotate(25.2deg);-ms-transform:rotate(25.2deg);transform:rotate(25.2deg)}.radial-progress[data-progress="8"] .circle .mask.full,.radial-progress[data-progress="8"] .circle .fill{-webkit-transform:rotate(14.4deg);-ms-transform:rotate(14.4deg);transform:rotate(14.4deg)}.radial-progress[data-progress="8"] .circle .fill.fix{-webkit-transform:rotate(28.8deg);-ms-transform:rotate(28.8deg);transform:rotate(28.8deg)}.radial-progress[data-progress="9"] .circle .mask.full,.radial-progress[data-progress="9"] .circle .fill{-webkit-transform:rotate(16.2deg);-ms-transform:rotate(16.2deg);transform:rotate(16.2deg)}.radial-progress[data-progress="9"] .circle .fill.fix{-webkit-transform:rotate(32.4deg);-ms-transform:rotate(32.4deg);transform:rotate(32.4deg)}.radial-progress[data-progress="10"] .circle .mask.full,.radial-progress[data-progress="10"] .circle .fill{-webkit-transform:rotate(18deg);-ms-transform:rotate(18deg);transform:rotate(18deg)}.radial-progress[data-progress="10"] .circle .fill.fix{-webkit-transform:rotate(36deg);-ms-transform:rotate(36deg);transform:rotate(36deg)}.radial-progress[data-progress="11"] .circle .mask.full,.radial-progress[data-progress="11"] .circle .fill{-webkit-transform:rotate(19.8deg);-ms-transform:rotate(19.8deg);transform:rotate(19.8deg)}.radial-progress[data-progress="11"] .circle .fill.fix{-webkit-transform:rotate(39.6deg);-ms-transform:rotate(39.6deg);transform:rotate(39.6deg)}.radial-progress[data-progress="12"] .circle .mask.full,.radial-progress[data-progress="12"] .circle .fill{-webkit-transform:rotate(21.6deg);-ms-transform:rotate(21.6deg);transform:rotate(21.6deg)}.radial-progress[data-progress="12"] .circle .fill.fix{-webkit-transform:rotate(43.2deg);-ms-transform:rotate(43.2deg);transform:rotate(43.2deg)}.radial-progress[data-progress="13"] .circle .mask.full,.radial-progress[data-progress="13"] .circle .fill{-webkit-transform:rotate(23.4deg);-ms-transform:rotate(23.4deg);transform:rotate(23.4deg)}.radial-progress[data-progress="13"] .circle .fill.fix{-webkit-transform:rotate(46.8deg);-ms-transform:rotate(46.8deg);transform:rotate(46.8deg)}.radial-progress[data-progress="14"] .circle .mask.full,.radial-progress[data-progress="14"] .circle .fill{-webkit-transform:rotate(25.2deg);-ms-transform:rotate(25.2deg);transform:rotate(25.2deg)}.radial-progress[data-progress="14"] .circle .fill.fix{-webkit-transform:rotate(50.4deg);-ms-transform:rotate(50.4deg);transform:rotate(50.4deg)}.radial-progress[data-progress="15"] .circle .mask.full,.radial-progress[data-progress="15"] .circle .fill{-webkit-transform:rotate(27deg);-ms-transform:rotate(27deg);transform:rotate(27deg)}.radial-progress[data-progress="15"] .circle .fill.fix{-webkit-transform:rotate(54deg);-ms-transform:rotate(54deg);transform:rotate(54deg)}.radial-progress[data-progress="16"] .circle .mask.full,.radial-progress[data-progress="16"] .circle .fill{-webkit-transform:rotate(28.8deg);-ms-transform:rotate(28.8deg);transform:rotate(28.8deg)}.radial-progress[data-progress="16"] .circle .fill.fix{-webkit-transform:rotate(57.6deg);-ms-transform:rotate(57.6deg);transform:rotate(57.6deg)}.radial-progress[data-progress="17"] .circle .mask.full,.radial-progress[data-progress="17"] .circle .fill{-webkit-transform:rotate(30.6deg);-ms-transform:rotate(30.6deg);transform:rotate(30.6deg)}.radial-progress[data-progress="17"] .circle .fill.fix{-webkit-transform:rotate(61.2deg);-ms-transform:rotate(61.2deg);transform:rotate(61.2deg)}.radial-progress[data-progress="18"] .circle .mask.full,.radial-progress[data-progress="18"] .circle .fill{-webkit-transform:rotate(32.4deg);-ms-transform:rotate(32.4deg);transform:rotate(32.4deg)}.radial-progress[data-progress="18"] .circle .fill.fix{-webkit-transform:rotate(64.8deg);-ms-transform:rotate(64.8deg);transform:rotate(64.8deg)}.radial-progress[data-progress="19"] .circle .mask.full,.radial-progress[data-progress="19"] .circle .fill{-webkit-transform:rotate(34.2deg);-ms-transform:rotate(34.2deg);transform:rotate(34.2deg)}.radial-progress[data-progress="19"] .circle .fill.fix{-webkit-transform:rotate(68.4deg);-ms-transform:rotate(68.4deg);transform:rotate(68.4deg)}.radial-progress[data-progress="20"] .circle .mask.full,.radial-progress[data-progress="20"] .circle .fill{-webkit-transform:rotate(36deg);-ms-transform:rotate(36deg);transform:rotate(36deg)}.radial-progress[data-progress="20"] .circle .fill.fix{-webkit-transform:rotate(72deg);-ms-transform:rotate(72deg);transform:rotate(72deg)}.radial-progress[data-progress="21"] .circle .mask.full,.radial-progress[data-progress="21"] .circle .fill{-webkit-transform:rotate(37.8deg);-ms-transform:rotate(37.8deg);transform:rotate(37.8deg)}.radial-progress[data-progress="21"] .circle .fill.fix{-webkit-transform:rotate(75.6deg);-ms-transform:rotate(75.6deg);transform:rotate(75.6deg)}.radial-progress[data-progress="22"] .circle .mask.full,.radial-progress[data-progress="22"] .circle .fill{-webkit-transform:rotate(39.6deg);-ms-transform:rotate(39.6deg);transform:rotate(39.6deg)}.radial-progress[data-progress="22"] .circle .fill.fix{-webkit-transform:rotate(79.2deg);-ms-transform:rotate(79.2deg);transform:rotate(79.2deg)}.radial-progress[data-progress="23"] .circle .mask.full,.radial-progress[data-progress="23"] .circle .fill{-webkit-transform:rotate(41.4deg);-ms-transform:rotate(41.4deg);transform:rotate(41.4deg)}.radial-progress[data-progress="23"] .circle .fill.fix{-webkit-transform:rotate(82.8deg);-ms-transform:rotate(82.8deg);transform:rotate(82.8deg)}.radial-progress[data-progress="24"] .circle .mask.full,.radial-progress[data-progress="24"] .circle .fill{-webkit-transform:rotate(43.2deg);-ms-transform:rotate(43.2deg);transform:rotate(43.2deg)}.radial-progress[data-progress="24"] .circle .fill.fix{-webkit-transform:rotate(86.4deg);-ms-transform:rotate(86.4deg);transform:rotate(86.4deg)}.radial-progress[data-progress="25"] .circle .mask.full,.radial-progress[data-progress="25"] .circle .fill{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.radial-progress[data-progress="25"] .circle .fill.fix{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.radial-progress[data-progress="26"] .circle .mask.full,.radial-progress[data-progress="26"] .circle .fill{-webkit-transform:rotate(46.8deg);-ms-transform:rotate(46.8deg);transform:rotate(46.8deg)}.radial-progress[data-progress="26"] .circle .fill.fix{-webkit-transform:rotate(93.6deg);-ms-transform:rotate(93.6deg);transform:rotate(93.6deg)}.radial-progress[data-progress="27"] .circle .mask.full,.radial-progress[data-progress="27"] .circle .fill{-webkit-transform:rotate(48.6deg);-ms-transform:rotate(48.6deg);transform:rotate(48.6deg)}.radial-progress[data-progress="27"] .circle .fill.fix{-webkit-transform:rotate(97.2deg);-ms-transform:rotate(97.2deg);transform:rotate(97.2deg)}.radial-progress[data-progress="28"] .circle .mask.full,.radial-progress[data-progress="28"] .circle .fill{-webkit-transform:rotate(50.4deg);-ms-transform:rotate(50.4deg);transform:rotate(50.4deg)}.radial-progress[data-progress="28"] .circle .fill.fix{-webkit-transform:rotate(100.8deg);-ms-transform:rotate(100.8deg);transform:rotate(100.8deg)}.radial-progress[data-progress="29"] .circle .mask.full,.radial-progress[data-progress="29"] .circle .fill{-webkit-transform:rotate(52.2deg);-ms-transform:rotate(52.2deg);transform:rotate(52.2deg)}.radial-progress[data-progress="29"] .circle .fill.fix{-webkit-transform:rotate(104.4deg);-ms-transform:rotate(104.4deg);transform:rotate(104.4deg)}.radial-progress[data-progress="30"] .circle .mask.full,.radial-progress[data-progress="30"] .circle .fill{-webkit-transform:rotate(54deg);-ms-transform:rotate(54deg);transform:rotate(54deg)}.radial-progress[data-progress="30"] .circle .fill.fix{-webkit-transform:rotate(108deg);-ms-transform:rotate(108deg);transform:rotate(108deg)}.radial-progress[data-progress="31"] .circle .mask.full,.radial-progress[data-progress="31"] .circle .fill{-webkit-transform:rotate(55.8deg);-ms-transform:rotate(55.8deg);transform:rotate(55.8deg)}.radial-progress[data-progress="31"] .circle .fill.fix{-webkit-transform:rotate(111.6deg);-ms-transform:rotate(111.6deg);transform:rotate(111.6deg)}.radial-progress[data-progress="32"] .circle .mask.full,.radial-progress[data-progress="32"] .circle .fill{-webkit-transform:rotate(57.6deg);-ms-transform:rotate(57.6deg);transform:rotate(57.6deg)}.radial-progress[data-progress="32"] .circle .fill.fix{-webkit-transform:rotate(115.2deg);-ms-transform:rotate(115.2deg);transform:rotate(115.2deg)}.radial-progress[data-progress="33"] .circle .mask.full,.radial-progress[data-progress="33"] .circle .fill{-webkit-transform:rotate(59.4deg);-ms-transform:rotate(59.4deg);transform:rotate(59.4deg)}.radial-progress[data-progress="33"] .circle .fill.fix{-webkit-transform:rotate(118.8deg);-ms-transform:rotate(118.8deg);transform:rotate(118.8deg)}.radial-progress[data-progress="34"] .circle .mask.full,.radial-progress[data-progress="34"] .circle .fill{-webkit-transform:rotate(61.2deg);-ms-transform:rotate(61.2deg);transform:rotate(61.2deg)}.radial-progress[data-progress="34"] .circle .fill.fix{-webkit-transform:rotate(122.4deg);-ms-transform:rotate(122.4deg);transform:rotate(122.4deg)}.radial-progress[data-progress="35"] .circle .mask.full,.radial-progress[data-progress="35"] .circle .fill{-webkit-transform:rotate(63deg);-ms-transform:rotate(63deg);transform:rotate(63deg)}.radial-progress[data-progress="35"] .circle .fill.fix{-webkit-transform:rotate(126deg);-ms-transform:rotate(126deg);transform:rotate(126deg)}.radial-progress[data-progress="36"] .circle .mask.full,.radial-progress[data-progress="36"] .circle .fill{-webkit-transform:rotate(64.8deg);-ms-transform:rotate(64.8deg);transform:rotate(64.8deg)}.radial-progress[data-progress="36"] .circle .fill.fix{-webkit-transform:rotate(129.6deg);-ms-transform:rotate(129.6deg);transform:rotate(129.6deg)}.radial-progress[data-progress="37"] .circle .mask.full,.radial-progress[data-progress="37"] .circle .fill{-webkit-transform:rotate(66.6deg);-ms-transform:rotate(66.6deg);transform:rotate(66.6deg)}.radial-progress[data-progress="37"] .circle .fill.fix{-webkit-transform:rotate(133.2deg);-ms-transform:rotate(133.2deg);transform:rotate(133.2deg)}.radial-progress[data-progress="38"] .circle .mask.full,.radial-progress[data-progress="38"] .circle .fill{-webkit-transform:rotate(68.4deg);-ms-transform:rotate(68.4deg);transform:rotate(68.4deg)}.radial-progress[data-progress="38"] .circle .fill.fix{-webkit-transform:rotate(136.8deg);-ms-transform:rotate(136.8deg);transform:rotate(136.8deg)}.radial-progress[data-progress="39"] .circle .mask.full,.radial-progress[data-progress="39"] .circle .fill{-webkit-transform:rotate(70.2deg);-ms-transform:rotate(70.2deg);transform:rotate(70.2deg)}.radial-progress[data-progress="39"] .circle .fill.fix{-webkit-transform:rotate(140.4deg);-ms-transform:rotate(140.4deg);transform:rotate(140.4deg)}.radial-progress[data-progress="40"] .circle .mask.full,.radial-progress[data-progress="40"] .circle .fill{-webkit-transform:rotate(72deg);-ms-transform:rotate(72deg);transform:rotate(72deg)}.radial-progress[data-progress="40"] .circle .fill.fix{-webkit-transform:rotate(144deg);-ms-transform:rotate(144deg);transform:rotate(144deg)}.radial-progress[data-progress="41"] .circle .mask.full,.radial-progress[data-progress="41"] .circle .fill{-webkit-transform:rotate(73.8deg);-ms-transform:rotate(73.8deg);transform:rotate(73.8deg)}.radial-progress[data-progress="41"] .circle .fill.fix{-webkit-transform:rotate(147.6deg);-ms-transform:rotate(147.6deg);transform:rotate(147.6deg)}.radial-progress[data-progress="42"] .circle .mask.full,.radial-progress[data-progress="42"] .circle .fill{-webkit-transform:rotate(75.6deg);-ms-transform:rotate(75.6deg);transform:rotate(75.6deg)}.radial-progress[data-progress="42"] .circle .fill.fix{-webkit-transform:rotate(151.2deg);-ms-transform:rotate(151.2deg);transform:rotate(151.2deg)}.radial-progress[data-progress="43"] .circle .mask.full,.radial-progress[data-progress="43"] .circle .fill{-webkit-transform:rotate(77.4deg);-ms-transform:rotate(77.4deg);transform:rotate(77.4deg)}.radial-progress[data-progress="43"] .circle .fill.fix{-webkit-transform:rotate(154.8deg);-ms-transform:rotate(154.8deg);transform:rotate(154.8deg)}.radial-progress[data-progress="44"] .circle .mask.full,.radial-progress[data-progress="44"] .circle .fill{-webkit-transform:rotate(79.2deg);-ms-transform:rotate(79.2deg);transform:rotate(79.2deg)}.radial-progress[data-progress="44"] .circle .fill.fix{-webkit-transform:rotate(158.4deg);-ms-transform:rotate(158.4deg);transform:rotate(158.4deg)}.radial-progress[data-progress="45"] .circle .mask.full,.radial-progress[data-progress="45"] .circle .fill{-webkit-transform:rotate(81deg);-ms-transform:rotate(81deg);transform:rotate(81deg)}.radial-progress[data-progress="45"] .circle .fill.fix{-webkit-transform:rotate(162deg);-ms-transform:rotate(162deg);transform:rotate(162deg)}.radial-progress[data-progress="46"] .circle .mask.full,.radial-progress[data-progress="46"] .circle .fill{-webkit-transform:rotate(82.8deg);-ms-transform:rotate(82.8deg);transform:rotate(82.8deg)}.radial-progress[data-progress="46"] .circle .fill.fix{-webkit-transform:rotate(165.6deg);-ms-transform:rotate(165.6deg);transform:rotate(165.6deg)}.radial-progress[data-progress="47"] .circle .mask.full,.radial-progress[data-progress="47"] .circle .fill{-webkit-transform:rotate(84.6deg);-ms-transform:rotate(84.6deg);transform:rotate(84.6deg)}.radial-progress[data-progress="47"] .circle .fill.fix{-webkit-transform:rotate(169.2deg);-ms-transform:rotate(169.2deg);transform:rotate(169.2deg)}.radial-progress[data-progress="48"] .circle .mask.full,.radial-progress[data-progress="48"] .circle .fill{-webkit-transform:rotate(86.4deg);-ms-transform:rotate(86.4deg);transform:rotate(86.4deg)}.radial-progress[data-progress="48"] .circle .fill.fix{-webkit-transform:rotate(172.8deg);-ms-transform:rotate(172.8deg);transform:rotate(172.8deg)}.radial-progress[data-progress="49"] .circle .mask.full,.radial-progress[data-progress="49"] .circle .fill{-webkit-transform:rotate(88.2deg);-ms-transform:rotate(88.2deg);transform:rotate(88.2deg)}.radial-progress[data-progress="49"] .circle .fill.fix{-webkit-transform:rotate(176.4deg);-ms-transform:rotate(176.4deg);transform:rotate(176.4deg)}.radial-progress[data-progress="50"] .circle .mask.full,.radial-progress[data-progress="50"] .circle .fill{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.radial-progress[data-progress="50"] .circle .fill.fix{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.radial-progress[data-progress="51"] .circle .mask.full,.radial-progress[data-progress="51"] .circle .fill{-webkit-transform:rotate(91.8deg);-ms-transform:rotate(91.8deg);transform:rotate(91.8deg)}.radial-progress[data-progress="51"] .circle .fill.fix{-webkit-transform:rotate(183.6deg);-ms-transform:rotate(183.6deg);transform:rotate(183.6deg)}.radial-progress[data-progress="52"] .circle .mask.full,.radial-progress[data-progress="52"] .circle .fill{-webkit-transform:rotate(93.6deg);-ms-transform:rotate(93.6deg);transform:rotate(93.6deg)}.radial-progress[data-progress="52"] .circle .fill.fix{-webkit-transform:rotate(187.2deg);-ms-transform:rotate(187.2deg);transform:rotate(187.2deg)}.radial-progress[data-progress="53"] .circle .mask.full,.radial-progress[data-progress="53"] .circle .fill{-webkit-transform:rotate(95.4deg);-ms-transform:rotate(95.4deg);transform:rotate(95.4deg)}.radial-progress[data-progress="53"] .circle .fill.fix{-webkit-transform:rotate(190.8deg);-ms-transform:rotate(190.8deg);transform:rotate(190.8deg)}.radial-progress[data-progress="54"] .circle .mask.full,.radial-progress[data-progress="54"] .circle .fill{-webkit-transform:rotate(97.2deg);-ms-transform:rotate(97.2deg);transform:rotate(97.2deg)}.radial-progress[data-progress="54"] .circle .fill.fix{-webkit-transform:rotate(194.4deg);-ms-transform:rotate(194.4deg);transform:rotate(194.4deg)}.radial-progress[data-progress="55"] .circle .mask.full,.radial-progress[data-progress="55"] .circle .fill{-webkit-transform:rotate(99deg);-ms-transform:rotate(99deg);transform:rotate(99deg)}.radial-progress[data-progress="55"] .circle .fill.fix{-webkit-transform:rotate(198deg);-ms-transform:rotate(198deg);transform:rotate(198deg)}.radial-progress[data-progress="56"] .circle .mask.full,.radial-progress[data-progress="56"] .circle .fill{-webkit-transform:rotate(100.8deg);-ms-transform:rotate(100.8deg);transform:rotate(100.8deg)}.radial-progress[data-progress="56"] .circle .fill.fix{-webkit-transform:rotate(201.6deg);-ms-transform:rotate(201.6deg);transform:rotate(201.6deg)}.radial-progress[data-progress="57"] .circle .mask.full,.radial-progress[data-progress="57"] .circle .fill{-webkit-transform:rotate(102.6deg);-ms-transform:rotate(102.6deg);transform:rotate(102.6deg)}.radial-progress[data-progress="57"] .circle .fill.fix{-webkit-transform:rotate(205.2deg);-ms-transform:rotate(205.2deg);transform:rotate(205.2deg)}.radial-progress[data-progress="58"] .circle .mask.full,.radial-progress[data-progress="58"] .circle .fill{-webkit-transform:rotate(104.4deg);-ms-transform:rotate(104.4deg);transform:rotate(104.4deg)}.radial-progress[data-progress="58"] .circle .fill.fix{-webkit-transform:rotate(208.8deg);-ms-transform:rotate(208.8deg);transform:rotate(208.8deg)}.radial-progress[data-progress="59"] .circle .mask.full,.radial-progress[data-progress="59"] .circle .fill{-webkit-transform:rotate(106.2deg);-ms-transform:rotate(106.2deg);transform:rotate(106.2deg)}.radial-progress[data-progress="59"] .circle .fill.fix{-webkit-transform:rotate(212.4deg);-ms-transform:rotate(212.4deg);transform:rotate(212.4deg)}.radial-progress[data-progress="60"] .circle .mask.full,.radial-progress[data-progress="60"] .circle .fill{-webkit-transform:rotate(108deg);-ms-transform:rotate(108deg);transform:rotate(108deg)}.radial-progress[data-progress="60"] .circle .fill.fix{-webkit-transform:rotate(216deg);-ms-transform:rotate(216deg);transform:rotate(216deg)}.radial-progress[data-progress="61"] .circle .mask.full,.radial-progress[data-progress="61"] .circle .fill{-webkit-transform:rotate(109.8deg);-ms-transform:rotate(109.8deg);transform:rotate(109.8deg)}.radial-progress[data-progress="61"] .circle .fill.fix{-webkit-transform:rotate(219.6deg);-ms-transform:rotate(219.6deg);transform:rotate(219.6deg)}.radial-progress[data-progress="62"] .circle .mask.full,.radial-progress[data-progress="62"] .circle .fill{-webkit-transform:rotate(111.6deg);-ms-transform:rotate(111.6deg);transform:rotate(111.6deg)}.radial-progress[data-progress="62"] .circle .fill.fix{-webkit-transform:rotate(223.2deg);-ms-transform:rotate(223.2deg);transform:rotate(223.2deg)}.radial-progress[data-progress="63"] .circle .mask.full,.radial-progress[data-progress="63"] .circle .fill{-webkit-transform:rotate(113.4deg);-ms-transform:rotate(113.4deg);transform:rotate(113.4deg)}.radial-progress[data-progress="63"] .circle .fill.fix{-webkit-transform:rotate(226.8deg);-ms-transform:rotate(226.8deg);transform:rotate(226.8deg)}.radial-progress[data-progress="64"] .circle .mask.full,.radial-progress[data-progress="64"] .circle .fill{-webkit-transform:rotate(115.2deg);-ms-transform:rotate(115.2deg);transform:rotate(115.2deg)}.radial-progress[data-progress="64"] .circle .fill.fix{-webkit-transform:rotate(230.4deg);-ms-transform:rotate(230.4deg);transform:rotate(230.4deg)}.radial-progress[data-progress="65"] .circle .mask.full,.radial-progress[data-progress="65"] .circle .fill{-webkit-transform:rotate(117deg);-ms-transform:rotate(117deg);transform:rotate(117deg)}.radial-progress[data-progress="65"] .circle .fill.fix{-webkit-transform:rotate(234deg);-ms-transform:rotate(234deg);transform:rotate(234deg)}.radial-progress[data-progress="66"] .circle .mask.full,.radial-progress[data-progress="66"] .circle .fill{-webkit-transform:rotate(118.8deg);-ms-transform:rotate(118.8deg);transform:rotate(118.8deg)}.radial-progress[data-progress="66"] .circle .fill.fix{-webkit-transform:rotate(237.6deg);-ms-transform:rotate(237.6deg);transform:rotate(237.6deg)}.radial-progress[data-progress="67"] .circle .mask.full,.radial-progress[data-progress="67"] .circle .fill{-webkit-transform:rotate(120.6deg);-ms-transform:rotate(120.6deg);transform:rotate(120.6deg)}.radial-progress[data-progress="67"] .circle .fill.fix{-webkit-transform:rotate(241.2deg);-ms-transform:rotate(241.2deg);transform:rotate(241.2deg)}.radial-progress[data-progress="68"] .circle .mask.full,.radial-progress[data-progress="68"] .circle .fill{-webkit-transform:rotate(122.4deg);-ms-transform:rotate(122.4deg);transform:rotate(122.4deg)}.radial-progress[data-progress="68"] .circle .fill.fix{-webkit-transform:rotate(244.8deg);-ms-transform:rotate(244.8deg);transform:rotate(244.8deg)}.radial-progress[data-progress="69"] .circle .mask.full,.radial-progress[data-progress="69"] .circle .fill{-webkit-transform:rotate(124.2deg);-ms-transform:rotate(124.2deg);transform:rotate(124.2deg)}.radial-progress[data-progress="69"] .circle .fill.fix{-webkit-transform:rotate(248.4deg);-ms-transform:rotate(248.4deg);transform:rotate(248.4deg)}.radial-progress[data-progress="70"] .circle .mask.full,.radial-progress[data-progress="70"] .circle .fill{-webkit-transform:rotate(126deg);-ms-transform:rotate(126deg);transform:rotate(126deg)}.radial-progress[data-progress="70"] .circle .fill.fix{-webkit-transform:rotate(252deg);-ms-transform:rotate(252deg);transform:rotate(252deg)}.radial-progress[data-progress="71"] .circle .mask.full,.radial-progress[data-progress="71"] .circle .fill{-webkit-transform:rotate(127.8deg);-ms-transform:rotate(127.8deg);transform:rotate(127.8deg)}.radial-progress[data-progress="71"] .circle .fill.fix{-webkit-transform:rotate(255.6deg);-ms-transform:rotate(255.6deg);transform:rotate(255.6deg)}.radial-progress[data-progress="72"] .circle .mask.full,.radial-progress[data-progress="72"] .circle .fill{-webkit-transform:rotate(129.6deg);-ms-transform:rotate(129.6deg);transform:rotate(129.6deg)}.radial-progress[data-progress="72"] .circle .fill.fix{-webkit-transform:rotate(259.2deg);-ms-transform:rotate(259.2deg);transform:rotate(259.2deg)}.radial-progress[data-progress="73"] .circle .mask.full,.radial-progress[data-progress="73"] .circle .fill{-webkit-transform:rotate(131.4deg);-ms-transform:rotate(131.4deg);transform:rotate(131.4deg)}.radial-progress[data-progress="73"] .circle .fill.fix{-webkit-transform:rotate(262.8deg);-ms-transform:rotate(262.8deg);transform:rotate(262.8deg)}.radial-progress[data-progress="74"] .circle .mask.full,.radial-progress[data-progress="74"] .circle .fill{-webkit-transform:rotate(133.2deg);-ms-transform:rotate(133.2deg);transform:rotate(133.2deg)}.radial-progress[data-progress="74"] .circle .fill.fix{-webkit-transform:rotate(266.4deg);-ms-transform:rotate(266.4deg);transform:rotate(266.4deg)}.radial-progress[data-progress="75"] .circle .mask.full,.radial-progress[data-progress="75"] .circle .fill{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.radial-progress[data-progress="75"] .circle .fill.fix{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.radial-progress[data-progress="76"] .circle .mask.full,.radial-progress[data-progress="76"] .circle .fill{-webkit-transform:rotate(136.8deg);-ms-transform:rotate(136.8deg);transform:rotate(136.8deg)}.radial-progress[data-progress="76"] .circle .fill.fix{-webkit-transform:rotate(273.6deg);-ms-transform:rotate(273.6deg);transform:rotate(273.6deg)}.radial-progress[data-progress="77"] .circle .mask.full,.radial-progress[data-progress="77"] .circle .fill{-webkit-transform:rotate(138.6deg);-ms-transform:rotate(138.6deg);transform:rotate(138.6deg)}.radial-progress[data-progress="77"] .circle .fill.fix{-webkit-transform:rotate(277.2deg);-ms-transform:rotate(277.2deg);transform:rotate(277.2deg)}.radial-progress[data-progress="78"] .circle .mask.full,.radial-progress[data-progress="78"] .circle .fill{-webkit-transform:rotate(140.4deg);-ms-transform:rotate(140.4deg);transform:rotate(140.4deg)}.radial-progress[data-progress="78"] .circle .fill.fix{-webkit-transform:rotate(280.8deg);-ms-transform:rotate(280.8deg);transform:rotate(280.8deg)}.radial-progress[data-progress="79"] .circle .mask.full,.radial-progress[data-progress="79"] .circle .fill{-webkit-transform:rotate(142.2deg);-ms-transform:rotate(142.2deg);transform:rotate(142.2deg)}.radial-progress[data-progress="79"] .circle .fill.fix{-webkit-transform:rotate(284.4deg);-ms-transform:rotate(284.4deg);transform:rotate(284.4deg)}.radial-progress[data-progress="80"] .circle .mask.full,.radial-progress[data-progress="80"] .circle .fill{-webkit-transform:rotate(144deg);-ms-transform:rotate(144deg);transform:rotate(144deg)}.radial-progress[data-progress="80"] .circle .fill.fix{-webkit-transform:rotate(288deg);-ms-transform:rotate(288deg);transform:rotate(288deg)}.radial-progress[data-progress="81"] .circle .mask.full,.radial-progress[data-progress="81"] .circle .fill{-webkit-transform:rotate(145.8deg);-ms-transform:rotate(145.8deg);transform:rotate(145.8deg)}.radial-progress[data-progress="81"] .circle .fill.fix{-webkit-transform:rotate(291.6deg);-ms-transform:rotate(291.6deg);transform:rotate(291.6deg)}.radial-progress[data-progress="82"] .circle .mask.full,.radial-progress[data-progress="82"] .circle .fill{-webkit-transform:rotate(147.6deg);-ms-transform:rotate(147.6deg);transform:rotate(147.6deg)}.radial-progress[data-progress="82"] .circle .fill.fix{-webkit-transform:rotate(295.2deg);-ms-transform:rotate(295.2deg);transform:rotate(295.2deg)}.radial-progress[data-progress="83"] .circle .mask.full,.radial-progress[data-progress="83"] .circle .fill{-webkit-transform:rotate(149.4deg);-ms-transform:rotate(149.4deg);transform:rotate(149.4deg)}.radial-progress[data-progress="83"] .circle .fill.fix{-webkit-transform:rotate(298.8deg);-ms-transform:rotate(298.8deg);transform:rotate(298.8deg)}.radial-progress[data-progress="84"] .circle .mask.full,.radial-progress[data-progress="84"] .circle .fill{-webkit-transform:rotate(151.2deg);-ms-transform:rotate(151.2deg);transform:rotate(151.2deg)}.radial-progress[data-progress="84"] .circle .fill.fix{-webkit-transform:rotate(302.4deg);-ms-transform:rotate(302.4deg);transform:rotate(302.4deg)}.radial-progress[data-progress="85"] .circle .mask.full,.radial-progress[data-progress="85"] .circle .fill{-webkit-transform:rotate(153deg);-ms-transform:rotate(153deg);transform:rotate(153deg)}.radial-progress[data-progress="85"] .circle .fill.fix{-webkit-transform:rotate(306deg);-ms-transform:rotate(306deg);transform:rotate(306deg)}.radial-progress[data-progress="86"] .circle .mask.full,.radial-progress[data-progress="86"] .circle .fill{-webkit-transform:rotate(154.8deg);-ms-transform:rotate(154.8deg);transform:rotate(154.8deg)}.radial-progress[data-progress="86"] .circle .fill.fix{-webkit-transform:rotate(309.6deg);-ms-transform:rotate(309.6deg);transform:rotate(309.6deg)}.radial-progress[data-progress="87"] .circle .mask.full,.radial-progress[data-progress="87"] .circle .fill{-webkit-transform:rotate(156.6deg);-ms-transform:rotate(156.6deg);transform:rotate(156.6deg)}.radial-progress[data-progress="87"] .circle .fill.fix{-webkit-transform:rotate(313.2deg);-ms-transform:rotate(313.2deg);transform:rotate(313.2deg)}.radial-progress[data-progress="88"] .circle .mask.full,.radial-progress[data-progress="88"] .circle .fill{-webkit-transform:rotate(158.4deg);-ms-transform:rotate(158.4deg);transform:rotate(158.4deg)}.radial-progress[data-progress="88"] .circle .fill.fix{-webkit-transform:rotate(316.8deg);-ms-transform:rotate(316.8deg);transform:rotate(316.8deg)}.radial-progress[data-progress="89"] .circle .mask.full,.radial-progress[data-progress="89"] .circle .fill{-webkit-transform:rotate(160.2deg);-ms-transform:rotate(160.2deg);transform:rotate(160.2deg)}.radial-progress[data-progress="89"] .circle .fill.fix{-webkit-transform:rotate(320.4deg);-ms-transform:rotate(320.4deg);transform:rotate(320.4deg)}.radial-progress[data-progress="90"] .circle .mask.full,.radial-progress[data-progress="90"] .circle .fill{-webkit-transform:rotate(162deg);-ms-transform:rotate(162deg);transform:rotate(162deg)}.radial-progress[data-progress="90"] .circle .fill.fix{-webkit-transform:rotate(324deg);-ms-transform:rotate(324deg);transform:rotate(324deg)}.radial-progress[data-progress="91"] .circle .mask.full,.radial-progress[data-progress="91"] .circle .fill{-webkit-transform:rotate(163.8deg);-ms-transform:rotate(163.8deg);transform:rotate(163.8deg)}.radial-progress[data-progress="91"] .circle .fill.fix{-webkit-transform:rotate(327.6deg);-ms-transform:rotate(327.6deg);transform:rotate(327.6deg)}.radial-progress[data-progress="92"] .circle .mask.full,.radial-progress[data-progress="92"] .circle .fill{-webkit-transform:rotate(165.6deg);-ms-transform:rotate(165.6deg);transform:rotate(165.6deg)}.radial-progress[data-progress="92"] .circle .fill.fix{-webkit-transform:rotate(331.2deg);-ms-transform:rotate(331.2deg);transform:rotate(331.2deg)}.radial-progress[data-progress="93"] .circle .mask.full,.radial-progress[data-progress="93"] .circle .fill{-webkit-transform:rotate(167.4deg);-ms-transform:rotate(167.4deg);transform:rotate(167.4deg)}.radial-progress[data-progress="93"] .circle .fill.fix{-webkit-transform:rotate(334.8deg);-ms-transform:rotate(334.8deg);transform:rotate(334.8deg)}.radial-progress[data-progress="94"] .circle .mask.full,.radial-progress[data-progress="94"] .circle .fill{-webkit-transform:rotate(169.2deg);-ms-transform:rotate(169.2deg);transform:rotate(169.2deg)}.radial-progress[data-progress="94"] .circle .fill.fix{-webkit-transform:rotate(338.4deg);-ms-transform:rotate(338.4deg);transform:rotate(338.4deg)}.radial-progress[data-progress="95"] .circle .mask.full,.radial-progress[data-progress="95"] .circle .fill{-webkit-transform:rotate(171deg);-ms-transform:rotate(171deg);transform:rotate(171deg)}.radial-progress[data-progress="95"] .circle .fill.fix{-webkit-transform:rotate(342deg);-ms-transform:rotate(342deg);transform:rotate(342deg)}.radial-progress[data-progress="96"] .circle .mask.full,.radial-progress[data-progress="96"] .circle .fill{-webkit-transform:rotate(172.8deg);-ms-transform:rotate(172.8deg);transform:rotate(172.8deg)}.radial-progress[data-progress="96"] .circle .fill.fix{-webkit-transform:rotate(345.6deg);-ms-transform:rotate(345.6deg);transform:rotate(345.6deg)}.radial-progress[data-progress="97"] .circle .mask.full,.radial-progress[data-progress="97"] .circle .fill{-webkit-transform:rotate(174.6deg);-ms-transform:rotate(174.6deg);transform:rotate(174.6deg)}.radial-progress[data-progress="97"] .circle .fill.fix{-webkit-transform:rotate(349.2deg);-ms-transform:rotate(349.2deg);transform:rotate(349.2deg)}.radial-progress[data-progress="98"] .circle .mask.full,.radial-progress[data-progress="98"] .circle .fill{-webkit-transform:rotate(176.4deg);-ms-transform:rotate(176.4deg);transform:rotate(176.4deg)}.radial-progress[data-progress="98"] .circle .fill.fix{-webkit-transform:rotate(352.8deg);-ms-transform:rotate(352.8deg);transform:rotate(352.8deg)}.radial-progress[data-progress="99"] .circle .mask.full,.radial-progress[data-progress="99"] .circle .fill{-webkit-transform:rotate(178.2deg);-ms-transform:rotate(178.2deg);transform:rotate(178.2deg)}.radial-progress[data-progress="99"] .circle .fill.fix{-webkit-transform:rotate(356.4deg);-ms-transform:rotate(356.4deg);transform:rotate(356.4deg)}.radial-progress[data-progress="100"] .circle .mask.full,.radial-progress[data-progress="100"] .circle .fill{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.radial-progress[data-progress="100"] .circle .fill.fix{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}.radial-progress:not([data-progress="0"]) .inset .bgIcon{opacity:1}.radial-progress.radial-progress-success .circle .mask .fill{background-color:#5cb85c}.radial-progress.radial-progress-success .inset .percentage .number span{color:#5cb85c}.radial-progress.radial-progress-info .circle .mask .fill{background-color:#5bc0de}.radial-progress.radial-progress-info .inset .percentage .number span{color:#5bc0de}.radial-progress.radial-progress-danger .circle .mask .fill{background-color:#d9534f}.radial-progress.radial-progress-danger .inset .percentage .number span{color:#d9534f}.radial-progress.radial-progress-warning .circle .mask .fill{background-color:#f0ad4e}.radial-progress.radial-progress-warning .inset .percentage .number span{color:#f0ad4e}.radial-progress.radial-progress-sm{width:80px;height:80px}.radial-progress.radial-progress-sm .circle .mask{clip:rect(0px, 80px, 80px, 40px)}.radial-progress.radial-progress-sm .circle .mask .fill{clip:rect(0px, 40px, 80px, 0px)}.radial-progress.radial-progress-sm .inset{width:60px;height:60px;margin-left:10px;margin-top:10px;font-size:14.4px}.radial-progress.radial-progress-sm .inset .bgIcon{position:absolute;font-size:50px;top:5px;left:-2px}.radial-progress.radial-progress-lg{width:180px;height:180px}.radial-progress.radial-progress-lg .circle .mask{clip:rect(0px, 180px, 180px, 90px)}.radial-progress.radial-progress-lg .circle .mask .fill{clip:rect(0px, 90px, 180px, 0px)}.radial-progress.radial-progress-lg .inset{width:135px;height:135px;margin-left:22.5px;margin-top:22.5px;font-size:32.4px}.radial-progress.radial-progress-lg .inset .bgIcon{position:absolute;font-size:115px;top:5px;left:-6px}html{position:relative;min-height:100%}body{min-height:100%;margin-bottom:80px}#o_main_wrapper{background:#fff;z-index:3}#o_main_wrapper #o_main_container{background:#fff}#o_main_wrapper #o_main_container #o_main_left{float:left;z-index:2;position:relative;background:#fff}#o_main_wrapper #o_main_container #o_main_left #o_main_left_content{padding:0 0 0 15px}#o_main_wrapper #o_main_container #o_main_left #o_main_left_toggle{position:absolute;display:none;right:0;top:70px;margin-right:-30px;font-size:25px;line-height:35px;text-align:center;width:30px;height:35px;z-index:3;border:1px solid #ddd;border-left:none;border-bottom-right-radius:4px;border-top-right-radius:4px;background-color:#fbfbfb;-webkit-box-shadow:2px 0px 4px 1px rgba(0,0,0,0.15);box-shadow:2px 0px 4px 1px rgba(0,0,0,0.15);color:#3b678a}#o_main_wrapper #o_main_container #o_main_left.o_offcanvas{background:#fbfbfb;-webkit-box-shadow:0px 0px 6px 1px rgba(0,0,0,0.2);box-shadow:0px 0px 6px 1px rgba(0,0,0,0.2);min-width:250px}#o_main_wrapper #o_main_container #o_main_left.o_offcanvas #o_main_left_content{padding:0 0 0 0}#o_main_wrapper #o_main_container #o_main_right{float:right;z-index:2;position:relative;background:inherit}#o_main_wrapper #o_main_container #o_main_right #o_main_right_content{padding:0 15px 0 0}#o_main_wrapper #o_main_container #o_main_center{position:relative;z-index:1;background:inherit}#o_main_wrapper #o_main_container #o_main_center h2:first-child{margin-top:0}@media screen and (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center{margin-left:0 !important}}#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:0 15px}#o_main_wrapper #o_main_container #o_main_center #o_main_center_content #o_main_center_content_inner{padding-bottom:15px}#o_main_wrapper #o_toplink{position:absolute;bottom:0;right:15px;text-align:center;z-index:3}@media (max-width: 767px){#o_main_wrapper #o_main_container #o_main_center #o_main_center_content{padding:15px}}#o_back_wrapper,#o_preview_wrapper{margin-top:10px}#o_back_wrapper.o_toolbar .o_breadcrumb .breadcrumb,#o_preview_wrapper.o_toolbar .o_breadcrumb .breadcrumb{font-size:14px}body.o_message #o_main_center_content_inner{min-height:150px;max-width:500px;padding:15px;margin:60px auto}#o_footer_wrapper{position:absolute;bottom:0;width:100%;height:70px;overflow:hidden;background-color:#f5f5f5;color:#999;line-height:16px;font-size:12px}#o_footer_wrapper a{color:#999}#o_footer_wrapper a:hover{color:#000}#o_footer_container{position:relative;padding-top:10px;min-height:70px;background:#f5f5f5;z-index:1}#o_footer_user{position:absolute;left:15px;top:10px;z-index:1}#o_footer_user #o_counter{white-space:nowrap}#o_footer_user #o_username{white-space:nowrap;margin-right:1em}#o_footer_version{position:absolute;right:15px;top:10px;text-align:right;z-index:1}@media (max-width: 767px){#o_footer_version{padding-top:10px;text-align:left}}#o_footer_powered{position:absolute;top:30px;right:15px;z-index:1}#o_footer_powered img{opacity:.6;filter:alpha(opacity=60)}#o_footer_powered img:hover{opacity:1;filter:alpha(opacity=100)}#o_footer_impressum{position:absolute;top:10px;width:100%;text-align:center;z-index:-1}#o_footer_impressum i{display:none}#o_footer_textline{position:absolute;top:30px;width:100%;text-align:center;z-index:-1}#o_share{margin-top:10px}#o_share a{opacity:.6;filter:alpha(opacity=60)}#o_share a:hover{opacity:1;filter:alpha(opacity=100)}#o_share a,#o_share_social_container a{color:#999;margin:0 0.25em 0 0}#o_share a:hover,#o_share_social_container a:hover{color:#000}@media (max-width: 767px){#o_counter,#o_footer_version,#o_share{display:none}#o_footer_impressum{top:30px;text-align:left}#o_footer_textline{top:50px;text-align:left}#o_footer_powered{top:10px}#o_footer_powered a:after{content:"\221E";font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:14px}#o_footer_powered img{display:none}}#o_navbar_wrapper{z-index:4;border-top:1px solid #e7e7e7;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1)}#o_navbar_wrapper #o_navbar_container{position:relative}a.o_disabled.navbar-text{margin:0}.o_navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid #e7e7e7;background-color:#f8f8f8}.o_navbar:before,.o_navbar:after{content:" ";display:table}.o_navbar:after{clear:both}.o_navbar .o_navbar_tabs li{max-width:150px}.o_navbar .o_navbar_tabs li a{padding-right:30px}.o_navbar .o_navbar_tabs li a:first-child span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.o_navbar .o_navbar_tabs .o_icon-fw{position:absolute;top:15px;left:0.5em;padding-top:3px;width:1em;height:1em;display:none}.o_navbar .o_navbar_tabs .o_navbar_tab_close{position:absolute;top:15px;right:0.5em;padding:0;width:1em;height:1em}.o_navbar .o_navbar_tabs .o_navbar_tab_close i:before{color:#d9534f}.o_navbar .o_navbar_tabs .o_navbar_tab_close:hover i:before{color:#c9302c}.o_navbar .o_custom_navbar-brand{background-position:5px 0;background-repeat:no-repeat;height:50px;width:120px}.o_navbar #o_navbar_langchooser{color:#777;padding:7px 15px}.o_navbar #o_navbar_langchooser form span+div{display:inline}.o_navbar #o_navbar_tools_permanent #o_navbar_print a,.o_navbar #o_navbar_tools_permanent #o_navbar_impress a,.o_navbar #o_navbar_tools_permanent #o_navbar_help a{color:#777;padding-right:0}.o_navbar #o_navbar_tools_permanent #o_navbar_login a{color:#f0ad4e}.o_navbar .o_navbar_tools>#o_navbar_tools_permanent>li>a>span{display:none}@media (min-width: 768px){.o_navbar .o_navbar_tools li.o_portrait>a>span{display:inline}}.o_navbar #o_navbar_tools_personal .o_navbar_tool a,.o_navbar #o_navbar_tools_permanent .o_navbar_tool a{padding-right:5px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu a,.o_navbar #o_navbar_tools_permanent #o_navbar_my_menu a{padding-left:45px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu .dropdown-menu a,.o_navbar #o_navbar_tools_permanent #o_navbar_my_menu .dropdown-menu a{padding-left:15px}.o_navbar #o_navbar_tools_personal #o_navbar_my_menu .o_portrait,.o_navbar #o_navbar_tools_permanent #o_navbar_my_menu .o_portrait{position:absolute;left:7px;top:10px}.o_navbar #o_navbar_tools_personal .o_logout,.o_navbar #o_navbar_tools_permanent .o_logout{color:#d9534f}.o_navbar.o_navbar-offcanvas .o_navbar_tab_close{top:10px;right:10px}.o_navbar.o_navbar-offcanvas .o_navbar-right a{padding:3px 20px;color:#9d9d9d}.o_navbar.o_navbar-offcanvas .o_navbar-right a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-right a:focus{color:#fff;background-color:transparent}.o_navbar.o_navbar-offcanvas .o_navbar-right a.o_logout{color:#d9534f}.o_navbar.o_navbar-offcanvas .o_navbar-right a.o_logout:hover,.o_navbar.o_navbar-offcanvas .o_navbar-right a.o_logout:focus{color:#c9302c}.o_navbar.o_navbar-offcanvas .o_navbar-right a .o_icon-lg{font-size:1.0em;vertical-align:baseline}.o_navbar.o_navbar-offcanvas .o_navbar-right .divider{height:1px;margin:9px 0;overflow:hidden;background-color:none}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-header{padding-left:15px}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-toggle{display:none}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-menu{box-shadow:none;position:relative;top:0;left:0;display:block;float:none;background-color:#222;color:#9d9d9d;font-size:14px;border:none}.o_navbar.o_navbar-offcanvas .o_navbar-right .dropdown-menu .divider{background:none}.o_navbar.o_navbar-offcanvas .o_navbar-nav a{color:#9d9d9d;text-shadow:none}.o_navbar.o_navbar-offcanvas .o_navbar-nav a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav a:focus{background-color:transparent;color:#fff}.o_navbar.o_navbar-offcanvas .o_navbar-nav .active a,.o_navbar.o_navbar-offcanvas .o_navbar-nav .active a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .active a:focus{background-color:#090909;color:#fff}.o_navbar.o_navbar-offcanvas .o_navbar-nav .o_navbar-link{color:#9d9d9d}.o_navbar.o_navbar-offcanvas .o_navbar-nav .o_navbar-link:hover{color:#fff}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>li>a{color:#777}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>li>a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.active>a,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.active>a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.disabled>a,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.disabled>a:hover,.o_navbar.o_navbar-offcanvas .o_navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}#o_navbar_impress a span,#o_navbar_search_opener a span{display:none}body.o_dmz #o_navbar_print a span,body.o_dmz #o_navbar_impress a span,body.o_dmz #o_navbar_help a span,body.o_dmz #o_navbar_search_opener a span{display:inline}.o_navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;-webkit-overflow-scrolling:touch}.o_navbar-collapse:before,.o_navbar-collapse:after{content:" ";display:table}.o_navbar-collapse:after{clear:both}.o_navbar-collapse.o_collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.o_navbar-offcanvas .o_navbar-collapse{width:auto;box-shadow:none;margin-top:10px;margin-right:-15px;margin-left:-15px}.o_navbar-brand{float:left;font-size:18px;line-height:20px;height:50px;color:#777}.o_navbar-brand:hover,.o_navbar-brand:focus{text-decoration:none;color:#5e5e5e;background-color:transparent}.o_navbar-toggle{position:relative;margin-right:15px;margin-left:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;border:1px solid #ddd;border-radius:4px;background-color:transparent;background-image:none}.o_navbar-toggle:hover,.o_navbar-toggle:focus{outline:none;background-color:#ddd}.o_navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px;background-color:#888}.o_navbar-toggle .icon-bar+.icon-bar{margin-top:4px}#o_navbar_left-toggle{float:left}#o_navbar_right-toggle{float:right}.o_navbar-link{color:#777}.o_navbar-link:hover{color:#333}.o_navbar-nav{margin:7.5px -15px}.o_navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px;color:#777}.o_navbar-nav>li>a:hover,.o_navbar-nav>li>a:focus{color:#333;background-color:transparent}.o_navbar-nav>.active>a,.o_navbar-nav>.active>a:hover,.o_navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.o_navbar-nav>.disabled>a,.o_navbar-nav>.disabled>a:hover,.o_navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.o_navbar-nav>.open>a,.o_navbar-nav>.open>a:hover,.o_navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}.o_collapse .o_navbar-nav{float:left;margin:0}.o_collapse .o_navbar-nav>li{float:left}.o_collapse .o_navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.o_collapse .o_navbar-nav.o_navbar-right:last-child{margin-right:-15px}.o_collapse.o_navbar-collapse .o_navbar-left{float:left !important}.o_collapse.o_navbar-collapse .o_navbar-right{float:right !important}.o_navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (max-width: 767px){.o_navbar-form .form-group{margin-bottom:5px}}.o_collapse .o_navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.o_collapse .o_navbar-form.o_navbar-right:last-child{margin-right:-15px}.o_navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.o_navbar-fixed-bottom .o_navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.o_navbar-btn{margin-top:8px;margin-bottom:8px}.o_navbar-btn.btn-sm,.btn-group-sm>.o_navbar-btn.btn{margin-top:10px;margin-bottom:10px}.o_navbar-btn.btn-xs,.btn-group-xs>.o_navbar-btn.btn{margin-top:14px;margin-bottom:14px}.o_navbar-text{margin-top:15px;margin-bottom:15px;color:#777}.o_collapse .o_navbar-text{float:left;margin-left:15px;margin-right:15px}.o_collapse .o_navbar-text.o_navbar-right:last-child{margin-right:0}.o_dropdown_tab{position:relative}.o_dropdown_tab>a:first-child{padding-right:30px}.o_dropdown_tab>a:first-child .o_icon-fw{display:none;position:absolute;top:0;left:10px;padding-top:3px;line-height:20px}.o_dropdown_tab>a:first-child span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.o_dropdown_tab .o_navbar_tab_close{position:absolute;top:0px;right:10px;padding-left:0px;padding-right:0px;color:#d9534f;background-color:inherit}.o_dropdown_tab .o_navbar_tab_close:focus,.o_dropdown_tab .o_navbar_tab_close:hover{color:#c9302c;background-color:inherit}#o_navbar_more .dropdown-menu .divider:last-child{display:none}@media (min-width: 768px){#o_navbar_more .dropdown-menu{max-width:300px}}@media (max-width: 767px){#o_navbar_more>li{position:inherit}#o_navbar_more .dropdown-menu{left:0px;right:0px}#o_navbar_more .dropdown-menu a,#o_navbar_more .dropdown-menu i{line-height:30px}#o_navbar_more .dropdown-menu .o_navbar_tab_close{line-height:inherit}}.o_body_popup #o_topnav_printview{display:inline-block}.o_body_popup #o_topnav_close{float:right}.o_body_popup #o_topnav_close span{display:block}.o_body_popup #o_navbar_tools_permanent li>a{background-color:transparent}.o_toolbar{position:relative;margin-bottom:20px;margin-top:-10px;border:1px solid #e7e7e7}.o_toolbar:before,.o_toolbar:after{content:" ";display:table}.o_toolbar:after{clear:both}@media (min-width: 768px){.o_toolbar{border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}}.o_toolbar .o_breadcrumb:before,.o_toolbar .o_breadcrumb:after{content:" ";display:table}.o_toolbar .o_breadcrumb:after{clear:both}.o_toolbar .o_breadcrumb .breadcrumb{margin-bottom:0;padding:5px 9px;font-size:11px;line-height:15px;border-radius:0;background:#f5f5f5;border-top-right-radius:4px;border-top-left-radius:4px}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close{float:right;position:relative;margin:0 0 0 15px;vertical-align:middle}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a{line-height:15px;color:#d9534f}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a:hover{color:#b52b27}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a i{font-size:16px}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close a span{display:none}.o_toolbar .o_breadcrumb .breadcrumb .o_breadcrumb_close:before{content:none}.o_toolbar .o_tools_container{text-align:center;min-height:37px;position:relative;background-color:#f8f8f8;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.o_toolbar .o_tools_container:before,.o_toolbar .o_tools_container:after{content:" ";display:table}.o_toolbar .o_tools_container:after{clear:both}@media (max-width: 991px){.o_toolbar .o_tools_container{min-height:35px}}@media (max-width: 767px){.o_toolbar .o_tools_container{min-height:22px;text-align:left}}.o_toolbar .o_tools_container span.o_tool_text{color:#777;display:inline-block}.o_toolbar .o_tools_container a{color:#777;display:inline-block}.o_toolbar .o_tools_container a:hover{color:#333}.o_toolbar .o_tools_container a.o_disabled{color:#aaa !important}.o_toolbar .o_tools_container a.o_disabled:hover{color:#aaa !important}.o_toolbar .o_tools_container a.active{color:#3b678a;background-color:transparent}.o_toolbar .o_tools_container a.btn-primary{color:#fff}.o_toolbar .o_tools_container .dropdown-menu a{display:block}.o_toolbar .o_tools_container .dropdown-menu a.active{color:#3b678a;background-color:transparent}.o_toolbar .o_breadcrumb+.o_tools_container{border-top:1px solid #e7e7e7}.o_toolbar .o_tools{margin-top:8px;margin-bottom:5px}.o_toolbar .o_tool,.o_toolbar .o_text{position:relative;margin:0 10px}.o_toolbar .o_tool:first-child,.o_toolbar .o_text:first-child{margin-left:0}.o_toolbar .o_tool:last-child,.o_toolbar .o_text:last-child{margin-right:0}.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:18px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{display:block;font-size:12px}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{position:absolute;right:50%;top:-18px;margin-right:-12px;font-size:13px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:16px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{font-size:11px}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{top:-16.5px;margin-right:-11px;font-size:12px}}@media (max-width: 767px){.o_toolbar .o_tool a i,.o_toolbar .o_tool .o_disabled i,.o_toolbar .o_text a i,.o_toolbar .o_text .o_disabled i{font-size:20px}.o_toolbar .o_tool a span,.o_toolbar .o_tool .o_disabled span,.o_toolbar .o_text a span,.o_toolbar .o_text .o_disabled span{display:none}.o_toolbar .o_tool a span.badge,.o_toolbar .o_tool .o_disabled span.badge,.o_toolbar .o_text a span.badge,.o_toolbar .o_text .o_disabled span.badge{display:block;position:relative;top:0;left:0;margin-right:0}}.o_toolbar .o_tool .o_chelp,.o_toolbar .o_text .o_chelp{position:relative;top:-1em;vertical-align:top;color:#fff}.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{padding:0;margin-top:5px;border:1px solid #ccc;background-color:#eee}.o_toolbar .o_tool_next a,.o_toolbar .o_tool_previous a{color:#777}.o_toolbar .o_tool_next a:hover,.o_toolbar .o_tool_previous a:hover{color:#333}.o_toolbar .o_tool_next a.o_disabled,.o_toolbar .o_tool_previous a.o_disabled{color:#aaa !important}.o_toolbar .o_tool_next a.o_disabled:hover,.o_toolbar .o_tool_previous a.o_disabled:hover{color:#aaa !important}.o_toolbar .o_tool_next i,.o_toolbar .o_tool_previous i{font-size:21px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{margin-top:4px}.o_toolbar .o_tool_next i,.o_toolbar .o_tool_previous i{font-size:18px}}@media (max-width: 767px){.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{margin-top:0}.o_toolbar .o_tool_next i,.o_toolbar .o_tool_previous i{font-size:20px}}.o_toolbar .o_tool_previous{margin-left:10px;border-bottom-left-radius:4px;border-top-left-radius:4px;border-right:0}.o_toolbar .o_tool_next{border-bottom-right-radius:4px;border-top-right-radius:4px}.o_toolbar .o_tool_dropdown{margin:0 10px}.o_toolbar .o_tool_dropdown:first-child{margin-left:0}.o_toolbar .o_tool_dropdown:last-child{margin-right:0}.o_toolbar .o_tool_dropdown a.dropdown-toggle{position:relative}.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:18px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span{display:block;font-size:12px}.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{position:absolute;right:50%;top:4px;margin-right:-20px;font-size:14px}@media (min-width: 767px) and (max-width: 991px){.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:16px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span,.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{font-size:11px}.o_toolbar .o_tool_dropdown a.dropdown-toggle .o_icon_caret{top:4px;margin-right:-18px;font-size:12px}}@media (max-width: 767px){.o_toolbar .o_tool_dropdown a.dropdown-toggle{padding:0 10px 0 5px}.o_toolbar .o_tool_dropdown a.dropdown-toggle i{font-size:20px}.o_toolbar .o_tool_dropdown a.dropdown-toggle span{display:none}}.o_toolbar .o_tool_dropdown .dropdown-menu{text-align:left}.o_toolbar .o_tools_left{float:left}.o_toolbar .o_tools_right{float:right}.o_toolbar .o_tools_right_edge{float:right}.o_toolbar .o_tools_center{float:both;width:50%;margin-left:auto;margin-right:auto}.o_toolbar .o_tools_segments{margin:0 auto -1.1em auto}.o_toolbar .o_tools_segments.o_tools_segments_alone{margin-top:1.5em}@media (max-width: 991px){.o_toolbar .o_tools{margin-top:6px;margin-bottom:4px}.o_toolbar .o_tools.o_tools_segments{margin:0 auto -1.1em auto}.o_toolbar .o_tool span{max-width:10em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_toolbar .o_tools_segments .o_tool span{display:block}.o_toolbar .o_tool,.o_toolbar .o_text,.o_toolbar .o_tool_dropdown{margin:0 5px}}@media (max-width: 767px){.o_toolbar .o_tools{margin-top:6px;margin-bottom:4px}.o_toolbar .o_tools .o_chelp{top:0;vertical-align:top}.o_toolbar .o_tools.o_tools_segments{margin:0 auto -1.1em auto;text-align:center}.o_toolbar .o_tools_center{float:left}.o_toolbar .o_tool,.o_toolbar .o_text,.o_toolbar .o_tool_dropdown{margin:0 0;position:static}.o_toolbar .o_tool_dropdown .dropdown-menu{left:0px;right:0px}.o_toolbar .o_tool_dropdown .dropdown-menu a,.o_toolbar .o_tool_dropdown .dropdown-menu i{line-height:30px}.o_toolbar .o_tool_dropdown .dropdown-menu .o_navbar_tab_close{line-height:inherit}}#o_main_container .o_toolbar_message{display:table;margin:0 auto 20px auto}#o_main_container .o_toolbar_message.o_warning{padding-top:5px;padding-bottom:5px;border:1px solid #8a6d3b;border-radius:3px}.o_edit_mode .o_toolbar .o_tools_container{background:repeating-linear-gradient(300deg, #fff0d9, #fff0d9 10px, #fcfcfc 10px, #fcfcfc 20px)}.o_edit_mode .o_toolbar .o_edit_mode .o_tools_container{background:#f8f8f8}body{overflow-x:hidden}.o_container_offcanvas{position:relative;max-width:1324px;-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;-m-transition:all .25s ease-in-out;transition:all .25s ease-in-out}#o_offcanvas_right{position:absolute;top:0;right:-250px;width:250px;padding:15px 15px;background-color:#222;color:#9d9d9d;border:1px solid #090909;-webkit-box-shadow:0px 0px 4px 3px rgba(0,0,0,0.25);box-shadow:0px 0px 4px 3px rgba(0,0,0,0.25);min-height:100%;z-index:10;display:none}#o_offcanvas_right:before,#o_offcanvas_right:after{content:" ";display:table}#o_offcanvas_right:after{clear:both}@media screen and (max-width: 767px){.row-offcanvas{position:relative;-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;transition:all .25s ease-out}.row-offcanvas-right{right:0}.row-offcanvas-right .sidebar-offcanvas{right:-50%}.row-offcanvas-right.active{right:50%}.row-offcanvas-left{left:0}.row-offcanvas-left .sidebar-offcanvas{left:-50%}.row-offcanvas-left.active{left:50%}.sidebar-offcanvas{position:absolute;top:0;width:50%}}.o_info,.b_info,p.b_info,div.b_info,.o_form .o_info,.o_togglebox_wrapper div.o_togglebox_content,div.o_qti_item_itemfeedback,.o_assessmentitem_wrapper .modalFeedback .o_info{margin:20px 0;padding:20px;border-left:3px solid #777;background-color:#eee}.o_info h2,.o_info h3,.o_info h4,.o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_info h2,.o_info h5,.b_info h2,.o_form .o_info h2,.o_togglebox_wrapper div.o_togglebox_content h2,div.o_qti_item_itemfeedback h2,.o_assessmentitem_wrapper .modalFeedback .o_info h2,.b_info h3,.o_form .o_info h3,.o_togglebox_wrapper div.o_togglebox_content h3,div.o_qti_item_itemfeedback h3,.o_assessmentitem_wrapper .modalFeedback .o_info h3,.b_info h4,.o_form .o_info h4,.o_togglebox_wrapper div.o_togglebox_content h4,div.o_qti_item_itemfeedback h4,.o_assessmentitem_wrapper .modalFeedback .o_info h4,.b_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_info h2,.o_form .o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_info h2,.o_togglebox_wrapper div.o_togglebox_content .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_togglebox_wrapper div.o_togglebox_content h2,div.o_qti_item_itemfeedback .o_cal .fc-header-title h2,.o_cal .fc-header-title div.o_qti_item_itemfeedback h2,.o_assessmentitem_wrapper .modalFeedback .o_info .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info h2,.b_info h5,.o_form .o_info h5,.o_togglebox_wrapper div.o_togglebox_content h5,div.o_qti_item_itemfeedback h5,.o_assessmentitem_wrapper .modalFeedback .o_info h5{color:#777}.o_note,.b_note,p.b_note,div.b_note,.o_form .o_desc,.o_course_run .o_statusinfo,.o_course_stats .o_desc,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment{margin:20px 0;padding:20px;border-left:3px solid #31708f;background-color:#d9edf7}.o_note h2,.o_note h3,.o_note h4,.o_note .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_note h2,.o_note h5,.b_note h2,.o_form .o_desc h2,.o_course_run .o_statusinfo h2,.o_course_stats .o_desc h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h2,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h2,.b_note h3,.o_form .o_desc h3,.o_course_run .o_statusinfo h3,.o_course_stats .o_desc h3,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h3,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h3,.b_note h4,.o_form .o_desc h4,.o_course_run .o_statusinfo h4,.o_course_stats .o_desc h4,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h4,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h4,.b_note .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_note h2,.o_form .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_desc h2,.o_course_run .o_statusinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_statusinfo h2,.o_course_stats .o_desc .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_stats .o_desc h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h2,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h2,.b_note h5,.o_form .o_desc h5,.o_course_run .o_statusinfo h5,.o_course_stats .o_desc h5,.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback h5,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h5{color:#31708f}.o_important,.b_important,p.b_important,div.b_important,.o_bc_empty,.o_course_run .o_no_scoreinfo{margin:20px 0;padding:20px;border-left:3px solid #F4D000;background-color:#FFF1A4}.o_important h2,.o_important h3,.o_important h4,.o_important .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_important h2,.o_important h5,.b_important h2,.o_bc_empty h2,.o_course_run .o_no_scoreinfo h2,.b_important h3,.o_bc_empty h3,.o_course_run .o_no_scoreinfo h3,.b_important h4,.o_bc_empty h4,.o_course_run .o_no_scoreinfo h4,.b_important .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_important h2,.o_bc_empty .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_bc_empty h2,.o_course_run .o_no_scoreinfo .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_course_run .o_no_scoreinfo h2,.b_important h5,.o_bc_empty h5,.o_course_run .o_no_scoreinfo h5{color:#F4D000}.o_success,.b_success,p.b_success,div.b_success,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback{margin:20px 0;padding:20px;border-left:3px solid #3c763d;background-color:#dff0d8}.o_success h2,.o_success h3,.o_success h4,.o_success .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_success h2,.o_success h5,.b_success h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h2,.b_success h3,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h3,.b_success h4,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h4,.b_success .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_success h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h2,.b_success h5,.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback h5{color:#3c763d}.o_warning,.b_warning,p.b_warning,div.b_warning,.o_instruction,.o_form .o_warning,p.o_gta_reopen_warning{margin:20px 0;padding:20px;border-left:3px solid #8a6d3b;background-color:#fcf8e3}.o_warning h2,.o_warning h3,.o_warning h4,.o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_warning h2,.o_warning h5,.b_warning h2,.o_instruction h2,.o_form .o_warning h2,p.o_gta_reopen_warning h2,.b_warning h3,.o_instruction h3,.o_form .o_warning h3,p.o_gta_reopen_warning h3,.b_warning h4,.o_instruction h4,.o_form .o_warning h4,p.o_gta_reopen_warning h4,.b_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_warning h2,.o_instruction .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_instruction h2,.o_form .o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_warning h2,p.o_gta_reopen_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title p.o_gta_reopen_warning h2,.b_warning h5,.o_instruction h5,.o_form .o_warning h5,p.o_gta_reopen_warning h5{color:#8a6d3b}.o_error,.b_error,p.b_error,div.b_error,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback{margin:20px 0;padding:20px;border-left:3px solid #a94442;background-color:#f2dede}.o_error h2,.o_error h3,.o_error h4,.o_error .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_error h2,.o_error h5,.b_error h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h2,.b_error h3,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h3,.b_error h4,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h4,.b_error .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_error h2,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h2,.b_error h5,.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback h5{color:#a94442}.o_instruction{margin-top:0px;border-left:none;padding-top:10px;padding-bottom:10px}.o_instruction>.o_button_group{margin-bottom:0px}div.o_callout_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1;background:#000;opacity:0;filter:alpha(opacity=0)}.o_alert_info{position:fixed;top:-100%;left:0;display:none;z-index:2000;width:100%;text-align:center}.o_alert_info .alert{position:relative;width:auto;margin:0 auto;text-align:left;-webkit-box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15);box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15)}.o_alert_info .alert .o_alert_close{float:right;color:#777}.o_alert_info .alert .o_alert_close:hover{color:#555}@media (min-width: 768px){.o_alert_info .alert{width:600px}}#o_msg_sticky,#o_msg_sticky_preview{position:relative;color:#a94442;background-color:#f2dede;border:1px solid #ebccd1;padding:10px 16px 10px 60px;min-height:40px;margin:-20px 0 20px 0}#o_msg_sticky .o_icon_info_msg,#o_msg_sticky_preview .o_icon_info_msg{position:absolute;left:10px;top:5px;font-size:40px}#o_msg_sticky.o_msg_sticky_fullscreen,#o_msg_sticky_preview.o_msg_sticky_fullscreen{margin-top:0}@media (min-width: 768px){.modal .o_modal_fullwidth{width:90%}}@media (min-width: 992px){.modal .o_modal_fullwidth{width:80%}}.modal .modal-header h4,.modal .modal-header .o_cal .fc-header-title h2,.o_cal .fc-header-title .modal .modal-header h2{color:#3b678a;font-weight:500;font-family:inherit;line-height:1.1}.o_tree{position:relative;display:block;background-color:none;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;overflow:hidden;font-size:14px}.o_tree a{color:#777;background-color:none}.o_tree a:hover,.o_tree a:focus{color:#333}.o_tree .o_tree_link{background-color:none}.o_tree .o_tree_link:hover,.o_tree .o_tree_link:focus{background-color:#f8f8f8}.o_tree .o_tree_link:first-child{background-color:transparent}.o_tree .o_tree_link:last-child:hover,.o_tree .o_tree_link:last-child:focus{background-color:#f8f8f8}.o_tree .o_insertion_point>a>span{padding:5px;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.o_tree .o_insertion_source>a>span.o_tree_item,.o_tree .o_insertion_source>a>span.o_dnd_item{border-bottom:solid #f90 4px;background-color:#fefbf6}.o_tree ul{margin:0;padding:0;list-style-type:none}.o_tree ul li{margin:0;padding:0;white-space:nowrap}.o_tree ul li div{position:relative;margin-bottom:-1px;border-bottom:1px solid #ddd}.o_tree ul li div.popover{position:absolute;left:auto;right:0}.o_tree ul li div a.o_tree_oc_l0{position:absolute;top:10px;left:-4px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l0,.o_tree ul .o_tree_level_close.b_tree_oc_l0{z-index:10}.o_tree ul li div a.o_tree_oc_l1{position:absolute;top:10px;left:11px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l1,.o_tree ul .o_tree_level_close.b_tree_oc_l1{z-index:10}.o_tree ul li div a.o_tree_oc_l2{position:absolute;top:10px;left:26px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l2,.o_tree ul .o_tree_level_close.b_tree_oc_l2{z-index:10}.o_tree ul li div a.o_tree_oc_l3{position:absolute;top:10px;left:41px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l3,.o_tree ul .o_tree_level_close.b_tree_oc_l3{z-index:10}.o_tree ul li div a.o_tree_oc_l4{position:absolute;top:10px;left:56px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l4,.o_tree ul .o_tree_level_close.b_tree_oc_l4{z-index:10}.o_tree ul li div a.o_tree_oc_l5{position:absolute;top:10px;left:71px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l5,.o_tree ul .o_tree_level_close.b_tree_oc_l5{z-index:10}.o_tree ul li div a.o_tree_oc_l6{position:absolute;top:10px;left:86px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l6,.o_tree ul .o_tree_level_close.b_tree_oc_l6{z-index:10}.o_tree ul li div a.o_tree_oc_l7{position:absolute;top:10px;left:101px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l7,.o_tree ul .o_tree_level_close.b_tree_oc_l7{z-index:10}.o_tree ul li div a.o_tree_oc_l8{position:absolute;top:10px;left:116px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l8,.o_tree ul .o_tree_level_close.b_tree_oc_l8{z-index:10}.o_tree ul li div a.o_tree_oc_l9{position:absolute;top:10px;left:131px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l9,.o_tree ul .o_tree_level_close.b_tree_oc_l9{z-index:10}.o_tree ul li div a.o_tree_oc_l10{position:absolute;top:10px;left:146px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l10,.o_tree ul .o_tree_level_close.b_tree_oc_l10{z-index:10}.o_tree ul li div a.o_tree_oc_l11{position:absolute;top:10px;left:161px;z-index:9}.o_tree ul .o_tree_level_open.b_tree_oc_l11,.o_tree ul .o_tree_level_close.b_tree_oc_l11{z-index:10}.o_tree ul li div span.o_tree_l0{display:block;padding:10px 2px 10px 10px;z-index:9}.o_tree ul li div span.o_tree_l1{display:block;padding:10px 2px 10px 25px;z-index:9}.o_tree ul li div span.o_tree_l2{display:block;padding:10px 2px 10px 40px;z-index:9}.o_tree ul li div span.o_tree_l3{display:block;padding:10px 2px 10px 55px;z-index:9}.o_tree ul li div span.o_tree_l4{display:block;padding:10px 2px 10px 70px;z-index:9}.o_tree ul li div span.o_tree_l5{display:block;padding:10px 2px 10px 85px;z-index:9}.o_tree ul li div span.o_tree_l6{display:block;padding:10px 2px 10px 100px;z-index:9}.o_tree ul li div span.o_tree_l7{display:block;padding:10px 2px 10px 115px;z-index:9}.o_tree ul li div span.o_tree_l8{display:block;padding:10px 2px 10px 130px;z-index:9}.o_tree ul li div span.o_tree_l9{display:block;padding:10px 2px 10px 145px;z-index:9}.o_tree ul li div span.o_tree_l10{display:block;padding:10px 2px 10px 160px;z-index:9}.o_tree ul li div span.o_tree_l11{display:block;padding:10px 2px 10px 175px;z-index:9}.o_tree ul span.o_tree_leaf{display:none}.o_tree ul span.o_tree_link>input[type=checkbox]{margin-right:5px}.o_tree ul li .badge{position:absolute;font-size:70%}.o_tree ul li .badge:before{content:none}.o_tree ul li .badge.o_badge_1{top:3px;right:1px}.o_tree ul li .badge.o_badge_2{bottom:3px;right:1px}.o_tree ul li .badge.o_badge_3{top:3px;right:25px}.o_tree ul li .badge.o_badge_4{bottom:3px;right:25px}.o_tree ul li div.o_dnd_sibling{margin:0;padding:0;border-bottom:none}.o_tree ul li .active.o_tree_link{background-color:none;font-weight:bold}.o_tree ul li .active.o_tree_link a{color:#3b678a}.o_tree ul li .active.o_tree_link:hover,.o_tree ul li .active.o_tree_link:focus{background-color:#eee}.o_tree ul li .active.o_tree_link:hover a,.o_tree ul li .active.o_tree_link:focus a{color:#243f54}.o_tree ul li .active_parent.o_tree_link{font-weight:bold}.o_tree ul li .active_parent.o_tree_link a{color:#777}.o_tree ul li .active_parent.o_tree_link a:hover,.o_tree ul li .active_parent.o_tree_link a:focus{color:#333}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l0{left:6px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l1{left:21px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l2{left:36px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l3{left:51px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l4{left:66px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l5{left:81px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l6{left:96px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l7{left:111px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l8{left:126px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l9{left:141px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l10{left:156px}.o_tree.o_tree_root_hidden ul li div .o_tree_oc_l11{left:171px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l0{padding:10px 2px 10px 20px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l1{padding:10px 2px 10px 35px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l2{padding:10px 2px 10px 50px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l3{padding:10px 2px 10px 65px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l4{padding:10px 2px 10px 80px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l5{padding:10px 2px 10px 95px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l6{padding:10px 2px 10px 110px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l7{padding:10px 2px 10px 125px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l8{padding:10px 2px 10px 140px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l9{padding:10px 2px 10px 155px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l10{padding:10px 2px 10px 170px}.o_tree.o_tree_root_hidden ul li div span.o_tree_l11{padding:10px 2px 10px 185px}.o_tree .o_dnd_item{cursor:move;z-index:100}.o_tree .o_dnd_proxy{opacity:.4;filter:alpha(opacity=40);background-color:#f0ad4e;padding:5px 10px 5px 10px;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.o_tree .o_dnd_item.o_dnd_over{background-color:#ffff60}.o_tree .o_dnd_sibling{height:7px;width:100%}.o_tree .o_dnd_sibling.o_dnd_over{background:transparent url(../light/images/arrow_dd.png) top left no-repeat}.o_tree .o_dnd_l1{margin-left:0 !important}.o_tree .o_dnd_l2{margin-left:1em !important}.o_tree .o_dnd_l3{margin-left:2em !important}.o_tree .o_dnd_l4{margin-left:3em !important}.o_tree .o_dnd_l5{margin-left:4em !important}.o_tree .o_dnd_l6{margin-left:5em !important}.o_tree .o_dnd_l7{margin-left:6em !important}.o_tree .o_dnd_l8{margin-left:7em !important}.o_tree .o_dnd_l9{margin-left:8em !important}.o_tree .o_dnd_l10{margin-left:9em !important}.o_tree .o_dnd_l11{margin-left:10em !important}.o_tree.o_tree_insert_tool span.o_tree_link a{display:block}.o_offcanvas .o_tree{border:0}.o_selection_tree{position:relative;display:block;background-color:none;border:1px solid #ddd;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;overflow:hidden;font-size:14px}.o_selection_tree ul{margin:0;padding:0;list-style-type:none}.o_selection_tree li{margin:0;padding:0;white-space:nowrap}.o_selection_tree li div{position:relative;margin-bottom:-1px;border-bottom:1px solid #ddd}.o_selection_tree li>div>span.o_tree_l0,.o_selection_tree li>div>div.checkbox.o_tree_l0,.o_selection_tree li>div>div.radio.o_tree_l0{display:block;padding:10px 2px 10px 10px;z-index:9}.o_selection_tree li>div>span.o_tree_l1,.o_selection_tree li>div>div.checkbox.o_tree_l1,.o_selection_tree li>div>div.radio.o_tree_l1{display:block;padding:10px 2px 10px 25px;z-index:9}.o_selection_tree li>div>span.o_tree_l2,.o_selection_tree li>div>div.checkbox.o_tree_l2,.o_selection_tree li>div>div.radio.o_tree_l2{display:block;padding:10px 2px 10px 40px;z-index:9}.o_selection_tree li>div>span.o_tree_l3,.o_selection_tree li>div>div.checkbox.o_tree_l3,.o_selection_tree li>div>div.radio.o_tree_l3{display:block;padding:10px 2px 10px 55px;z-index:9}.o_selection_tree li>div>span.o_tree_l4,.o_selection_tree li>div>div.checkbox.o_tree_l4,.o_selection_tree li>div>div.radio.o_tree_l4{display:block;padding:10px 2px 10px 70px;z-index:9}.o_selection_tree li>div>span.o_tree_l5,.o_selection_tree li>div>div.checkbox.o_tree_l5,.o_selection_tree li>div>div.radio.o_tree_l5{display:block;padding:10px 2px 10px 85px;z-index:9}.o_selection_tree li>div>span.o_tree_l6,.o_selection_tree li>div>div.checkbox.o_tree_l6,.o_selection_tree li>div>div.radio.o_tree_l6{display:block;padding:10px 2px 10px 100px;z-index:9}.o_selection_tree li>div>span.o_tree_l7,.o_selection_tree li>div>div.checkbox.o_tree_l7,.o_selection_tree li>div>div.radio.o_tree_l7{display:block;padding:10px 2px 10px 115px;z-index:9}.o_selection_tree li>div>span.o_tree_l8,.o_selection_tree li>div>div.checkbox.o_tree_l8,.o_selection_tree li>div>div.radio.o_tree_l8{display:block;padding:10px 2px 10px 130px;z-index:9}.o_selection_tree li>div>span.o_tree_l9,.o_selection_tree li>div>div.checkbox.o_tree_l9,.o_selection_tree li>div>div.radio.o_tree_l9{display:block;padding:10px 2px 10px 145px;z-index:9}.o_selection_tree li>div>span.o_tree_l10,.o_selection_tree li>div>div.checkbox.o_tree_l10,.o_selection_tree li>div>div.radio.o_tree_l10{display:block;padding:10px 2px 10px 160px;z-index:9}.o_selection_tree li>div>span.o_tree_l11,.o_selection_tree li>div>div.checkbox.o_tree_l11,.o_selection_tree li>div>div.radio.o_tree_l11{display:block;padding:10px 2px 10px 175px;z-index:9}.o_breadcrumb{position:relative}.o_breadcrumb .o_breadcrumb_close{float:right;position:relative;margin:0 0 0 15px;vertical-align:middle}.o_breadcrumb .o_breadcrumb_close a{line-height:15px;color:#d9534f}.o_breadcrumb .o_breadcrumb_close a:hover{color:#b52b27}.o_breadcrumb .o_breadcrumb_close a i{font-size:16px}.o_breadcrumb .o_breadcrumb_close a span{display:none}.o_breadcrumb .o_breadcrumb_close:before{content:none}.o_form .o_icon_mandatory{margin-right:0.25em}.o_form .o_form_chelp{padding-left:0.25em;margin-right:-1.25em}.o_form .o_form_example{font-size:90%}.o_form .o_error{margin-top:1px;margin-bottom:0;padding:10px}.o_form hr.o_spacer_noline{border-top:1px solid transparent}.o_form hr.o_spacer.form,.o_form hr.o_spacer_noline.form{margin-top:0px;margin-bottom:0px}.o_form .form-group.o_omit_margin{margin-bottom:0}.o_form .o_date{position:relative;padding-right:34px}.o_form .o_date.form-inline .form-group,.o_form .o_date.o_navbar-form .form-group{margin-left:0}.o_form input.o_date_ms{width:3em}.o_form .o_date.form-inline .o_date_ms.form-group,.o_form .o_date.o_navbar-form .o_date_ms.form-group{margin-left:25px}.o_form .has-feedback .o_date.form-inline .form-control.o_date_ms,.o_form .has-feedback .o_date.o_navbar-form .form-control.o_date_ms{padding-right:0}.o_form .o_form_element.form-inline .o_form_element.form-group,.o_form .o_form_element.o_navbar-form .o_form_element.form-group{margin-left:25px}.o_form .input-group.o_date_picker{width:12em}.o_form .o_filepreview{margin-bottom:10px}.o_form .o_fileinput{cursor:pointer;position:relative}.o_form .o_fileinput .o_fakechooser{position:relative;z-index:1}.o_form .o_fileinput .o_realchooser{position:absolute;top:0;right:0;z-index:2;opacity:0;filter:alpha(opacity=0)}.o_form .o_fileinput .o_realchooser.o_chooser_with_delete{right:38px}.o_form .o_fileElement.has-error .o_icon_error.form-control-feedback{display:none}.o_form .form-control.textarea_disabled{resize:both;overflow:auto;white-space:pre-wrap;background:#fafafa}.o_centered_form{text-align:center}.o_centered_form fieldset.o_form{display:inline-block;text-align:left}.o_choice_checkrow,.o_choice_textrow{vertical-align:text-top;padding-bottom:2px}.o_choice_textrow{padding-left:1em}.o_togglecheck a{white-space:nowrap}.o_catalog .o_catalog_delete_img{position:relative;top:-0.5em}.o_button_dirty{color:#fff;background-color:#f0ad4e;border-color:#eea236}.o_button_dirty:hover,.o_button_dirty:focus,.o_button_dirty.focus,.o_button_dirty:active,.o_button_dirty.active,.open>.o_button_dirty.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.o_button_dirty:active,.o_button_dirty.active,.open>.o_button_dirty.dropdown-toggle{background-image:none}.o_button_dirty.disabled,.o_button_dirty.disabled:hover,.o_button_dirty.disabled:focus,.o_button_dirty.disabled.focus,.o_button_dirty.disabled:active,.o_button_dirty.disabled.active,.o_button_dirty[disabled],.o_button_dirty[disabled]:hover,.o_button_dirty[disabled]:focus,.o_button_dirty[disabled].focus,.o_button_dirty[disabled]:active,.o_button_dirty[disabled].active,fieldset[disabled] .o_button_dirty,fieldset[disabled] .o_button_dirty:hover,fieldset[disabled] .o_button_dirty:focus,fieldset[disabled] .o_button_dirty.focus,fieldset[disabled] .o_button_dirty:active,fieldset[disabled] .o_button_dirty.active{background-color:#f0ad4e;border-color:#eea236}.o_button_dirty .badge{color:#f0ad4e;background-color:#fff}.o_button_toggle{border:1px solid #777;border-top-right-radius:9px;border-top-left-radius:9px;border-bottom-right-radius:9px;border-bottom-left-radius:9px;background:#eee;display:inline-block;height:18px;line-height:16px;font-size:16px;text-align:left;padding:0 0.5em 0 1px;margin:0}.o_button_toggle i{color:#777;text-shadow:1px 0 2px rgba(0,0,0,0.25)}.o_button_toggle span{line-height:16px;vertical-align:top;font-size:60%;color:#777;text-transform:uppercase}.o_button_toggle.o_on{text-align:right;padding:0 1px 0 0.5em}.o_button_toggle.o_on i{color:#3b678a;text-shadow:-1px 0 2px rgba(0,0,0,0.25)}.o_table_wrapper{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.o_table_wrapper.o_table_flexi .o_table_body{margin-top:20px}.o_table_wrapper.o_table_flexi .table{margin-top:20px}.o_table_wrapper.o_table_flexi .table td ul{margin:0}.o_table_wrapper.o_table_flexi.o_table_no_margin .table{margin:0}.o_table_wrapper.o_table_flexi tfoot{border-top:solid #ddd 2px}.o_table_wrapper.o_table_edit table tbody{border-top:solid #f90 4px;background-color:#fefbf6}.o_table_wrapper .o_table_search{max-width:50em}.o_table_wrapper .o_table_footer .o_table_pagination{text-align:center}.o_table_wrapper .o_table_rows_infos{float:left;padding-left:0;padding-right:20px;margin:20px 0}.o_table_wrapper .o_row_selected td{background-color:#dff0d8 !important}.o_table_wrapper .o_table{margin-bottom:0}.o_table_wrapper .o_marked{font-weight:bold}.o_table_wrapper .table{margin-bottom:0}.o_table_wrapper th a,.o_table_wrapper th a:hover{color:#333;text-decoration:none}.o_table_search a.btn.o_reset_quick_search{width:38px;margin-left:-38px;z-index:5;color:grey}.o_breadcrumb.o_table_flexi_breadcrumb ol.breadcrumb{margin:5px 0 0 0}div.o_table_flexi div.o_table_flexi_leaf{margin-left:1.55em}div.o_table_flexi div.o_table_flexi_l0{padding-left:0px}div.o_table_flexi div.o_table_flexi_l1{padding-left:15px}div.o_table_flexi div.o_table_flexi_l2{padding-left:30px}div.o_table_flexi div.o_table_flexi_l3{padding-left:45px}div.o_table_flexi div.o_table_flexi_l4{padding-left:60px}div.o_table_flexi div.o_table_flexi_l5{padding-left:75px}div.o_table_flexi div.o_table_flexi_l6{padding-left:90px}div.o_table_flexi div.o_table_flexi_l7{padding-left:105px}div.o_table_flexi div.o_table_flexi_l8{padding-left:120px}div.o_table_flexi div.o_table_flexi_l9{padding-left:135px}div.o_table_flexi div.o_table_flexi_l10{padding-left:150px}div.o_table_flexi div.o_table_flexi_l11{padding-left:165px}@media (max-width: 767px){.o_table_wrapper .o_table_rows_infos{clear:both}}a.o_orderby,a.o_orderby:hover{color:#333;text-decoration:none}a.o_orderby.o_orderby_asc,a.o_orderby.o_orderby_desc,a.o_orderby:hover.o_orderby_asc,a.o_orderby:hover.o_orderby_desc{border-bottom:1px solid #ddd}.o_table_row_count{padding-top:6px;padding-bottom:6px;vertical-align:middle}.o_table_row_details td{background-color:white !important}.o_table_config{font-size:12px}.o_table_buttons{text-align:center}.o_table_buttons input{margin-right:1em}.o_table_buttons input:last-child{margin-right:0}.o_table_tools{margin-left:6px}.o_table_tools_indications{margin-left:10px;padding-top:3px;font-size:80%}.o_table_tools_indications a{color:#d9534f}.o_table_toolbar_left .o_table_tools_indications{text-align:right}.o_table_count{max-width:20em;float:left;padding:0 15px}.o_info .table-bordered td,o_note .table-bordered td,o_important .table-bordered td,o_warning .table-bordered td,o_error .table-bordered td{border-color:#333}.panel .o_table_layout{border-top:1px solid #ddd;padding-top:6px}.panel .o_table_count{padding:0 15px}#o_navbar_imclient .o_im_messages{float:left}#o_navbar_imclient #o_im_message,#o_navbar_imclient #o_im_status,#o_navbar_imclient #o_im_summary{float:left;position:relative;padding:15px 3px}#o_navbar_imclient #o_im_status,#o_navbar_imclient #o_im_message{padding-left:15px}#o_navbar_imclient #o_im_summary .badge{color:#fff;background-color:#777}#o_navbar_imclient #o_im_status li>a>span{display:inline}#o_navbar_imclient #o_im_status div.o_chelp_wrapper{right:0.5em}#o_navbar_imclient #o_im_message a:hover,#o_navbar_imclient #o_im_message a:focus{text-decoration:none}#o_navbar_imclient #o_im_message .o_icon_message{color:#d9534f}#o_navbar_imclient #o_im_message .o_icon_message:hover{color:#f4c37d}.o_im_load_history{margin-bottom:6px}.o_im_load_history .o_label{font-size:12px;padding-right:0.5em;line-height:1.5em;color:#777}.o_im_chat_history{height:170px;font-size:90%;border:1px solid #eee;margin:0 0 1em 0;overflow:scroll;overflow-x:auto}.o_im_message_group{padding:3px 3px 3px 40px;min-height:40px;position:relative;border-top:1px solid #eee;background:#fff}.o_im_message_group.o_odd{background:#F4F4F4}.o_im_message_group .o_portrait{position:absolute;top:3px;left:3px}.o_im_message_group .o_im_from{color:#777;font-size:12px;font-weight:bold}.o_im_message_group .o_im_from:hover{color:#5e5e5e}.o_im_message_group div.o_im_body{padding:3px 0 3px 0;font-size:12px}.o_im_message_group div.o_im_body .o_date{float:right;color:#777;font-size:9px}.o_groupchat_roster{font-size:12px}.o_groupchat_roster li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333}.o_groupchat_roster li.o_vip{color:#3c763d}.o_groupchat_roster li.o_anonymous{color:#31708f}.o_im_buddieslist .o_im_buddieslist_toggler .btn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_im_buddieslist ul{font-size:12px}.o_im_buddieslist ul ul{padding-left:1em}.o_im_buddieslist ul a{color:#3b678a}.o_im_buddieslist ul a:hover{color:#243f54}.o_flag{position:relative;top:1px;display:inline-block;line-height:1;width:16px;height:16px;background-repeat:no-repeat;background-position:0 100%}option.o_with_flag{padding-left:23px;min-height:16px;background-repeat:no-repeat;background-position:2px 50%}.o_flag_en{background-image:url("../light/images/flags/gb.png")}.o_flag_de{background-image:url("../light/images/flags/de.png")}.o_flag_fr{background-image:url("../light/images/flags/fr.png")}.o_flag_it{background-image:url("../light/images/flags/it.png")}.o_flag_es{background-image:url("../light/images/flags/es.png")}.o_flag_da{background-image:url("../light/images/flags/dk.png")}.o_flag_cs{background-image:url("../light/images/flags/cz.png")}.o_flag_el{background-image:url("../light/images/flags/gr.png")}.o_flag_ee{background-image:url("../light/images/flags/ee.png")}.o_flag_ru{background-image:url("../light/images/flags/ru.png")}.o_flag_pl{background-image:url("../light/images/flags/pl.png")}.o_flag_zh_CN{background-image:url("../light/images/flags/cn.png")}.o_flag_zh_TW{background-image:url("../light/images/flags/tw.png")}.o_flag_lt{background-image:url("../light/images/flags/lt.png")}.o_flag_fa{background-image:url("../light/images/flags/ir.png")}.o_flag_pt_PT{background-image:url("../light/images/flags/pt.png")}.o_flag_pt_BR{background-image:url("../light/images/flags/br.png")}.o_flag_tr{background-image:url("../light/images/flags/tr.png")}.o_flag_hu{background-image:url("../light/images/flags/hu.png")}.o_flag_sq{background-image:url("../light/images/flags/al.png")}.o_flag_in{background-image:url("../light/images/flags/id.png")}.o_flag_ar{background-image:url("../light/images/flags/eg.png")}.o_flag_rm{background-image:url("../light/images/flags/rm.png")}.o_flag_af{background-image:url("../light/images/flags/za.png")}.o_flag_vi{background-image:url("../light/images/flags/vn.png")}.o_flag_mn{background-image:url("../light/images/flags/mn.png")}.o_flag_iw{background-image:url("../light/images/flags/il.png")}.o_flag_ko{background-image:url("../light/images/flags/kr.png")}.o_flag_nl_NL{background-image:url("../light/images/flags/nl.png")}.o_flag_jp{background-image:url("../light/images/flags/jp.png")}.o_flag_nb_NO{background-image:url("../light/images/flags/no.png")}.o_flag_et_EE{background-image:url("../light/images/flags/ee.png")}.o_flag_bg{background-image:url("../light/images/flags/bg.png")}.o_flag_hi_IN_ASIA{background-image:url("../light/images/flags/in.png")}.o_flag_ar_LB{background-image:url("../light/images/flags/lb.png")}.o_flag_gl_ES{background-image:url("../light/images/flags/galicia.png")}.o_flag_sk{background-image:url("../light/images/flags/sk.png")}.o_rating .o_rating_title{font-size:12px}.o_rating .o_rating_items{white-space:nowrap}.o_rating .o_rating_items .o_icon{color:#f0ad4e}.o_rating .o_rating_items .o_legend{margin-left:1em;font-size:12px;line-height:normal}.o_rating.o_rating_personal .o_rating_items .o_icon{color:#3b678a}.o_rating .o_rating_explanation{font-size:12px;color:#777}@media (max-width: 991px){.o_rating .o_rating_title,.o_rating .o_rating_explanation{display:none}}.o_comments .o_comment_wrapper .o_avatar{float:left;margin:0 1em 0 0}.o_comments .o_comment_wrapper .o_reply,.o_comments .o_comment_wrapper .o_delete{float:right}.o_comments .o_comment_wrapper .o_comment_wrapper{margin-left:16px}.o_ratings_and_comments .o_rating_wrapper{vertical-align:middle;display:inline-block}.o_ratings_and_comments a.o_comments{margin-left:10px;position:relative;top:0.1em}.d3chart .bar{shape-rendering:crispEdges}.d3chart .bar_default_light{fill:#598eb8}.d3chart .bar_default,.d3chart .bubble_default{fill:#3b678a}.d3chart .bar_default_dark{fill:#243f54}.d3chart .axis{font:12px sans-serif}.d3chart .axis path,.d3chart .axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.o_forum_peekview .o_quote_wrapper,.o_forum_peekview .b_quote_wrapper{display:none}.o_forum_thread_sticky{font-weight:bold}.o_forum_switch{font-size:12px}.o_forum_toolbar{margin-bottom:6px;float:left}.o_forum_fulltextsearch{float:right}@media (max-width: 767px){.o_forum_fulltextsearch{float:left}.o_forum_toolbar .o_forum_tool span{display:none}}.o_forum{padding-bottom:50px}.o_forum .o_mark,.o_forum .o_ep_collect{float:right;position:relative;width:2em;margin-left:12px}.o_forum .o_portrait{float:left;margin-right:16px}.o_forum .o_portrait_avatar{width:70px;height:70px}.o_forum .o_newindicator{font-size:10px;color:#5cb85c;text-transform:uppercase;padding-left:1em;vertical-align:text-top;white-space:nowrap}.o_forum .o_author,.o_forum .o_date{display:inline-block;color:#777}.o_forum .o_date{font-size:12px}.o_forum .o_modified{color:#8a6d3b;font-size:12px;font-style:italic}.o_forum .o_forum_message{margin-bottom:20px;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1)}.o_forum .o_forum_message_new{-webkit-box-shadow:0 1px 10px rgba(92,184,92,0.3);box-shadow:0 1px 10px rgba(92,184,92,0.3)}.o_forum .o_forum_message_highlight{-webkit-box-shadow:0 1px 10px rgba(240,173,78,0.5);box-shadow:0 1px 10px rgba(240,173,78,0.5)}.o_forum .o_forum_message_header{padding:10px 15px;border-bottom:1px solid #ddd;background-color:#f5f5f5;border-top-right-radius:3px;border-top-left-radius:3px}.o_forum .o_forum_message_title{margin-top:0}.o_forum .o_forum_message_body{padding:10px 15px}.o_forum .o_forum_message_attachments{border-top:1px solid #ddd;padding:10px 15px;font-size:12px;background-color:#f7f7f9}.o_forum .o_attachment{position:relative;max-width:250px;vertical-align:top;margin:6px 12px 10px 0}.o_forum .o_attachment img{margin-top:6px}.o_forum .o_filename{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_forum .o_icon_enlarge{position:absolute;left:1em;bottom:1em;text-shadow:1px 1px 2px #fff, -1px 1px 2px #fff, 1px -1px 2px #fff, -1px -1px 2px #fff}@media (min-width: 768px) and (max-width: 991px){.o_forum .o_attachments{font-size:10px}.o_forum .o_attachment{max-width:200px}.o_forum .o_attachment img{max-width:150px}.o_forum .o_filename{max-width:200px}}@media (max-width: 767px){.o_forum .o_attachments{font-size:9px}.o_forum .o_attachment{max-width:150px}.o_forum .o_attachment img{max-width:100px}.o_forum .o_filename{max-width:150px}}.o_quote_wrapper,.b_quote_wrapper{position:relative;margin:10px 0}.o_quote_author,.b_quote_author{color:#777;font-size:12px}.o_quote_author:before,.b_quote_author:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï„Ž";font-size:21px;padding-right:0.5em}blockquote.o_quote,blockquote.b_quote{color:#555;font-size:12px;margin-top:6px;padding:0 12px}a.o_chelp{display:inline-block;padding:1px 3px;text-align:center;vertical-align:middle;white-space:nowrap;font-size:10px;font-weight:normal;line-height:15px;color:#fff;background-color:#3b678a;border:1px solid #335a78;border-radius:2px;cursor:help;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}a.o_chelp:active,a.o_chelp:hover,a.o_chelp:focus{text-decoration:none;color:#fff;background-color:#2f526d;border-color:#213a4d}a.o_chelp i{font-size:10px !important}.o_chelp_wrapper{position:relative;float:right;display:inline-block;line-height:normal;margin-bottom:10px;margin-left:10px}.o_form_chelp,.o_chelp_tooltip{color:#737373}.o_draw_circle{border:4px solid #3b678a;border-radius:50%;position:absolute !important}.o_draw_rectangle{border:4px solid #3b678a;position:absolute !important}.o_iframedisplay iframe{width:100%}.o_singlepage .o_edit{position:absolute;top:10px;right:37px}.o_content_popup{position:absolute;top:10px;right:12px}.o_module_cp_wrapper .o_tools{position:absolute;top:10px;right:12px;text-align:right;vertical-align:middle}.o_module_cp_wrapper .o_tools .o_search_wrapper{display:inline-block;position:relative;top:-2px}ul.o_dropdown{margin:-5px -14px}ul.o_dropdown .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}ul.o_dropdown>li>a{display:block;padding:5px 14px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;background:#fff;white-space:nowrap}ul.o_dropdown>li>a:hover,ul.o_dropdown>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.badge.o_scorm_completed{background-color:#3c763d}.badge.o_scorm_failed{background-color:#a94442}.badge.o_scorm_incomplete{background-color:#8a6d3b}.badge.o_scorm_not_attempted{background:none}.o_bc_meta h5,.o_bc_meta .o_author,.o_bc_meta .o_comment,.tooltip h5,.tooltip .o_author,.tooltip .o_comment{color:#fff;margin:5px 0}.o_bc_meta .o_thumbnail,.tooltip .o_thumbnail{width:200px;height:200px;display:inline-block;background-color:#fff;margin:0 -5px}.o_htmleditor .o_metadata{border:1px solid #999;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom:0;background:#eee;position:relative;top:1px;padding:5px}.o_htmleditor .o_metadata #o_filename{float:left}.o_htmleditor .o_metadata .o_lastmodified{float:right;color:#777;line-height:1.428571429}.o_htmleditor #o_save{margin-top:10px;text-align:center}.o_htmleditor #o_save input{margin-right:1em}.o_htmleditor #o_save input:last-child{margin-right:0}.o_notifications_news_wrapper .o_notifications_news_subscription{margin:10px 0}.o_notifications_news_wrapper .o_notifications_news_subscription h4 i,.o_notifications_news_wrapper .o_notifications_news_subscription .o_cal .fc-header-title h2 i,.o_cal .fc-header-title .o_notifications_news_wrapper .o_notifications_news_subscription h2 i{display:none}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_context{color:#777}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content{margin-left:1.5em;position:relative}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content .o_icon{position:absolute;left:-1.5em;line-height:1.5em;top:0}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_content .o_date{color:#777}.o_notifications_news_wrapper .o_notifications_news_subscription .o_notifications_news_url{margin-left:1.5em}.o_noti{margin:6px 0 6px 12px;float:right;color:#777}.o_noti .o_label{color:#777;cursor:help}@media (max-width: 767px){.o_noti .o_label span{display:none}}.panel-body .o_noti{margin:0}.o_portrait{display:inline-block}.o_portrait img{border-radius:50%;border:none;background-color:#eee;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.o_portrait_name{margin-top:6px}.o_block_inline .o_portait,.o_block_inline .o_portrait_name,.o_block_inline .o_portrait_image,.o_block_inline_right .o_portait,.o_block_inline_right .o_portrait_name,.o_block_inline_right .o_portrait_image,.o_block_inline_left .o_portait,.o_block_inline_left .o_portrait_name,.o_block_inline_left .o_portrait_image,.o_block_inline_both .o_portait,.o_block_inline_both .o_portrait_name,.o_block_inline_both .o_portrait_image{display:inline-block}.o_portrait_avatar,.o_portrait_dummy,.o_portrait_dummy_female_big,.o_portrait_dummy_male_big,.o_portrait_anonymous{width:100px;height:100px}.o_portrait_dummy{background-image:url("../light/images/portrait/dummy.png")}.o_portrait_dummy_female_big{background-image:url("../light/images/portrait/dummy_female_big.png")}.o_portrait_dummy_male_big{background-image:url("../light/images/portrait/dummy_male_big.png")}.o_portrait_anonymous{background-image:url("../light/images/portrait/anonymous.png")}.o_portrait_avatar_small,.o_portrait_dummy_small,.o_portrait_dummy_female_small,.o_portrait_dummy_male_small,.o_portrait_anonymous_small{width:30px;height:30px}.o_portrait_dummy_small{background-image:url("../light/images/portrait/dummy_small.png")}.o_portrait_dummy_female_small{background-image:url("../light/images/portrait/dummy_female_small.png")}.o_portrait_dummy_male_small{background-image:url("../light/images/portrait/dummy_male_small.png")}.o_portrait_anonymous_small{background-image:url("../light/images/portrait/anonymous_small.png")}.o_datecomp{position:relative;width:40px;height:52px;border:1px solid #555;margin-right:12px;text-align:center;vertical-align:middle}.o_datecomp div.o_year{position:absolute;left:0;width:100%;top:-20px;height:20px;line-height:20px;font-size:10px}.o_datecomp div.o_month{height:20px;line-height:20px;font-size:12px;background-color:#3b678a;color:#fff}.o_datecomp div.o_day{height:30px;line-height:30px;font-size:18px;border-top:1px solid #555;background-color:#fff;color:#333}.o_block_with_datecomp .o_head{position:relative;padding-left:52px}.o_block_with_datecomp .o_datecomp{position:absolute;top:0.2em;left:0}.o_block_with_datecomp .o_title{margin-top:0}.o_block_with_datecomp .o_meta{color:#777}.o_block_with_datecomp .o_content{border-left:5px solid #eee;padding:0 20px}.o_block_with_datecomp .o_block_footer{padding-left:25px}ul.o_certificates li{padding:5px 0}ul.o_certificates li a.o_sel_certificate_delete{padding-left:2em}.o_cal_toptoolbar{margin-bottom:6px}.o_cal_toptoolbar .o_cal_toptoolbar_help{float:left;margin-right:12px}.o_cal_toptoolbar .o_noti{margin-top:0}.o_feed .o_date,.o_feed .o_author{color:#777}.o_feed .o_subscription a{margin-right:1.5em}.o_feed .o_subscription .form-group{margin-bottom:5px}.o_feed .o_subscription .form-control{border:0;background:none;padding:0;height:auto;-webkit-box-shadow:none;box-shadow:none}.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper{float:left}.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_rating_title,.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_rating_explanation,.o_feed .o_blog_posts .o_ratings_and_comments .o_rating_wrapper .o_legend{display:none}.o_feed .o_blog_posts .o_ratings_and_comments a.o_comments span{display:none}.o_feed .o_content:before,.o_feed .o_content:after{content:" ";display:table}.o_feed .o_content:after{clear:both}.o_feed .o_enclosure{clear:both}.o_glossary .o_register{text-align:center}.o_glossary .o_meta{font-size:90%;color:#777;font-style:italic}.o_glossary dl dt:first-letter{font-size:21px}.o_glossary dl dt small{color:#777}.o_tm_glossary{border-bottom:1px dotted #666699 !important}.o_tm_yellow{background-color:#FFFF66}.o_tm_blue{background-color:#33FFFF}.o_tm_red{background-color:#FF3333}.o_tm_green{background-color:#99FF00}.o_coaching div#o_main_toolbar.o_toolbar{margin-top:0px}.o_eff_statement_details .o_user_infos{margin-top:20px}div.o_assessment_user_type_filter{display:inline-block;padding:0.5em;border:1px solid #eee;border-radius:4px}div.o_assessment_user_type_filter div.form-inline,div.o_assessment_user_type_filter div.o_navbar-form{margin-left:5px;display:inline-block}.vitero_iframe{width:100%;height:100%;border:none;min-height:60em}.o_reminder_rule{padding:5px 0}.o_segments.btn-group a span{overflow:hidden;display:block;text-overflow:ellipsis}.o_segments_content{margin-top:20px}.o_tabbed_pane .o_tabbed_pane_content{padding:20px 0 6px 0}.o_togglebox_wrapper .o_opener{position:relative;left:-0.5em}.o_togglebox_wrapper div.o_togglebox_content{position:relative;margin:0}.o_togglebox_wrapper div.o_togglebox_content .o_hide{position:absolute;bottom:0.5em;right:1em}.o_toolboxes ul{margin:0 0 1.5em 0;padding:0 0 0 1.5em}.o_qrcode{width:256px;height:256px}#o_ajax_busy{position:absolute;left:50%;top:20em;margin-left:-2.5em;height:5em;width:5em;color:#fff;z-index:1201;display:none}#o_body.o_ajax_busy{cursor:busy}.o_exception .o_visual{position:relative;background-image:url("../light/images/lion-500x333.jpg");filter:grayscale(50%);-webkit-filter:grayscale(50%);-moz-filter:grayscale(50%);-ms-filter:grayscale(50%);-o-filter:grayscale(50%);width:500px;height:333px;background-repeat:no-repeat;background-position:50% 50%;background-size:contain;margin:0 0 10px 16px}@media (min-width: 768px) and (max-width: 991px){.o_exception .o_visual{width:375px;height:249px}}@media (min-width: 500px) and (max-width: 767px){.o_exception .o_visual{width:250px;height:166px}}@media (max-width: 500px){.o_exception .o_visual{background-size:cover}}.o_exception .jumbotron h1,.o_exception .o_repo_details .o_lead h1,.o_repo_details .o_exception .o_lead h1{color:#d9534f}ul.o_assessment_docs{margin-bottom:0}ul.o_assessment_docs>li{margin-bottom:0.33em}ul.o_assessment_docs>li:last-child{margin-bottom:0em}.o_mail_message .o_mail_meta{background:#fafafa;border:1px solid #eee;padding:5px 10px}.o_mail_message .o_mail_meta h3{margin-top:0}.o_mail_message .o_mail_date,.o_mail_message .o_mail_from,.o_mail_message .o_mail_recipients{color:#777;font-size:90%}.o_mail_message .o_mail_date .o_label,.o_mail_message .o_mail_from .o_label,.o_mail_message .o_mail_recipients .o_label{font-weight:bold;margin-right:1em}.o_mail_message .o_mail_date .o_group span,.o_mail_message .o_mail_from .o_group span,.o_mail_message .o_mail_recipients .o_group span{font-weight:bold}.o_mail_message .o_mail_date .o_group span:after,.o_mail_message .o_mail_from .o_group span:after,.o_mail_message .o_mail_recipients .o_group span:after{content:':';margin-right:0.5em}.o_mail_message .o_mail_date i,.o_mail_message .o_mail_from i,.o_mail_message .o_mail_recipients i{margin-left:1em}.o_mail_message .o_mail_date ul.list-inline,.o_mail_message .o_mail_from ul.list-inline,.o_mail_message .o_mail_recipients ul.list-inline{display:inline}.o_mail_message .o_mail_date ul.list-inline li,.o_mail_message .o_mail_from ul.list-inline li,.o_mail_message .o_mail_recipients ul.list-inline li{padding-right:0;padding-left:0}.o_mail_message .o_more{margin-left:1em}.o_mail_message .o_showAllLink{float:right;font-size:80%}.progress .o_progress_marker{position:absolute;height:100%;top:0;width:3px;background:red}.progress .progress-bar{text-shadow:1px 1px 2px #000000}.o_progress_label_right{float:left;margin-right:10px}.o_web_content{padding-bottom:15px}.o_labeled_light,a.o_qpool_tools_status,.dropdown-toggle.o_qpool_tools_status,.o_labeled{text-transform:uppercase;text-align:center;text-decoration:none;vertical-align:text-bottom;font-size:75% !important;font-weight:bold !important;line-height:1;white-space:nowrap;border:1px solid;border-radius:3px;padding:2px 5px;background-color:#777;color:#fff}.o_labeled_light{background-color:#f8f8f8}.dropdown-menu.o_labeled{background-color:inherit}.o_ms_button{max-width:100%;width:100%;display:flex}.o_ms_button span:not(.o_ms_carret){text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.o_ms_button .o_ms_carret{margin:auto 0 auto auto}.o_ms_list{width:100%;height:auto;max-height:300px;overflow-x:hidden}.o_disclaimer .o_disclaimer_content{max-height:50vh;overflow:auto;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;background:#fbfbfb;padding:10px;border:1px solid #c2c2c2}.tt-input{width:400px}.tt-menu{width:400px;margin-top:6px;padding:0 0 0;color:#555;background-color:#fff;border:1px solid #66afe9;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;-webkit-box-shadow:0 0 8px rgba(102,175,233,0.6);box-shadow:0 0 8px rgba(102,175,233,0.6)}.tt-suggestion{padding:6px 12px;font-size:14px;line-height:1.428571429}.tt-suggestion.tt-cursor,.tt-suggestion:hover{color:#fff;background-color:#3b678a}.tt-suggestion p{margin:0}.tt-menu div.o_icon_error:before{content:''}.o_search_link_extended,.o_search_link_simple{margin-top:12px;display:inline-block}.o_search_results_stats{color:#777;padding-left:1.5em}.o_search_highlight{margin-left:12px;font-size:12px}.o_search_result_title h4,.o_search_result_title .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_search_result_title h2{display:inline-block;margin-right:12px;margin-bottom:6px}.o_search_result_title h4 .o_icon-fw,.o_search_result_title .o_cal .fc-header-title h2 .o_icon-fw,.o_cal .fc-header-title .o_search_result_title h2 .o_icon-fw{text-align:left}.o_search_result_highlight{font-weight:bold;background-color:transparent}.o_search_result_context{display:inline-block;color:#3c763d;margin-right:1em}.o_search_result_license{display:inline-block;color:#777}.o_search_result_excerpt{color:#555}.o_search_result .o_opener{font-size:12px}.o_search_result .o_opener i{width:1em}.o_search_result_details .o_togglebox_wrapper.o_block{margin-top:0;margin-bottom:0}.o_search_result_details .o_togglebox_wrapper .o_togglebox_content{color:#777;font-size:12px;background:#fff;padding:6px 12px}.o_search_result_details .o_togglebox_wrapper .o_search_result_license i{font-size:20px}@media (max-width: 767px){.o_search_result_details{display:none}}.wizard{border:1px solid #d4d4d4;border-radius:2px;background-color:#f9f9f9;position:relative;overflow:hidden;margin-bottom:15px}.wizard ul{list-style:none outside none;padding:0;margin:0;width:4000px}.wizard ul li{float:left;margin:0;padding:0 20px 0 30px;height:46px;line-height:46px;position:relative;background:#ededed;color:#333;font-size:16px;cursor:default}.wizard ul li .chevron{border:24px solid transparent;border-left:14px solid #d4d4d4;border-right:0;display:block;position:absolute;right:-14px;top:0;z-index:1}.wizard ul li .chevron:before{border:24px solid transparent;border-left:14px solid #ededed;border-right:0;content:"";display:block;position:absolute;right:1px;top:-24px}.wizard ul li.active{background:#f1f6fc;color:#333}.wizard ul li.active .chevron:before{border-left:14px solid #f1f6fc}.wizard ul li .badge{margin-right:8px}.wizard ul li:first-child{border-radius:4px 0 0 4px;padding-left:20px}.o_process{position:relative;padding-left:25px}.o_process .o_step{position:relative;height:auto;padding-top:10px;padding-left:30px;padding-bottom:10px}.o_process .o_bar{position:absolute;top:10px;left:8px;height:100%;border-left:4px solid #777}.o_process .o_bar:after{position:absolute;top:0;left:-10px;height:16px;width:16px;border:4px solid #777;border-radius:16px;background:#fff;content:" "}.o_process .o_title{margin-top:-1px;color:#777 !important}.o_process .o_title:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;left:-24px}.o_process .o_title a:before{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";width:1em}.o_process .o_title a.collapsed:before{content:""}.o_process .o_step.o_active .o_bar,.o_process .o_step.o_active .o_bar:after{border-color:#3b678a}.o_process .o_step.o_active .o_title{color:#3b678a !important}.o_process .o_step.o_active .o_title:before{content:"";color:#3b678a}.o_process .o_step.o_done .o_bar,.o_process .o_step.o_done .o_bar:after{border-color:#4a82ae}.o_process .o_step.o_done .o_title{color:#4a82ae !important}.o_process .o_step.o_done .o_title:before{content:"";color:#5cb85c}.o_process .o_meta{color:#777;font-size:12px;margin-top:-0.5em}.o_cal_orange{background:#ffc266;border-color:#ff9900;color:#5D5D5D}.o_cal_orange .o_cal_wv_event_header{background:#ff9900}.o_cal_orange a{color:#5D5D5D !important}.o_cal_class.o_cal_orange{border-left:20px solid #ffc266}.o_cal_green{background:#66c266;border-color:#009900;color:#FFF}.o_cal_green .o_cal_wv_event_header{background:#009900}.o_cal_green a{color:#FFF !important}.o_cal_class.o_cal_green{border-left:20px solid #66c266}.o_cal_blue{background:#4d6e9f;border-color:#2e5894;color:#FFF}.o_cal_blue .o_cal_wv_event_header{background:#2e5894}.o_cal_blue a{color:#FFF !important}.o_cal_class.o_cal_blue{border-left:20px solid #4d6e9f}.o_cal_yellow{background:#ffe066;border-color:#ffcc00;color:#5D5D5D}.o_cal_yellow .o_cal_wv_event_header{background:#ffcc00}.o_cal_yellow a{color:#5D5D5D !important}.o_cal_class.o_cal_yellow{border-left:20px solid #ffe066}.o_cal_red{background:#c26666;border-color:#990000;color:#FFF}.o_cal_red .o_cal_wv_event_header{background:#990000}.o_cal_red a{color:#FFF !important}.o_cal_class.o_cal_red{border-left:20px solid #c26666}.o_cal_rebeccapurple{background:#663399;border-color:#663399;color:#FFF}.o_cal_rebeccapurple .o_cal_wv_event_header{background:#663399}.o_cal_rebeccapurple a{color:#FFF !important}.o_cal_class.o_cal_rebeccapurple{border-left:20px solid #639}.o_cal_fuchsia{background:#FF00FF;border-color:#dd00dd;color:#FFF}.o_cal_fuchsia .o_cal_wv_event_header{background:#FF00FF}.o_cal_fuchsia a{color:#FFF !important}.o_cal_class.o_cal_fuchsia{border-left:20px solid #f0f}.o_cal_olive{background:#808000;border-color:#636300;color:#FFF}.o_cal_olive .o_cal_wv_event_header{background:#808000}.o_cal_olive a{color:#FFF !important}.o_cal_class.o_cal_olive{border-left:20px solid olive}.o_cal_navy{background:#000080;border-color:#000057;color:#FFF}.o_cal_navy .o_cal_wv_event_header{background:#000080}.o_cal_navy a{color:#FFF !important}.o_cal_class.o_cal_navy{border-left:20px solid navy}.o_cal_maroon{background:#800000;border-color:#740000;color:#FFF}.o_cal_maroon .o_cal_wv_event_header{background:#800000}.o_cal_maroon a{color:#FFF !important}.o_cal_class.o_cal_maroon{border-left:20px solid maroon}.o_cal_lime{background:#00FF00;border-color:#00e200;color:#004d00}.o_cal_lime .o_cal_wv_event_header{background:#00FF00}.o_cal_lime a{color:#004d00 !important}.o_cal_class.o_cal_lime{border-left:20px solid lime}.o_cal_grey{background:#DDDAAA;border-color:#5D5D5D;color:#FFF}.o_cal_grey .o_cal_wv_event_header{background:#5D5D5D}.o_cal_grey a{color:#FFF !important}.o_cal_class.o_cal_grey{border-left:20px solid #DDDAAA}.o_sel_calendar_print_chooser{padding-right:4em}.o_cal_config_enabled,.o_cal_config_disabled{position:relative;float:left;display:inline}.o_cal_config_calendar{margin:0 5px;padding:1px 6px 1px 4px;position:relative;width:200px;overflow:hidden;float:left;display:inline}.o_cal_config_color{display:block;width:16px;height:16px;border-radius:8px}.o_cal_colorchooser_selected:before{content:""}#o_cal_colorchooser div{border:1px solid #3b678a;margin:5px;display:inline-block}#o_cal_colorchooser div:hover{border:1px solid #333}#o_cal_colorchooser a{width:20px;height:20px;display:inline-block}.o_cal_embedded_course_container .o_content_popup{top:0}.o_cal_wv_event_tooltip_content .o_cal_description{background-color:#f8f8f8;padding:10px 7px;margin:10px -7px}.o_cal_wv_event_tooltip_content .o_cal_tooltip_buttons{text-align:center;margin-top:20px}.o_cal_event_managed .fc-event-inner:after{margin-right:2px;float:right;font-family:FontAwesome;font-style:normal;font-weight:normal;font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:""}.o_cal_event_not_managed .fc-event-inner:after{margin-right:2px;float:right;font-family:FontAwesome;font-style:normal;font-weight:normal;font-size:100%;webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:""}.fc-button{color:#333;background-color:#fff;border-color:#ccc}.fc-button:hover,.fc-button:focus,.fc-button.focus,.fc-button:active,.fc-button.active,.open>.fc-button.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.fc-button:active,.fc-button.active,.open>.fc-button.dropdown-toggle{background-image:none}.fc-button.disabled,.fc-button.disabled:hover,.fc-button.disabled:focus,.fc-button.disabled.focus,.fc-button.disabled:active,.fc-button.disabled.active,.fc-button[disabled],.fc-button[disabled]:hover,.fc-button[disabled]:focus,.fc-button[disabled].focus,.fc-button[disabled]:active,.fc-button[disabled].active,fieldset[disabled] .fc-button,fieldset[disabled] .fc-button:hover,fieldset[disabled] .fc-button:focus,fieldset[disabled] .fc-button.focus,fieldset[disabled] .fc-button:active,fieldset[disabled] .fc-button.active{background-color:#fff;border-color:#ccc}.fc-button .badge{color:#fff;background-color:#333}.fc-button.fc-state-default{text-shadow:none}.fc-button.fc-state-active{color:#fff;background-color:#3b678a;border-color:#335a78}.fc-button.fc-state-active:hover,.fc-button.fc-state-active:focus,.fc-button.fc-state-active.focus,.fc-button.fc-state-active:active,.fc-button.fc-state-active.active,.open>.fc-button.fc-state-active.dropdown-toggle{color:#fff;background-color:#2c4c66;border-color:#213a4d}.fc-button.fc-state-active:active,.fc-button.fc-state-active.active,.open>.fc-button.fc-state-active.dropdown-toggle{background-image:none}.fc-button.fc-state-active.disabled,.fc-button.fc-state-active.disabled:hover,.fc-button.fc-state-active.disabled:focus,.fc-button.fc-state-active.disabled.focus,.fc-button.fc-state-active.disabled:active,.fc-button.fc-state-active.disabled.active,.fc-button.fc-state-active[disabled],.fc-button.fc-state-active[disabled]:hover,.fc-button.fc-state-active[disabled]:focus,.fc-button.fc-state-active[disabled].focus,.fc-button.fc-state-active[disabled]:active,.fc-button.fc-state-active[disabled].active,fieldset[disabled] .fc-button.fc-state-active,fieldset[disabled] .fc-button.fc-state-active:hover,fieldset[disabled] .fc-button.fc-state-active:focus,fieldset[disabled] .fc-button.fc-state-active.focus,fieldset[disabled] .fc-button.fc-state-active:active,fieldset[disabled] .fc-button.fc-state-active.active{background-color:#3b678a;border-color:#335a78}.fc-button.fc-state-active .badge{color:#3b678a;background-color:#fff}body.o_cal_print fieldset{border:none;margin-bottom:2em}body.o_cal_print legend{font-size:2em;font-weight:bold}body.o_cal_print legend span{display:block;font-size:14px;font-weight:normal}body.o_cal_print ul.o_cal_wv_list{list-style-type:none;padding:0}body.o_cal_print ul.o_cal_wv_list>li{page-break-inside:avoid;margin-bottom:2em}body.o_cal_print ul.o_cal_wv_list .o_cal_date{font-size:1.25em;font-weight:bold;padding:0.5em 0 0.5em 0}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events{list-style-type:none;padding:0.5em 0 0 0}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event{position:relative;left:30px;page-break-inside:avoid;clear:both;margin-bottom:1.5em;padding-right:30px}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_time{float:left;font-weight:bold;margin-right:1em}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_subject{font-weight:bold}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_subject p{margin:0}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_location,body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_description,body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_freebusy{clear:both}body.o_cal_print ul.o_cal_wv_list ul.o_cal_events li.o_cal_event .o_cal_freebusy{font-style:italic}body.o_cal_print .o_cal_class{position:absolute;left:-30px;width:20px}body.o_cal_print #o_cal_config legend{font-size:1.25em}body.o_cal_print #o_cal_config .o_cal_config_calendar{margin:0;padding:0}body.o_cal_print #o_cal_config .o_cal_config_calendar{position:relative;left:30px;float:none;padding-right:30px}.o_visual{position:absolute;top:0;left:0;overflow:hidden;height:120px;width:180px;vertical-align:middle}@media (min-width: 768px) and (max-width: 991px){.o_visual{height:80px;width:120px}}@media (max-width: 767px){.o_visual{height:50px;width:75px}}.o_visual img{width:100%;height:auto}.o_visual .o_visual_not_available{width:100%;height:100%;background-image:url("../light/images/no_preview.png");background-repeat:no-repeat;background-position:50% 50%;background-size:contain}.o_coursetable.o_rendertype_custom .o_table_row{position:relative;border:1px solid #3b678a;margin-bottom:10px}.o_coursetable.o_rendertype_custom .o_table_row .o_visual{box-sizing:content-box;border-right:1px solid #3b678a}.o_coursetable.o_rendertype_custom .o_table_row .o_access{position:absolute;top:0;right:0;height:120px;width:180px;overflow:hidden;border-left:1px solid #3b678a;padding-top:0.25em}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_state,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score{padding:0 1em;height:20px;line-height:20px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score{position:relative;left:2px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score .o_label{color:#777}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social{position:absolute;width:100%;bottom:32px;height:20px;padding-left:1em}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating .o_rating_title,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating o_rating_legend,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_social .o_rating .o_rating_explanation{display:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings{padding:0 0 0 1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_label{margin-bottom:1em;color:#777}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_bookings .o_methods{color:#5bc0de}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{position:absolute;display:block;bottom:0;width:90px;height:30px;line-height:30px;text-align:center}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book{right:0}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start{color:#fff;background-color:#3b678a;border-color:#335a78}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.dropdown-toggle{color:#fff;background-color:#2c4c66;border-color:#213a4d}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.dropdown-toggle{background-image:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.disabled.active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled],.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled]:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled]:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled].focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled]:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start[disabled].active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:hover,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start:active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start.active{background-color:#3b678a;border-color:#335a78}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start .badge{color:#3b678a;background-color:#fff}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book{color:#fff;background-color:#f0ad4e;border-color:#eea236}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.dropdown-toggle{background-image:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.disabled.active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled],.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled]:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled]:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled].focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled]:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book[disabled].active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:hover,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book:active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book.active{background-color:#f0ad4e;border-color:#eea236}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book .badge{color:#f0ad4e;background-color:#fff}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{right:90px;color:#fff;background-color:#5cb85c;border-color:#4cae4c}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.active,.open>.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.dropdown-toggle{background-image:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled.focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.disabled.active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled],.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled]:hover,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled]:focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled].focus,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled]:active,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details[disabled].active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:hover,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.focus,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details:active,fieldset[disabled] .o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details.active{background-color:#5cb85c;border-color:#4cae4c}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details .badge{color:#5cb85c;background-color:#fff}@media (min-width: 768px) and (max-width: 991px){.o_coursetable.o_rendertype_custom .o_table_row .o_access{height:80px;width:120px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_score,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_comments,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_label{display:none}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_start,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_book,.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{width:60px}.o_coursetable.o_rendertype_custom .o_table_row .o_access .o_details{right:60px}}@media (max-width: 767px){.o_coursetable.o_rendertype_custom .o_table_row .o_access{display:none}}.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:120px;margin:0 180px 0 180px;position:relative;padding:1em 0.5em 0.25em 1em;overflow:hidden}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title{margin:0;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a{display:block;color:#3b678a}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a:hover{color:#2c4c66}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_author{margin-top:0.5em;line-height:normal;font-size:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3c763d}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle{position:absolute;top:5px;right:40px;z-index:2px;background:white;padding:0 3px 3px 3px;border-radius:0px 0px 3px 3px;font-size:90%;line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle.o_active{color:#3c763d}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle.o_active:hover{color:#2b542c}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_desc{margin-top:0.5em}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_bookmark{position:absolute;top:-1px;right:15px}@media (min-width: 768px) and (max-width: 991px){.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:80px;margin:0 120px}}@media (max-width: 767px){.o_coursetable.o_rendertype_custom .o_table_row .o_meta{height:50px;margin:0 0 0 75px;padding:0 0 0 1em}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title{line-height:50px}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_title a{border-right:37px solid transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_author,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_bookmark,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_lifecycle,.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_desc{display:none}}.o_coursetable.o_rendertype_custom .o_table_row .o_meta .o_go_xs{position:absolute;top:0;right:0;padding:0 1em;height:50px;width:37px;line-height:50px;color:#fff;background-color:#3b678a}.o_coursetable.o_rendertype_classic .o_rating_explanation{display:none}.o_coursetable.o_rendertype_classic .o_start,.o_coursetable.o_rendertype_classic .o_book{white-space:nowrap}.o_coursetable.o_rendertype_classic .o_repoentry_type{color:#555}.o_coursetable.o_rendertype_classic .o_repoentry_ac{color:#555}.o_catalog .o_level{position:relative;margin-bottom:10px;padding:0;border-top:1px solid #3b678a;border-bottom:1px solid #3b678a}.o_catalog .o_level .o_visual{height:180px}.o_catalog .o_level .o_meta{position:relative;min-height:180px;height:180px;overflow:hidden;margin:0 0 0 180px;padding:1em 0.5em 0.5em 2em}.o_catalog .o_level .o_meta .o_title{margin:0}.o_catalog .o_level .o_meta .o_title a{display:block;color:#3b678a}.o_catalog .o_level .o_meta .o_title a:hover{color:#2c4c66}.o_catalog .o_level .o_meta .o_desc{padding:1em 0 0.5em 0}@media (min-width: 768px) and (max-width: 991px){.o_catalog .o_level .o_visual{height:120px}.o_catalog .o_level .o_meta{min-height:120px;height:120px;margin:0 0 0 120px}}@media (max-width: 767px){.o_catalog .o_level .o_visual{height:75px}.o_catalog .o_level .o_meta{min-height:75px;height:75px;margin:0 0 0 75px;padding:0 0 0 1em}.o_catalog .o_level .o_meta .o_title{line-height:75px}.o_catalog .o_level .o_meta .o_desc{display:none}}.o_catalog .o_sublevels_list .o_sublevel{position:relative;border:1px solid #3b678a;margin-bottom:10px}.o_catalog .o_sublevels_list .o_sublevel .o_visual{height:75px;width:75px}.o_catalog .o_sublevels_list .o_sublevel .o_visual span.o_visual_not_available{width:100%;height:100%;display:block}.o_catalog .o_sublevels_list .o_sublevel .o_title{margin:0}.o_catalog .o_sublevels_list .o_sublevel .o_meta{border-left:1px solid #3b678a;min-height:75px;height:75px;margin:0 0 0 75px;padding:0 0 0 1em;overflow:hidden}.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_title{line-height:75px}.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_desc{display:none}.o_catalog .o_sublevels_list .o_sublevel .o_meta h4.o_title>a,.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_cal .fc-header-title h2.o_title>a,.o_cal .fc-header-title .o_catalog .o_sublevels_list .o_sublevel .o_meta h2.o_title>a{font-family:inherit;font-weight:inherit}.o_catalog .o_sublevels_list .o_sublevel .o_meta h4.o_title>a>i,.o_catalog .o_sublevels_list .o_sublevel .o_meta .o_cal .fc-header-title h2.o_title>a>i,.o_cal .fc-header-title .o_catalog .o_sublevels_list .o_sublevel .o_meta h2.o_title>a>i{display:none}.o_catalog .o_sublevels_list .o_sublevel.o_fill_sublevels{border:1px solid transparent}.o_catalog .o_sublevels_list .o_sublevel.o_fill_sublevels .o_meta{border-left:1px solid transparent}.o_catalog .o_sublevels{position:relative;margin-bottom:20px}.o_catalog .o_sublevels:before,.o_catalog .o_sublevels:after{content:" ";display:table}.o_catalog .o_sublevels:after{clear:both}.o_catalog .o_sublevels .o_sublevel{position:relative;float:left;margin:0 20px 20px 0;width:180px}.o_catalog .o_sublevels .o_sublevel:last-child{margin-right:0}.o_catalog .o_sublevels .o_sublevel .o_visual{border:1px solid #3b678a;position:relative;height:180px}.o_catalog .o_sublevels .o_sublevel .o_visual span.o_visual_not_available{width:100%;height:100%;display:block}.o_catalog .o_sublevels .o_sublevel .o_meta{position:absolute;left:0;bottom:0;width:100%;border:1px solid #3b678a;border-top:0;background-color:rgba(255,255,255,0.8)}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title{margin:0;text-align:center;line-height:2em;height:2em;width:100%;overflow:hidden}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a{display:block;color:#3b678a;font-family:inherit;font-weight:inherit}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a:hover{color:#2c4c66}.o_catalog .o_sublevels .o_sublevel .o_meta .o_title a>i{display:none}@media (min-width: 768px) and (max-width: 991px){.o_catalog .o_sublevels .o_sublevel{width:120px;margin:0 10px 10px 0}.o_catalog .o_sublevels .o_sublevel .o_visual{height:120px}.o_catalog .o_sublevels .o_sublevel .o_title{font-size:90%}}@media (max-width: 767px){.o_catalog .o_sublevels .o_sublevel{width:120px;margin:0 1px 1px 0}.o_catalog .o_sublevels .o_sublevel .o_visual{height:120px;width:120px}.o_catalog .o_sublevels .o_sublevel .o_title{font-size:90%}}@media (min-width: 768px){.o_catalog .o_sublevels_list,.o_catalog .o_sublevels_compact{-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2;columns:2}}.o_repo_details{position:relative}.o_repo_details .o_lead{margin-bottom:10px}.o_repo_details .o_lead .o_author{margin-top:0.5em;margin-bottom:1em;font-size:120%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3c763d}.o_repo_details .o_lead .o_media{float:right;margin-left:2em;margin-bottom:2em}.o_repo_details .o_lead .o_media.o_desc_empty{float:none;margin-left:0;margin-bottom:0}.o_repo_details .o_lead h1{font-size:37px}.o_repo_details .o_lead h1 i{display:none}.o_repo_details .o_overview i{margin-right:0.5em}.o_repo_details .o_overview div{margin-bottom:0.25em}.o_repo_details .o_start_wrapper{clear:both;margin:2em 0 -10px 0;text-align:right}.o_repo_details .o_start_wrapper .o_start_inner{display:inline-block}.o_repo_details .o_start,.o_repo_details .o_book{max-width:400px;display:inline-block}.o_repo_details .o_social:before,.o_repo_details .o_social:after{content:" ";display:table}.o_repo_details .o_social:after{clear:both}.o_repo_details .o_social .o_rating_wrapper{float:left}.o_repo_details .o_social .o_comments{margin-left:1em}@media (max-width: 767px){.o_repo_details .o_lead p{font-size:16px}.o_repo_details .o_lead .o_media{margin-left:0;float:none;text-align:center}.o_repo_details .o_start_wrapper{text-align:center}.o_repo_details .o_start_wrapper .o_start_inner{display:block}.o_repo_details .o_start,.o_repo_details .o_book{max-width:100%;display:block}}@media (max-width: 613px){.o_repo_details .o_subcolumn{width:100%}}.o_meta .o_closed{padding:2px 5px;margin:5px 0}.o_overview .o_closed{padding:12px 15px;margin:15px 0}.o_ac_configuration span.o_ac_infos{font-weight:normal;color:grey}tr.o_entry_closed,tr.o_entry_closed td,tr.o_entry_closed td span,tr.o_entry_unpublished,tr.o_entry_unpublished td,tr.o_entry_unpublished td span{text-decoration:line-through}.o_repo_status_filter>div{display:inline-block}.o_repo_status_filter>div label{font-weight:normal}.badge.o_midpub{background-color:#3c763d}.badge.o_midwarn{background-color:#8a6d3b}.badge.o_midlock{background-color:#31708f}.badge.o_miderr{background-color:#a94442}.badge.o_middel{background-color:#777}.o_course_editor_legend .badge{font-size:80%}.o_course_editor_legend .badge:before{content:none}.o_passed{color:#3c763d;font-weight:bold}.o_passed a:hover{color:#2b542c}.o_passed th{color:#333}.o_failed{color:#a94442;font-weight:bold}.o_failed a:hover{color:#66512c}.o_failed th{color:#333}.o_unknown{color:#8a6d3b;font-weight:bold}.o_unknown a:hover{color:#66512c}.o_unknown th{color:#333}.o_noinfo{color:#777}.o_course_run .o_toc .o_entry .o_shorttitle{border-bottom:1px solid #777}.o_course_run .o_toc .o_entry .o_displaytitle{margin-top:5px;color:#777}.o_course_run .o_toc .o_entry .o_objectives{margin-top:10px;font-style:italic}.o_course_run .o_in_review{font-style:italic;position:relative}.o_course_run.o_titled_wrapper>h2 i{display:none}.o_course_run .o_cal_toptoolbar{margin-right:26px}.o_course_run .o_titled_wrapper .o_cal_toptoolbar{margin-right:0px}.o_tree.o_course_menu div.o_tree_l0>a:first-child{background-color:none}.o_st_peekview ul li{margin-bottom:0.5em}.o_cl_line{margin-bottom:10px;padding-bottom:5px}.o_cl_line.o_even{background-color:#f9f9f9}.o_ll_container h5{margin-bottom:5px}.o_ll_container h5 a.o_desc{color:#3b678a}.o_ll_container h5 a.o_desc small{display:none}.o_ll_container h5 a.o_desc:hover{color:#2c4c66;text-decoration:none}.o_ll_container h5 a.o_desc:hover small{color:#5e5e5e;display:inline}.o_ll_container div.o_comment{color:#777}.o_cmembers .o_cmember{margin:12px 0;display:table}.o_cmembers .o_cmember .o_portrait{padding-right:10px;display:table-cell;vertical-align:top}.o_cmembers .o_cmember .o_portrait img{width:50px;height:50px}.o_cmembers .o_cmember .o_cmember_info_wrapper{display:table-cell;vertical-align:middle;color:#777}.o_cmembers .o_cmember .o_cmember_info_wrapper .o_mail{margin-left:6px}.o_cmembers .o_cmember a.o_mail{display:none}.o_cmembers .o_cmember:hover a.o_mail{display:inline}.o_cmembers_print{color:#000}.o_cmembers_print #o_print_brand{position:absolute;top:1cm;right:1cm;width:5cm;height:4cm}.o_cmembers_print #o_print_brand img{width:100%}.o_cmembers_print .o_portrait{width:100px;height:100px;position:relative}.o_cmembers_print .o_portrait img{border-radius:0px;max-width:100%;max-height:100%;width:auto;height:auto;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.o_cmembers_print .o_cmember{padding-left:0px;padding-right:15px;margin-bottom:20px}.o_cmembers_print .o_cmember .o_cmember_info_wrapper{word-wrap:break-word}.o_cmembers_print .o_cmember .o_prop.o_zipCode{float:left;padding-right:0.5em}.o_cmembers_print h1{font-size:18pt;color:#000}.o_cmembers_print h3{font-size:14pt;margin-top:5px;font-weight:normal;color:#000}.o_cmembers_print h4,.o_cmembers_print .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_cmembers_print h2{font-size:11pt;font-weight:strong;color:#000;padding-bottom:10px;border-bottom:1px solid #eee}.o_cmembers_print .o_cmember_info_wrapper{font-size:7pt;color:#000}.o_cmembers_print .o_cmember_info_wrapper strong{font-size:8pt}.tag.label.label-info{margin-right:3px}.input-group.o_tag_inputgroup .form-control{height:auto}div.o_correction_navigation .o_correction_navigation_back{float:left;line-height:32px}div.o_correction_navigation .o_correction_navigation_previous{position:absolute;right:50%;margin-right:102px}div.o_correction_navigation #o_cocurrent_item_SELBOX{width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute;left:50%;margin-left:-100px}div.o_correction_navigation .o_correction_navigation_next{position:absolute;left:50%;margin-left:102px}@media (max-width: 767px){div.o_correction_navigation .o_correction_navigation_previous span,div.o_correction_navigation .o_correction_navigation_next span{display:none}}table.table.o_qti_item_kprim>thead>tr>th,table.table.o_qti_item_kprim>tbody>tr>td{border:none}td.o_qti_item_kprim_input,th.o_qti_item_kprim_input{text-align:center}td.o_qti_item_kprim_input .radio,th.o_qti_item_kprim_input .radio{display:inline}td.o_qti_item_kprim_text{width:80%}div.o_qti_menu_section,div.o_qti_menu_section_clickable,div.o_qti_menu_section_active{margin-top:10px}div.o_qti_menu_item a,div.o_qti_menu_section a{text-decoration:none}div.o_qti_menu_item{padding:.1em}div.o_qti_menu_item_active{padding:.1em;font-weight:bold}div.o_qti_item_itemfeedback{background-color:#ffffff;border-color:#000000}div.o_qti_item_choice_option_flow{display:inline-block;padding:.5em;border:1px solid transparent}.d3chart .bar_green{fill:#5cb85c}.d3chart .bar_red{fill:#d9534f}.d3chart .bar_grey{fill:lightgrey}.d3chart circle.bubble_green{fill:#5cb85c}div.o_qti_statistics ul{list-style-type:none;padding:0;margin:0;font-size:90%}div.o_qti_statistics ul strong{font-weight:normal}div.o_qti_statistics ul li{padding-left:48px;margin-left:0;margin-bottom:10px}div.o_qti_statistics ul li.o_qti_statistics-ncorrect:before{font-size:125%;content:'\2A2F\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-correct:before{font-size:125%;content:'\2713\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-kplus:before{font-size:125%;content:'\2713\00A0\2A2F\00A0\00A0'}div.o_qti_statistics ul li.o_qti_statistics-kminus:before{font-size:125%;content:'\2A2F\00A0\2713\00A0\00A0'}div.o_qti_statistics ul li img{vertical-align:top}div.o_qti_statistics table.o_qti_statistics_figures tr{float:left}div.o_qti_statistics table.o_qti_statistics_figures tr:nth-child(2n+1){clear:left;padding-right:20px}div.o_qti_statistics table.o_qti_statistics_figures td{width:200px;padding-left:0;vertical-align:bottom}div.o_qti_statistics table.o_qti_statistics_figures td+td{width:100px}div.o_qti_statistics .o_qti_statistics_answer{background:#F5F5F5;padding:1px 2px;width:90%}div.o_qti_statistics div.o_qti_statistics_legend{padding-top:10px;width:470px;border:1px solid #ddd;border-radius:4px}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_green{background-color:#9dd53a}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_red{background-color:#f85032}div.o_qti_statistics div.o_qti_statistics_legend ul li .bar_grey{background-color:lightgrey}div.o_qti_metadatas .panel-body{border-top:none}.o_qti_menu_item_attempts:after,.o_qti_menu_item_attempts_marked:after{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.o_qti_menu_item_attempts:after{content:"ï„"}.o_qti_menu_item_attempts_marked:after{content:"";color:#3b678a}.o_qti_print div.o_qti_statistics{width:680px}@media print{div.o_qti_statistics{width:680px}}ul.sessionControl{list-style:none;margin:1em;text-align:center}ul.sessionControl li{display:inline;padding:0.2em}.association{margin:20px 20px 20px 40px;background:transparent url("../light/images/association_bg.png") repeat-x center center}.o_associate_item{padding:5px;margin:0 15px 10px 0;border:2px solid #999}.o_associate_item.oo-selected{border:2px solid #3b678a}.o_associate_item.oo-choosed{border:none !important}.o_associate_item.oo-drag{border:2px solid #3b678a !important}.association_box{border:3px dotted #999}.association_box.oo-filled{border:3px solid #999}.association_box{background-color:white}.prompt{font-weight:bold}.sketch{position:relative;user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;-ms-user-select:none}#tmp_canvas{position:absolute;left:0px;right:0;bottom:0;top:0;cursor:crosshair;user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;-ms-user-select:none}#colors .black .o_icon:before{color:#000000}#colors .blue .o_icon:before{color:#0000FF}#colors .green .o_icon:before{color:#008000}#colors .yellow .o_icon:before{color:#FFFF00}#colors .red .o_icon:before{color:#FF0000}#colors .purple .o_icon:before{color:#800080}.o_gap_item{padding:5px;margin:5px;background-repeat:no-repeat;background-position:center center}.o_gap_item.oo-choosed{position:relative;left:auto;top:auto;padding:3px;margin:0}.o_gap_item.oo-selected{border:3px solid #3b678a}.o_item_container_help,.o_items_container_help{font-size:90%;font-style:italic;color:#777;padding:5px}.items_container{padding:15px}.items_container .o_item{float:left}#o_qti_hotspots_edit{min-height:100px;min-width:400px;background-repeat:no-repeat}#o_qti_hotspots_edit.o_qti_hotspot-standard .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-standard .o_draw_rectangle{background-color:rgba(255,255,255,0.5);border-color:#6E6E6E}#o_qti_hotspots_edit.o_qti_hotspot-standard .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-standard .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(45,0,255,0.5);border-color:#0000ff}#o_qti_hotspots_edit.o_qti_hotspot-light .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-light .o_draw_rectangle{background-color:rgba(221,221,221,0);border-color:#7E7E7E}#o_qti_hotspots_edit.o_qti_hotspot-light .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-light .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(51,122,183,0.05);border-color:#337ab7}#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_draw_rectangle{background-color:rgba(110,110,110,0.5);border-color:#3E3E3E}#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-inverted .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(222,222,222,0.2);border-color:#CECECE}#o_qti_hotspots_edit.o_qti_hotspot-green .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-green .o_draw_rectangle{background-color:rgba(142,142,142,0.25);border-color:#CECECE}#o_qti_hotspots_edit.o_qti_hotspot-green .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-green .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(134,195,81,0.5);border-color:#518b33}#o_qti_hotspots_edit.o_qti_hotspot-purple .o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-purple .o_draw_rectangle{background-color:rgba(142,142,142,0.33);border-color:#CECECE}#o_qti_hotspots_edit.o_qti_hotspot-purple .o_qti_hotspot_correct.o_draw_circle,#o_qti_hotspots_edit.o_qti_hotspot-purple .o_qti_hotspot_correct.o_draw_rectangle{background-color:rgba(234,168,255,0.5);border-color:#ab47cb}div.hotspotInteraction{overflow-x:auto}img.o_hotspot_responsive[usemap]{max-width:100%;width:auto;height:auto}.form-inline.o_qti_gaptext_add_first_alternative,.o_qti_gaptext_add_first_alternative.o_navbar-form{padding:9px 0 3px 0}.form-inline.o_qti_gaptext_add_alternative,.o_qti_gaptext_add_alternative.o_navbar-form{margin-bottom:3px}.o_qti_item_body .extendedTextInteraction{margin:15px 0}.o_qti_item_body .extendedTextInteraction textarea{resize:vertical !important;font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.o_qti_item_body .extendedTextInteraction pre{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.o_qti_item_body .extendedTextInteraction .o_qti_essay_last_save{padding:2px 2px;font-style:italic;font-size:90%;text-align:right}.extendedTextInteraction div.form-control.textarea_disabled{white-space:pre-wrap;height:auto;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;color:#555 !important}#o_qti_run_title{margin:0 15px 0.5em 15px}#o_qti_run_title h3{margin:15px 0 0 0}#o_qti_run_infos{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:10px 0;margin:0 15px 1em 15px}#o_qti_run_infos .progress{background-color:#eee}#o_qti_run_infos #o_qti_scoreinfo .progress-bar{background-color:#3b678a}.progress-striped #o_qti_run_infos #o_qti_scoreinfo .progress-bar{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}#o_qti_run_infos #o_qti_questioninfo .progress-bar{background-color:#3b678a}.progress-striped #o_qti_run_infos #o_qti_questioninfo .progress-bar{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}#o_qti_run_infos #o_qti_run_scoreinfo,#o_qti_run_infos #o_qti_run_scoreprogress{white-space:nowrap}#o_qti_results_infos{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:10px 0;margin:0 0 1em 0}#o_qti_results_infos .progress{background-color:#eee}#o_qti_results_infos #o_qti_run_scoreinfo,#o_qti_results_infos #o_qti_run_scoreprogress{white-space:nowrap}#o_qti_assessment_test_timer{border:1px solid #e7e7e7;border-radius:4px;padding:10px;margin:0 15px 1em 15px}#o_qti_assessment_test_timer.o_10_minutes{background-color:#fcf8e3}#o_qti_assessment_test_timer.o_5_minutes{background-color:#f2dede}#o_qti_assessment_test_timer.o_panic{background-color:#ce8383}#o_qti_assessment_test_timer .o_qti_times_up{padding-left:2em;font-weight:bold}#o_qti_assessment_test_timer .o_qti_times_message{padding-left:2em;font-weight:bold}.o_draw_circle.o_qti_hotspot_correct,.o_draw_rectangle.o_qti_hotspot_correct{background-color:rgba(229,255,204,0.6)}#width_range_ui,#opacity_range_ui{width:120px}.o_slider_width_range,.o_slider_opacity_range{margin:3px 10px 0 0}.o_qti_hotspot_label{padding-left:48%}.o_info.o_assessmentsection_rubrics{margin:0 0 0.5em 0;position:relative}.o_info.o_assessmentsection_rubrics.o_hide{display:none}.o_info.o_assessmentsection_rubrics.o_show{display:block}.o_info.o_assessmentsection_rubrics a.o_hide{position:absolute;bottom:0.5em;right:1em}.o_assessmentitem h1{margin-bottom:0}.o_assessmentitem div.badResponse,.o_assessmentitem span.badResponse{color:#d9534f;font-weight:bold}.o_assessmentitem input.badResponse{border:1px solid #d9534f}.o_assessmentitem .infoControl input{margin-right:0.5em}.o_assessmentitem .infoControl .infoControlContent{display:none}.o_assessmentitem .sliderInteraction{margin:1em}.o_assessmentitem .sliderInteraction .sliderVertical .sliderValue{margin:1em 0}.o_assessmentitem .sliderInteraction .sliderVertical .sliderWidget{height:200px}.o_assessmentitem .sliderInteraction .sliderHorizontal .sliderValue{text-align:center}.o_assessmentitem div.orderInteraction div.highlight{border:1px solid #d9534f}.o_assessmentitem div.orderInteraction div.box.vertical{width:50%;float:left;position:relative;padding:0;margin-top:5px}.o_assessmentitem div.orderInteraction div.box.vertical ul{min-height:200px}.o_assessmentitem div.orderInteraction div.box.horizontal ul{min-height:50px;width:100%}.o_assessmentitem div.orderInteraction div.box.source{padding:5px 10px;border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8}.o_assessmentitem div.orderInteraction div.box.source.horizontal{padding:5px 10px 15px 10px}.o_assessmentitem div.orderInteraction div.box.target ul{border:2px solid #5bc0de;border-radius:4px;background:#d9edf7}.o_assessmentitem div.orderInteraction div.box.target ul.oo-accepted{border-color:#1f7e9a}.o_assessmentitem div.orderInteraction div.box.target.vertical{padding:6px 0 0 10px}.o_assessmentitem div.orderInteraction div.box.target.vertical ul{padding:10px}.o_assessmentitem div.orderInteraction div.box.target.horizontal{padding-top:10px}.o_assessmentitem div.orderInteraction div.box.target.horizontal ul{padding:10px 10px 0 10px}.o_assessmentitem div.orderInteraction div.box.horizontal ul li{float:left;width:auto;margin-right:10px;min-width:50px}.o_assessmentitem div.orderInteraction div.box span.info{color:#666;font-style:italic;font-size:smaller}.o_assessmentitem div.orderInteraction ul{list-style-type:none;margin:0;padding:0}.o_assessmentitem .hottext{position:relative;margin:-2px 0.15em -2px 0.15em;white-space:nowrap}.o_assessmentitem .hottext input{margin:0 3px 0 2px;position:absolute;top:0.1em;left:0.05em}.o_assessmentitem .hottext input+label{display:inline;padding:0 0.1em 0 1.2em;background:#f8f8f8;border:1px solid #e7e7e7;border-radius:2px;color:#333;font-weight:normal;white-space:normal}.o_assessmentitem .hottext input:checked+label{color:#333;background:#d9edf7;border:1px solid #bce8f1}.o_assessmentitem .gap{font-weight:bold;border:1px dashed #000}.o_assessmentitem .textEntryInteraction input{margin:-1px 2px;line-height:90%;vertical-align:middle;font-size:13.72px;line-height:1.5;border:1px solid #999;background:#fff;padding:1px 1px;color:#333}.o_assessmentitem .textEntryInteraction input:valid,.o_assessmentitem .textEntryInteraction input:disabled{color:#333;-webkit-text-fill-color:#333;background:#d9edf7;border:1px solid #bce8f1}li.o_assessmentitem_order_item{padding:10px;margin-bottom:10px;border:2px dashed #999;border-radius:4px;background-color:#ffffff;background:#fcf8e3;list-style-type:none}li.o_assessmentitem_order_item:before,li.o_assessmentitem_order_item:after{content:" ";display:table}li.o_assessmentitem_order_item:after{clear:both}body>li.o_assessmentitem_order_item{display:block}.o_assessmentitem_wrapper .itemTitle{background:#f8f8f8;border:1px solid #e7e7e7;border-radius:4px 4px 0 0;margin-top:0;margin-bottom:0;padding:5px 10px;line-height:1.5em;position:relative}.o_assessmentitem_wrapper .itemTitle .o_qti_item_max_score{position:absolute;left:49%}.o_assessmentitem_wrapper .o_qti_item_body{min-height:200px;margin:0;padding:5px 10px;border-left:1px solid #e7e7e7;border-right:1px solid #e7e7e7;font-size:14px;line-height:1.8}.o_assessmentitem_wrapper .o_assessment_item_not_final.o_warning{margin:0}.o_assessmentitem_wrapper .modalFeedback h4:first-of-type,.o_assessmentitem_wrapper .modalFeedback .o_cal .fc-header-title h2:first-of-type,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback h2:first-of-type{padding-left:10px;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info.o_correct_modal_feedback{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info.o_incorrect_modal_feedback{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_info.o_empty_modal_feedback{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper{margin-bottom:0;margin-top:0}.o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper h4,.o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessmentitem_wrapper .modalFeedback .o_togglebox_wrapper h2{border-left:1px solid #e7e7e7;border-right:1px solid #e7e7e7;padding-bottom:5px;margin-bottom:0}.o_assessmentitem_wrapper ul.o_testpartnavigation,.o_qti_menu_buttonstyle ul.o_testpartnavigation{list-style:none;padding:0;margin:0}.o_assessmentitem_wrapper li.o_assessmentitem,.o_qti_menu_buttonstyle li.o_assessmentitem{margin-bottom:2px}.o_assessmentitem_wrapper .o_assessmentitem_status,.o_qti_menu_buttonstyle .o_assessmentitem_status{float:right;display:block;padding:0.3em;margin-left:1em;border-radius:0.3em;border-width:1px;font-size:0.8em;line-height:1.2em;color:#fff}.o_assessmentitem_wrapper .o_assessmentitem_status.ended,.o_qti_menu_buttonstyle .o_assessmentitem_status.ended{background-color:#5bc0de}.o_assessmentitem_wrapper .o_assessmentitem_status.invalid,.o_qti_menu_buttonstyle .o_assessmentitem_status.invalid{background-color:#d9534f}.o_assessmentitem_wrapper .o_assessmentitem_status.answered,.o_qti_menu_buttonstyle .o_assessmentitem_status.answered{background-color:#5cb85c}.o_assessmentitem_wrapper .o_assessmentitem_status.notAnswered,.o_qti_menu_buttonstyle .o_assessmentitem_status.notAnswered{background-color:#f0ad4e}.o_assessmentitem_wrapper .o_assessmentitem_status.notPresented,.o_qti_menu_buttonstyle .o_assessmentitem_status.notPresented{background-color:#ddd}.o_assessmentitem_wrapper .o_assessmentitem_status.review,.o_qti_menu_buttonstyle .o_assessmentitem_status.review{background-color:#5bc0de}.o_assessmentitem_wrapper .o_assessmentitem_status.reviewNotAllowed,.o_assessmentitem_wrapper .o_assessmentitem_status.reviewInvalid,.o_assessmentitem_wrapper .o_assessmentitem_status.reviewNotAnswered,.o_assessmentitem_wrapper .o_assessmentitem_status.reviewNotSeen,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewNotAllowed,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewInvalid,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewNotAnswered,.o_qti_menu_buttonstyle .o_assessmentitem_status.reviewNotSeen{background-color:#5bc0de;opacity:0.7}.o_assessmentitem_wrapper .o_assessmentitem_status i:before,.o_qti_menu_buttonstyle .o_assessmentitem_status i:before{color:#fff}.o_assessmentitem_controls{background:#f8f8f8;border:1px solid #e7e7e7;border-radius:0 0 4px 4px;margin-top:0;margin-bottom:16px;padding:5px 10px}.o_assessmentitem_controls button{margin-bottom:0}.o_assessmentitem_controls .o_sel_assessment_item_submit span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";padding-right:0.5em}.o_assessmentitem_controls .o_sel_next_question span:after{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï”";padding-left:0.5em}.o_assessmentitem_controls .o_sel_question_menu span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";padding-right:0.5em}.o_assessmentitem_controls .o_sel_end_testpart span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";padding-right:0.5em}.o_assessmentitem_controls .o_sel_back_test_feedback span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï“";padding-right:0.5em}.o_assessmentitem_controls .o_sel_show_solution span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï„©";padding-right:0.5em}.o_assessmentitem_controls .o_sel_solution_hide span:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"ï„©";padding-right:0.5em}.o_assessmentitem_control_view_solution{background:#f8f8f8;border:1px solid #e7e7e7;margin:0;padding:5px 10px}.o_assessmentitem_scoring{background:#f8f8f8;border:1px solid #e7e7e7;border-bottom:0;border-radius:4px 4px 0 0;margin-top:0;margin-bottom:0;padding:5px 10px}.o_assessmentitem_scoring_buttons{background:#f8f8f8;border:1px solid #e7e7e7;border-top:0;border-radius:0 0 4px 4px;margin-top:0;margin-bottom:16px;padding:5px 10px}.o_assessmentitem_scoring_override_window{width:300px}.itemPrompt{margin:1.5em 0;font-style:italic;color:#666666}.o_qti_item_body{margin:1em 0}.o_sel_assessment_item_hint{margin-top:1em}.o_assessment_test_results .o_sel_assessment_item_hint{display:none}tr.choiceinteraction td.control{padding:0.5em}tr.choiceinteraction td.choiceInteraction{padding:0.5em}.choiceInteraction label{font-weight:normal}.choiceInteraction div.o_qti_item_choice_option_flow{display:inline-block;padding:.5em;border:1px solid transparent}.choiceInteraction div.o_qti_item_choice_option_flow label span{font-weight:normal}.choiceInteraction div.o_qti_item_choice_option_flow label span>p{display:inline-block}.choiceInteraction.choiceright table tr td.choiceInteraction{background-color:#e7e7e7;border-bottom:3px solid white}.matchInteraction.choiceright table tr td.o_qti_item_kprim_text{background-color:#e7e7e7;border-bottom:3px solid white}.matchInteraction input[type='text']{display:inline;width:auto}.matchInteraction div.bar_green{background-color:#5cb85c}.matchInteraction div.bar_red{background-color:#d9534f}.source-left,.target-left,.source-right,.target-right{width:50%;float:left;position:relative;padding:0;margin-top:5px}.o_match_dnd_sources{padding:10px 10px 0 10px;min-height:60px;border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8}.o_match_dnd_sources.oo-accepted{border-color:#1f7e9a}.o_match_dnd_source{padding:10px;margin-bottom:10px;border:2px dashed #999;border-radius:4px;background-color:#ffffff;background:#fcf8e3;cursor:move;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.o_match_dnd_source:before,.o_match_dnd_source:after{content:" ";display:table}.o_match_dnd_source:after{clear:both}.o_match_dnd_source.oo-selected{border:2px dashed #f0ad4e;background:#fae3c4}.o_match_dnd_source.oo-drag{border:2px dashed #f0ad4e !important}.source-bottom .o_match_dnd_source,.source-top .o_match_dnd_source{margin:0 0 10px 0}.o_match_dnd_targets .oo-accepted{border:2px solid #1f7e9a;border-radius:4px}.o_match_dnd_target{padding:10px 10px 0 10px;margin:0 0 10px 10px;border:2px solid #5bc0de;border-radius:4px;background:#d9edf7}.o_match_dnd_target:before,.o_match_dnd_target:after{content:" ";display:table}.o_match_dnd_target:after{clear:both}.o_match_dnd_target .o_match_dnd_target_drop_zone{margin:0;padding:5px 0 0 15px;min-height:30px}.o_match_dnd_target .o_match_dnd_target_drop_zone .o_match_dnd_source{border:2px dashed #777}.target-bottom .o_match_dnd_target,.target-top .o_match_dnd_target{margin:0 0 10px 0}.target-bottom .o_match_dnd_target .o_match_dnd_target_drop_zone,.target-top .o_match_dnd_target .o_match_dnd_target_drop_zone{padding-left:0px}.target-bottom .o_match_dnd_target .o_match_dnd_target_drop_zone .o_match_dnd_source,.target-top .o_match_dnd_target .o_match_dnd_target_drop_zone .o_match_dnd_source{padding-left:15px}.table.o_match_true_false_edit th.o_sel_match_target_0,.table.o_match_true_false_edit th.o_sel_match_target_1,.table.o_match_true_false_edit th.o_sel_match_target_2{width:12%}.match_true_false input[type="checkbox"]{-webkit-appearance:radio;-moz-appearance:radio;-ms-appearance:radio;appearance:radio}.match_true_false .table>tbody>tr>td.o_match_true_false_unanswered,.match_true_false .table>tbody>tr>td.o_match_true_false_right,.match_true_false .table>tbody>tr>td.o_match_true_false_wrong{vertical-align:middle;width:11%}.match_true_false th.o_match_true_false_unanswered,.match_true_false th.o_match_true_false_right,.match_true_false th.o_match_true_false_wrong{width:11%}.match_true_false td.o_match_true_false_answer,.match_true_false th.o_match_true_false_answer{width:67%}.match_true_false td.o_match_true_false_unanswered{background-color:#fbfbfb}.match_true_false td.o_match_true_false_right{background-color:#eaf6ea}.match_true_false td.o_match_true_false_wrong{background-color:#fdf7f7}.o_assessmentitem .mathEntryInteraction{border:1px solid #ddedfc;background-color:#edf1f6;background:linear-gradient(to top, #edf1f6 0%, #f6f9fb 100%);border-radius:0.4em;padding:1em;margin:0.5em 0}.o_assessmentitem .mathEntryInteraction .inputPanel{line-height:1em;text-align:left}.o_assessmentitem .mathEntryInteraction .inputPanel input{margin:0;padding:0}.o_assessmentitem .mathEntryInteraction .previewPanel{text-align:center}.o_assessmentitem .mathEntryInteraction.horizontal{min-height:5em;width:40em}.o_assessmentitem .mathEntryInteraction.horizontal .inputPanel{width:45%;float:left;margin:2em 0}.o_assessmentitem .mathEntryInteraction.horizontal .previewPanel{width:50%;margin-left:40%}.o_assessmentitem .mathEntryInteraction.vertical{min-height:6em}.o_assessmentitem .mathEntryInteraction.vertical .inputPanel{padding:0 5em}.o_assessmentitem .mathEntryInteraction.vertical .inputPanel:before{content:'Input Maths: '}.o_assessmentitem .mathEntryInteraction.vertical .previewPanel{margin-top:2em;min-height:4em}.o_assessmentitem div.upConversionAjaxControlMessage{width:auto;text-align:center;display:inline;padding:0.5em 0 0.5em 20px}.o_assessmentitem div.success{background:#5cb85c}.o_assessmentitem div.failure{background-color:#f0ad4e}.o_assessmentitem div.error{background-color:#d9534f}.o_assessmentitem div.upConversionAjaxControlPreview{margin:0.5em 0;font-size:110%}.o_assessmentitem table.inputHelp{border-collapse:collapse;width:100%;font-size:90%}.o_assessmentitem table.inputHelp th{border:1px solid #999999;padding:0.2em 0.5em;background-color:#cad8e5}.o_assessmentitem table.inputHelp td{color:#999999;border:1px solid #999999;padding:0.2em 0.5em}.o_assessmentitem table.inputHelp kbd{color:black;font-size:100%;line-height:100%}.o_assessmentitem table.inputHelp .longComma{margin-right:0.5em}.o_togglebox_wrapper #modal-correct-solution div.o_togglebox_content{background-color:#fcf8e3;border-color:#8a6d3b}.o_candidatecomment{padding:0;margin:2em 0 1em 0;border:none}.o_candidatecomment legend{font-size:110%;font-weight:bold;color:#777;margin-bottom:0;border-bottom:0}.o_candidatecomment div.o_item_container_help{margin:0;padding:0}.o_candidatecomment textarea{display:block;color:#777}.o_qti_menu_menustyle ul.o_testpartnavigation{list-style:none;padding:0;margin:0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:0 1em 0.5em 1em;margin:0 0 0.5em 0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection header{margin:0 0 1em 0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection header div.rubric{font-style:italic}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentsection ul.o_testpartnavigation_inner{list-style:none;padding:0;margin:0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem{padding:0.1em 0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem a{color:#777}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem a:hover,.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem a:focus{color:#333}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem.active a{color:#3b678a;font-weight:bold}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem.active a:hover,.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem.active a:focus{color:#243f54;background-color:#eee}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem span{vertical-align:middle}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_status{display:inline;position:relative;left:-0.3em;background:transparent;border:0}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_status span{display:none}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_attempts{float:right;display:block;padding:0.3em;border-radius:2px;background-color:#fafafa;color:#777;font-size:0.7em}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_attempts.o_assessmentitem_attempts_limited{color:#f0ad4e}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_attempts.o_assessmentitem_attempts_nomore{color:#5bc0de}.o_qti_menu_menustyle ul.o_testpartnavigation li.o_assessmentitem .o_assessmentitem_marks{float:right;display:inline-block;font-size:0.8em;position:relative;top:0.3em;right:-0.5em}.o_qti_menu_menustyle ul.o_testpartnavigation .o_assessmentitem .questionTitle{margin-right:1em}.testFeedback h1:first-of-type{margin-top:0}ul.testPartDrilldown{list-style:none;padding:0;margin:0}ul.testPartDrilldown li.o_assessmentsection{border:1px solid #e7e7e7;border-radius:4px;background:#f8f8f8;padding:0 1em 0.5em 1em}ul.testPartDrilldown li.o_assessmentsection header{margin:0 0 1em 0}ul.testPartDrilldown li.o_assessmentsection header div.rubric{font-style:italic}ul.testPartDrilldown li.o_assessmentsection ul.testPartDrilldownInner{list-style:none;padding:0;margin:0}ul.testPartDrilldown li.currentItem{border:1px solid #e7e7e7;border-radius:0.5em;padding:0 1em;margin-top:1em}.testItemControl{margin-top:0.5em}.o_qti_statistics_answer{background:#F5F5F5;padding:1px 2px;width:90%}.o_qti_statistics_answer p{display:inline-block}.o_assessment_test_results .o_qti_assessment_title{border-bottom:1px solid #ddd}.o_assessment_test_results table th{width:40%}.o_assessment_test_results .o_qti_sectionsummary .o_qti_section{text-align:center}.o_assessment_test_results .o_qti_sectionsummary .o_qti_section .o_qti_section_sublisting{padding:0 10%;min-height:3em}.o_assessment_test_results .o_qti_sections .o_qti_section{margin-top:40px}.o_assessment_test_results .o_qti_sections .o_qti_section h3{margin-bottom:20px}.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_id{display:none}.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment{margin:0;padding:5px 10px 10px 5px;border-top:1px solid #ddd;broder-bottom:1px solid #ddd}.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h4,.o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_assessment_test_results .o_qti_sections .o_qti_section .o_qti_items .o_qti_item .o_qti_item_comment h2{font-size:100%;font-weight:bold;color:inherit}.o_assessment_test_results .o_qti_to_overview{text-align:right}.o_sel_assessment_item_feedbacks{min-height:250px}.o_alternative_question_types h4 select,.o_alternative_question_types .o_cal .fc-header-title h2 select,.o_cal .fc-header-title .o_alternative_question_types h2 select{display:inline-block;width:auto}#o_dev_tool #o_dev_tool_mode{width:1em;height:1em;float:left;border:1px solid #000;margin-right:5px}a.o_dev{position:absolute;left:0;top:0;z-index:4000;background:#f0ad4e;border:1px solid #d59645;border-top:none;border-left:none;border-radius:0 0 4px 0;color:#fff}a.o_dev:hover{color:#d9534f}.o_dev_w{margin:1px}.o_dev_w .o_dev_h{color:#000;font-size:8px;line-height:10px;margin:0}.o_dev_w .o_dev_h span{background:#f4c37d;border:1px solid #f0ad4e;border-bottom:0}.o_dev_w .o_dev_c{position:relative;border:1px dotted #eee}.o_dev_w .o_dev_c .o_dev_i{position:absolute;top:0px;left:24px;height:auto;width:auto;padding:5px;border:1px solid black;display:none;margin:0px;z-index:999;font-size:11px;background-color:#BBF}.o_dev_w.o_dev_m>.o_dev_c{border:1px solid #f0ad4e;margin:0px;background-color:#f8e9d4}.o_wikimod_nav .o_noti{margin:0}.o_wikimod_editform_wrapper{margin-top:30px}.o_wiki-file-deleted{text-decoration:line-through}div.o_wiki_wrapper a.wikiimg{text-decoration:none;color:inherit;font-weight:inherit}div.o_wiki_wrapper div.imgcaption{padding:0.3em 0em 0.2em 0.3em}div.o_wiki_wrapper div.imgleft{clear:left;float:left;margin:0.3em 0.3em 0.3em 0em}div.o_wiki_wrapper div.imgright{clear:right;float:right;margin:0.3em 0em 0.3em 0.3em}div.o_wiki_wrapper div.imgcenter{clear:both;overflow:hidden;text-align:center;margin:0.3em 0em 0.3em 0em}div.o_wiki_wrapper div.imgthumb{border:1px solid #bbbbbb;padding:0.3em}div.o_wiki_wrapper table.gallery{border:1px solid #ccc;margin:2px;padding:2px;background-color:white}div.o_wiki_wrapper table.gallery tr{vertical-align:middle}div.o_wiki_wrapper table.gallery td{background-color:#f9f9f9;border:solid 2px white;text-align:center;vertical-align:middle;width:150px}div.o_wiki_wrapper img.gallery{border:1px solid #bbbbbb;padding:0.3em}div.o_wiki_wrapper a.edit{font-style:italic;color:red}div.o_wiki_wrapper a.externallink:before{padding-right:2px}div.o_wiki_wrapper a.externallink:before:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:0.5em;content:"ï‚Ž"}.o_ep_icon_map:before{content:""}.o_ep_icon_collection:before{content:""}.o_ep_icon_page:before{content:""}.o_ep_icon_struct:before{content:""}.o_ep_icon_liveblog:before{content:"ï‚¡"}.o_artefact_closed:before{content:""}.o_portfolio_toc .o_ep_link{float:right;margin-right:0px}.o_portfolio_toc .o_ep_commentlink{float:right;margin-right:10%}.o_portfolio_toc li.level1{font-size:1.2em;margin:1.2em 0 0.2em 0;border-bottom:1px solid #ddd}.o_portfolio_toc li.level2{padding-left:20px;font-size:1.1em;border-bottom:1px dotted #ddd}.o_portfolio_toc li.level3{padding-left:40px}.o_eportfolio_page .o_eportfolio_structure>h5{border-bottom:1px solid #ddd;margin-top:1.2em}.o_eportfolio_maps .panel{font-family:'Century Gothic', 'Apple Gothic', sans-serif;box-shadow:3px 3px 4px rgba(20,20,20,0.4)}.o_eportfolio_maps .panel-heading{padding:5px 10px}.o_eportfolio_maps h4,.o_eportfolio_maps .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps h2{padding:11px 15px;background:rgba(255,255,230,0.7) none;border-radius:6px}.o_eportfolio_maps .table>tbody>tr>td{border-top:none}.o_eportfolio_maps .panel-body{border-top:none}.o_eportfolio_maps .panel>.panel-body+.table{border-top:none}.panel-footer .o_ep_options{display:inline-block}.o_eportfolio_map{padding:0 20px 2px 3px;border-radius:6px 10px 6px 0;font-family:'Century Gothic', 'Apple Gothic', sans-serif}.o_map_header{padding-left:5px}.o_eportfolio_map ul.nav-tabs li:not(.active) a{background-color:rgba(240,240,240,0.7);border-radius:4px 4px 0 0}.o_eportfolio_edit{border-radius:4px 4px 0 0}.o_ep_actualpage,.o_eportfolio_edit{padding:15px;background-color:#fff}.o_ep_content{margin-top:15px}.o_ep_filter .o_date.form-inline .form-group,.o_ep_filter .o_date.o_navbar-form .form-group{margin-left:8px}.o_eportfolio_share_policy_wrapper{border:1px solid #ddd;border-radius:4px}.o_eportfolio_share_header{padding:10px 15px;border-bottom:1px solid #ddd;background-color:#f5f5f5}.o_eportfolio_share_policy{padding:10px 15px}.o_map-default{background:#fafafa;background:#fafafa -webkit-gradient(linear, 37% 20%, 53% 100%, from(#fafafa), to(#efefef));background:#fafafa -moz-linear-gradient(43% 71% 101deg, #efefef, #fafafa);background:#fafafa -o-linear-gradient(#fafafa, #efefef);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#fafafa', EndColorStr='#efefef');border:1px solid #efefef;border-left:3px solid rgba(188,188,188,0.8)}.o_eportfolio_maps .o_map-default h4,.o_eportfolio_maps .o_map-default .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-default h2{color:#444;background:none}.o_eportfolio_maps .o_map-default .panel-body,.o_eportfolio_maps .o_map-default td,.o_eportfolio_maps .o_map-default a{color:#000}.o_map-comic{background:#a2c3e8 none;font-family:'Comic Sans MS', 'Comic Sans', fantasy;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_map-leather{background-color:#957352;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(248,248,248,0.7)), color-stop(100%, rgba(193,193,193,0.5))),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-webkit-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-moz-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-ms-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:-o-linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");background-image:linear-gradient(top, rgba(248,248,248,0.7), rgba(193,193,193,0.5)),url("../light/images/portfolio/white-leather-tile.jpg");font-family:Palatino, Georgia, serif;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-leather h4,.o_eportfolio_maps .o_map-leather .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-leather h2{background:rgba(243,230,225,0.3) none}.o_eportfolio_maps .o_map-leather .panel-body,.o_eportfolio_maps .o_map-leather td{color:#333}.o_eportfolio_maps .o_map-leather a{color:#fad9a4}.o_eportfolio_map.o_map-leather .o_map_header h4,.o_eportfolio_map.o_map-leather .o_map_header .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_map.o_map-leather .o_map_header h2,.o_eportfolio_map.o_map-leather .o_map_header p,.o_eportfolio_map.o_map-leather .o_map_header a,.o_eportfolio_map.o_map-leather .o_map_header span,.o_eportfolio_map.o_map-leather .o_map_header label{color:#333}.o_map-epmst-green{background-color:#ECF69A;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-green h4,.o_eportfolio_maps .o_map-epmst-green .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green h2{color:#444}.o_eportfolio_maps .o_map-epmst-green .panel-body,.o_eportfolio_maps .o_map-epmst-green td,.o_eportfolio_maps .o_map-epmst-green a{color:#000}.o_map-epmst-green2{background:#99E44D;background:#99E44D -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99E44D), to(#CBF1A5));background:#99E44D -moz-linear-gradient(43% 71% 101deg, #CBF1A5, #99E44D);background:#99E44D -o-linear-gradient(#99E44D, #CBF1A5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99E44D', EndColorStr='#CBF1A5');border:1px solid #bbb;border-left:3px solid rgba(136,136,136,0.8)}.o_eportfolio_maps .o_map-epmst-green2 h4,.o_eportfolio_maps .o_map-epmst-green2 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green2 h2{color:#555}.o_eportfolio_maps .o_map-epmst-green2 .panel-body,.o_eportfolio_maps .o_map-epmst-green2 td,.o_eportfolio_maps .o_map-epmst-green2 a{color:#000}.o_map-epmst-green3{background:#DFF0C1;background:#DFF0C1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#DFF0C1), to(#A0D346));background:#DFF0C1 -moz-linear-gradient(43% 71% 101deg, #A0D346, #DFF0C1);background:#DFF0C1 -o-linear-gradient(#DFF0C1, #A0D346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#DFF0C1', EndColorStr='#A0D346');border:1px solid #bbb;border-left:3px solid rgba(136,136,136,0.8)}.o_eportfolio_maps .o_map-epmst-green3 h4,.o_eportfolio_maps .o_map-epmst-green3 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green3 h2{color:#555}.o_eportfolio_maps .o_map-epmst-green3 .panel-body,.o_eportfolio_maps .o_map-epmst-green3 td,.o_eportfolio_maps .o_map-epmst-green3 a{color:#000}.o_map-epmst-green4{background-color:#D7DBB5;border:1px solid #bbb;border-left:3px solid rgba(136,136,136,0.8)}.o_eportfolio_maps .o_map-epmst-green4 h4,.o_eportfolio_maps .o_map-epmst-green4 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-green4 h2{color:#555}.o_eportfolio_maps .o_map-epmst-green4 .panel-body,.o_eportfolio_maps .o_map-epmst-green4 td,.o_eportfolio_maps .o_map-epmst-green4 a{color:#000}.o_map-epmst-red{background:#FFBA71;background:#FFBA71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#FFBA71), to(#FFBA99));background:#FFBA71 -moz-linear-gradient(43% 71% 101deg, #FFBA99, #FFBA71);background:#FFBA71 -o-linear-gradient(#FFBA71, #FFBA99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFBA71', EndColorStr='#FFBA99');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red h4,.o_eportfolio_maps .o_map-epmst-red .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red h2{color:#444}.o_eportfolio_maps .o_map-epmst-red .panel-body,.o_eportfolio_maps .o_map-epmst-red td,.o_eportfolio_maps .o_map-epmst-red a{color:#000}.o_map-epmst-red2{background:#FF9772;background:#FF9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#FF9772), to(#FF9780));background:#FF9772 -moz-linear-gradient(43% 71% 101deg, #FF9780, #FF9772);background:#FF9772 -o-linear-gradient(#FF9772, #FF9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#FF9772', EndColorStr='#FF9780');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red2 h4,.o_eportfolio_maps .o_map-epmst-red2 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red2 h2{color:#444}.o_eportfolio_maps .o_map-epmst-red2 .panel-body,.o_eportfolio_maps .o_map-epmst-red2 td,.o_eportfolio_maps .o_map-epmst-red2 a{color:#000}.o_map-epmst-red3{background:#E8AFBB;background:#E8AFBB -webkit-gradient(linear, 37% 20%, 53% 100%, from(#E8AFBB), to(#E8AFA0));background:#E8AFBB -moz-linear-gradient(43% 71% 101deg, #E8AFA0, #E8AFBB);background:#E8AFBB -o-linear-gradient(#E8AFBB, #E8AFA0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#E8AFBB', EndColorStr='#E8AFA0');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red3 h4,.o_eportfolio_maps .o_map-epmst-red3 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red3 h2{color:#444}.o_eportfolio_maps .o_map-epmst-red3 .panel-body,.o_eportfolio_maps .o_map-epmst-red3 td,.o_eportfolio_maps .o_map-epmst-red3 a{color:#000}.o_map-epmst-red4{background:#FFA800;background:#FFA800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#FFA800), to(#FFAF00));background:#FFA800 -moz-linear-gradient(43% 71% 101deg, #FFAF00, #FFA800);background:#FFA800 -o-linear-gradient(#FFA800, #FFAF00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFA800', EndColorStr='#FFAF00');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-red4 h4,.o_eportfolio_maps .o_map-epmst-red4 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-red4 h2{color:#444}.o_eportfolio_maps .o_map-epmst-red4 .panel-body,.o_eportfolio_maps .o_map-epmst-red4 td,.o_eportfolio_maps .o_map-epmst-red4 a{color:#000}.o_map-epmst-blue{background:#00D2F8;background:#00D2F8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00D2F8), to(#4A9EAD));background:#00D2F8 -moz-linear-gradient(43% 71% 101deg, #4A9EAD, #00D2F8);background:#00D2F8 -o-linear-gradient(#00D2F8, #4A9EAD);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00D2F8', EndColorStr='#4A9EAD');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue h4,.o_eportfolio_maps .o_map-epmst-blue .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue .panel-body,.o_eportfolio_maps .o_map-epmst-blue td,.o_eportfolio_maps .o_map-epmst-blue a{color:#000}.o_map-epmst-blue2{background-color:#C4F6FF;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue2 h4,.o_eportfolio_maps .o_map-epmst-blue2 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue2 h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue2 .panel-body,.o_eportfolio_maps .o_map-epmst-blue2 td,.o_eportfolio_maps .o_map-epmst-blue2 a{color:#000}.o_map-epmst-blue3{background-color:#B3E2F7;border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue3{box-shadow:3px 3px 4px rgba(20,20,20,0.4)}.o_eportfolio_maps .o_map-epmst-blue3 h4,.o_eportfolio_maps .o_map-epmst-blue3 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue3 h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue3 .panel-body,.o_eportfolio_maps .o_map-epmst-blue3 td,.o_eportfolio_maps .o_map-epmst-blue3 a{color:#000}.o_map-epmst-blue4{background:#DEE7F7;background:#DEE7F7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#DEE7F7), to(#C1E9FD));background:#DEE7F7 -moz-linear-gradient(43% 71% 101deg, #C1E9FD, #DEE7F7);background:#DEE7F7 -o-linear-gradient(#DEE7F7, #C1E9FD);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#DEE7F7', EndColorStr='#C1E9FD');border:1px solid #888;border-left:3px solid rgba(85,85,85,0.8)}.o_eportfolio_maps .o_map-epmst-blue4 h4,.o_eportfolio_maps .o_map-epmst-blue4 .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_eportfolio_maps .o_map-epmst-blue4 h2{color:#444}.o_eportfolio_maps .o_map-epmst-blue4 .panel-body,.o_eportfolio_maps .o_map-epmst-blue4 td,.o_eportfolio_maps .o_map-epmst-blue4 a{color:#000}.o_portfolio div#o_main_toolbar.o_toolbar{margin-top:0px}.o_section_lead,.o_page_lead,.o_assignment_lead{padding:10px 10px;margin-bottom:10px;background-color:#f2f2f2;border-radius:3px;border:1px #d9d9d9 solid}.o_section_ended .o_section_lead{border-color:#eba5a3;background-color:#f4cecd}.o_media.o_media_right,.o_media.o_media_right_large{float:right;margin-left:2em;margin-bottom:2em}.o_media.o_media_left,.o_media.o_media_left_large{float:left;margin-right:2em;margin-bottom:2em}.o_media.o_media_left,.o_media.o_media_right{max-height:200px;max-width:50%}.o_media.o_media_left img,.o_media.o_media_right img{max-height:200px}.o_media.o_media_right_large,.o_media.o_media_left_large{max-height:300px;max-width:75%}.o_media.o_media_right_large img,.o_media.o_media_left_large img{max-height:300px}.o_media img{border-radius:3px;border:1px #d9d9d9 solid;background:#fff;height:auto;width:auto}@media (max-width: 767px){.o_page_lead .o_media.o_media_right,.o_page_lead .o_media.o_media_right_large{margin-left:1em;margin-bottom:1em}.o_page_lead .o_media.o_media_left,.o_page_lead .o_media.o_media_left_large{margin-right:1em;margin-bottom:1em}.o_page_lead .o_media.o_media_left,.o_page_lead .o_media.o_media_right{max-height:120px;max-width:30%}.o_page_lead .o_media.o_media_left img,.o_page_lead .o_media.o_media_right img{max-height:120px}.o_page_lead .o_media.o_media_right_large,.o_page_lead .o_media.o_media_left_large{max-height:180px;max-width:50%}.o_page_lead .o_media.o_media_right_large img,.o_page_lead .o_media.o_media_left_large img{max-height:180px}}.o_portfolio_page .o_block_imagebg{border:1px #d9d9d9 solid}.o_page_lead{padding:20px}.o_page_lead h2{margin-bottom:5px}.o_page_lead .o_portfolio_page_meta{margin-bottom:5px}.o_page_lead .o_page_summary{font-size:18px}.o_page_lead .o_media.o_desc_empty{max-height:300px;text-align:center}.o_page_lead .o_media.o_desc_empty img{max-height:300px}.o_page_lead .o_portfolio_status_block{border-top:1px solid #d9d9d9;padding-top:1em;margin-bottom:-1em}.o_page_lead .o_portfolio_status{display:inline-block;padding-right:2em}.o_page_lead.o_block_imagebg .o_portfolio_status{padding:2px;background-color:rgba(255,255,255,0.8)}.o_portfolio_status_block p.o_section_ended{font-size:120%}.o_page_assignment{font-size:12px}.o_page_assignment.o_togglebox_wrapper div.o_togglebox_content{margin:10px 0 20px 0;padding:20px;border-left:3px solid #d9534f;background-color:#f2dede}.o_page_assignment .o_page_assignement_info{position:relative;left:-1em}.o_page_export .o_page_assignment .o_opener,.o_binder_export .o_page_assignment .o_opener{visibility:hidden}.o_page_export .o_page_assignment .o_closer,.o_binder_export .o_page_assignment .o_closer{display:none}.o_portfolio_listing.o_rendertype_custom .o_table_body.container-fluid{padding-right:0px;padding-left:0px}.o_portfolio_listing.o_rendertype_custom .o_portfolio_entry{position:relative;display:inline-block;height:230px;width:400px;vertical-align:top;margin-right:10px}.o_portfolio_listing.o_rendertype_custom .o_portfolio_entry ul{padding-left:2em}.o_portfolio_listing.o_rendertype_custom .panel-imagebg .panel-body ul{margin:0;padding:0;list-style-type:none}.o_portfolio_listing.o_rendertype_custom .panel-imagebg .panel-body ul li{padding:2px}.o_binder.o_portfolio_assignments .panel-heading,.o_binder.o_portfolio_assignments .panel-body{border-left:3px solid #d9534f}.panel-default.o_portfolio_assignments .panel-heading,.panel-default.o_portfolio_assignments .panel-body{border-left:3px solid #d9534f}.o_portfolio_page .o_portfolio_assignments .o_portfolio_page_body{border-left:3px solid #d9534f}.o_portfolio_page .o_portfolio_assignments .o_portfolio_page_body .o_portfolio_page_meta_wrapper,.o_portfolio_page .o_portfolio_assignments .o_portfolio_page_body .o_portfolio_page_summary{padding-left:10px}.o_portfolio_page_summary .o_media.o_media_right,.o_portfolio_page_summary .o_media.o_media_right_large{margin-left:1em;margin-bottom:1em}.o_portfolio_page_summary .o_media.o_media_left,.o_portfolio_page_summary .o_media.o_media_left_large{margin-right:1em;margin-bottom:1em}.o_portfolio_page_summary .o_media.o_media_left,.o_portfolio_page_summary .o_media.o_media_right{max-height:150px}.o_portfolio_page_summary .o_media.o_media_left img,.o_portfolio_page_summary .o_media.o_media_right img{max-height:150px}.o_portfolio_page_summary .o_media.o_media_right_large,.o_portfolio_page_summary .o_media.o_media_left_large{max-height:230px}.o_portfolio_page_summary .o_media.o_media_right_large img,.o_portfolio_page_summary .o_media.o_media_left_large img{max-height:230px}.o_portfolio_categories .tag{font-size:80%;font-weight:normal}.o_portfolio_categories div,.o_portfolio_categories form{display:inline-block}.o_portfolio_categories_edit .bootstrap-tagsinput{margin-bottom:0;padding:0px 4px}.o_portfolio_last_modified+.o_portfolio_categories,.o_portfolio_page_meta+.o_portfolio_categories{margin-left:1em}.o_rendertype_classic .o_pf_page,.o_rendertype_classic .o_pf_assignment{padding-left:1em}.o_portfolio_timeline .o_timeline_up{text-align:center}.o_portfolio_timeline .o_timeline_down{text-align:center}.o_portfolio_timeline .axis path,.o_portfolio_timeline .axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.o_portfolio_timeline .x.axis line,.o_portfolio_timeline .x.axis path{display:none}.o_portfolio_timeline path.o_timeline_curve{fill:none;stroke:#ccc;shape-rendering:crispEdges}.o_portfolio_timeline .y.axis .tick line,.o_portfolio_timeline .y.axis path.domain{stroke:#ddd}.o_portfolio_timeline text{fill:#888;stroke:none;font-size:10px}.o_portfolio_timeline .dot.o_pf_status_draft{fill:#f0ad4e}.o_portfolio_timeline .dot.o_pf_status_published{fill:#3b678a}.o_portfolio_timeline .dot.o_pf_status_inrevision{fill:#d9534f}.o_portfolio_timeline .dot.o_pf_status_closed{fill:#5cb85c}.o_portfolio_timeline .dot.o_pf_status_deleted{fill:#000}.o_pf_comments{margin-top:3em}.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file{background-color:#f8f8f8;padding:10px;border-radius:10px}.o_pf_content .o_forum{border:1px #f8f8f8 solid;padding:10px;border-radius:10px}.o_pf_content .o_image,.o_pf_content .o_video{padding:10px;width:100%}.o_pf_content .o_image img,.o_pf_content .o_video img{border:1px #f8f8f8 solid;border-radius:10px}.o_pf_content .o_image .o_artefact_metadata,.o_pf_content .o_video .o_artefact_metadata{text-align:left}.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_forum,.o_pf_content .o_wiki{background-color:#f8f8f8;padding:10px;border-radius:10px}.o_pf_content .o_efficiencystatement h3,.o_pf_content .o_efficiencystatement .h3,.o_pf_content .o_feed h3,.o_pf_content .o_feed .h3,.o_pf_content .o_forum h3,.o_pf_content .o_forum .h3,.o_pf_content .o_wiki h3,.o_pf_content .o_wiki .h3{font-size:14px}.o_pf_content .o_efficiencystatement .row,.o_pf_content .o_feed .row,.o_pf_content .o_forum .row,.o_pf_content .o_wiki .row{margin:0}.o_pf_content .o_efficiencystatement .o_block_with_datecomp,.o_pf_content .o_feed .o_block_with_datecomp,.o_pf_content .o_forum .o_block_with_datecomp,.o_pf_content .o_wiki .o_block_with_datecomp{margin-top:0.5em;margin-bottom:0}.o_pf_video_placeholder{background-color:#f8f8f8;border:1px solid #f8f8f8;border-radius:10px;display:table;min-width:400px;text-align:center;padding:40px 10px}.o_pf_video_placeholder i{display:table-cell;vertical-align:middle}.o_pf_content_editor .o_toolbar{border:none}.o_pf_content_editor .o_page_part{border:2px solid transparent}.o_pf_content_editor .o_page_part:hover{border:2px dotted #6b9ac0}.o_pf_content_editor .o_page_fragment_edit{position:relative}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above{height:25px;width:100%;background:#6b9ac0;position:absolute;z-index:3;left:0;top:-25px;box-shadow:3px -8px 10px 0px rgba(0,0,0,0.2)}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_add_above{position:absolute;left:0;top:-25px;height:25px;border-left:2px dashed #6b9ac0;border-top:2px dashed #6b9ac0;border-right:2px dashed #6b9ac0;border-radius:10px 10px 0 0;box-shadow:0 -5px 10px 0px rgba(0,0,0,0.2);background:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_sel_add_element_above{display:inline-block;padding:5px 5px 0 5px}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above{padding-right:25px;line-height:25px;vertical-align:middle}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above .o_page_type{display:none}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above a{float:right;color:#fff;padding-right:1em}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_above .o_page_others_above a:hover{color:#e6e6e6}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd{position:absolute;z-index:4;top:0;right:0;width:25px;height:100%;background:#6b9ac0}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a{position:absolute;display:inline-block;width:25px;height:25px;line-height:25px;text-align:center;vertical-align:middle;color:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a:hover{color:#e6e6e6}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_disabled{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_disabled:hover{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_sel_move_up_element{z-index:4;top:-25px}.o_pf_content_editor .o_page_fragment_edit .o_page_tools_dd a.o_sel_move_down_element{bottom:0}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit{padding-right:25px;border:2px solid #6b9ac0;box-shadow:5px 5px 10px 0px rgba(0,0,0,0.2)}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit:hover{border:2px solid #6b9ac0}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar{position:absolute;z-index:5;left:5px;top:-25px;display:inline-block;height:25px;line-height:25px;vertical-align:middle}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a{color:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a:hover{color:#e6e6e6}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a.o_disabled{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_toolbar a.o_disabled:hover{color:rgba(255,255,255,0.5) !important}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_page_edit_title .o_page_edit_toolbar li{font-weight:bold}.o_pf_content_editor .o_page_fragment_edit .o_page_part.o_page_edit .o_richtext_mce textarea{border:0}.o_pf_content_editor .o_page_fragment_edit .o_page_add_below{position:absolute;z-index:3;left:0;bottom:-25px;height:25px;border-left:2px dashed #6b9ac0;border-bottom:2px dashed #6b9ac0;border-right:2px dashed #6b9ac0;border-radius:0 0 10px 10px;box-shadow:3px 8px 10px 0px rgba(0,0,0,0.2);background:#fff}.o_pf_content_editor .o_page_fragment_edit .o_page_add_below .o_sel_add_element_below{display:inline-block;padding:0 5px 5px 5px}.o_pf_content_editor .o_pf_add_contents{margin-top:30px}.o_portfolio_add_callout a span{display:none}.o_portfolio_add_callout ul.list-inline{margin-bottom:0}.o_portfolio_image_options{clear:both;width:300px;padding:5px}.o_binder_page_listing .o_portfolio_page_links{background-color:#f8f8f8;border-radius:4px}.o_binder_page_listing .o_portfolio_page_links .o_portfolio_comment{float:right}.o_portfolio_toc{padding-bottom:6em}.o_portfolio_toc .o_portfolio_section_meta{font-size:80%;color:#777;position:relative;top:-15px}.o_portfolio_toc .o_section{position:relative}.o_portfolio_toc .o_section .o_header_with_buttons h4,.o_portfolio_toc .o_section .o_header_with_buttons .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_portfolio_toc .o_section .o_header_with_buttons h2{padding-right:0.5em}.o_portfolio_toc .o_section_actions{position:absolute;top:0;right:0}.o_portfolio_toc .o_section_actions .o_section_move_up_and_down{display:inline-block}.o_portfolio_toc .o_section_actions .o_section_dropdown{display:inline-block;position:relative;top:-0.5em;padding-left:0.5em}.o_portfolio_toc ul>li>ul{padding-left:1.5em}.o_portfolio div span.badge{padding:3px 7px}.o_portfolio div .o_portfolio_entry_draft{background-color:#f0ad4e}.o_portfolio div .o_portfolio_published{background-color:#3b678a}.o_portfolio div .o_portfolio_entry_revision{background-color:#d9534f}.o_portfolio div .o_portfolio_entry_closed{background-color:#5cb85c}.o_portfolio div .o_portfolio_entry_deleted{background-color:#000}.o_portfolio div .o_portfolio_entry_incoming{background-color:#5cb85c}.o_portfolio div .o_portfolio_entry_inprocess{background-color:#c8c8c8}.o_portfolio div .o_portfolio_entry_done{background-color:#5cb85c}.o_portfolio_content .o_portfolio_toc.o_portfolio_toc_withtimeline{width:70%;float:left}.o_portfolio_content .o_portfolio_timeline{width:29%;float:right}.o_portfolio_content .o_portfolio_toc.o_portfolio_withtimeline,.o_portfolio_content .o_portfolio_entries.o_portfolio_withtimeline{width:70%;float:left}.o_portfolio_content .o_portfolio_timeline{width:29%;float:right}.o_portfolio_page_meta_wrapper{background-position:left top;background-repeat:no-repeat}.o_portfolio_rights table .o_portfolio_section td:first-child{padding-left:1.5em}.o_portfolio_rights table .o_portfolio_page td:first-child{padding-left:2.5em}.o_portfolio_publication table{padding-bottom:10px}.o_portfolio_publication table td{padding:5px 5px 5px 0}.o_portfolio_publication .o_portfolio_ac{font-size:90%}.o_portfolio_publication .o_portfolio_ac table td:nth-of-type(2){width:200px;white-space:nowrap}.o_portfolio_publication .o_portfolio_ac table td:nth-of-type(3){width:40px;white-space:nowrap}.o_portfolio_publication ul ul{margin-left:2em;margin-bottom:5px}.o_portfolio_publication ul li{background:#fbfbfb;padding:3px;margin-bottom:2px}.o_portfolio_publication ul li li{background:#f2f2f2}.o_portfolio_publication ul li li li{background:#eee}.o_portfolio_publication ul li li .table{margin-bottom:0px}@media (max-width: 767px){.o_portfolio_content .o_portfolio_toc.o_portfolio_withtimeline,.o_portfolio_content .o_portfolio_entries.o_portfolio_withtimeline{width:100%;float:none}.o_portfolio_content .o_sel_timeline_off,.o_portfolio_content .o_sel_timeline_on,.o_portfolio_content .o_portfolio_timeline{display:none}.o_portfolio_content .o_portfolio_content .o_portfolio_toc.o_portfolio_withtimeline{width:100%;float:none}}.o_portfolio_media_browser .o_portfolio_medias{position:relative;margin-bottom:20px;margin-top:20px}.o_portfolio_media_browser .o_portfolio_medias:before,.o_portfolio_media_browser .o_portfolio_medias:after{content:" ";display:table}.o_portfolio_media_browser .o_portfolio_medias:after{clear:both}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media{position:relative;float:left;margin:0 20px 20px 0;width:180px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media:last-child{margin-right:0}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual{border:1px solid #3b678a;position:relative;height:180px;width:180px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual span.o_visual_not_available{width:100%;height:100%;display:block}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon span.o_visual_not_available{background-image:none}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon{font-size:6em;text-align:center;color:#eee;line-height:140px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta{position:absolute;left:0;bottom:0;width:100%;border:1px solid #3b678a;border-top:0;background-color:rgba(255,255,255,0.8)}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title{margin:0;text-align:center;line-height:2em;height:2em;width:100%;overflow:hidden}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a{display:block;color:#3b678a;font-family:inherit;font-weight:inherit}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a:hover{color:#2c4c66}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_meta .o_title a>i{display:none}@media (min-width: 768px) and (max-width: 991px){.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media{width:80px;margin:0 10px 10px 0}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual{height:80px;width:80px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon{font-size:2.5em;line-height:55px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_title{font-size:90%}}@media (max-width: 767px){.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media{width:80px;margin:0 1px 1px 0}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual{height:80px;width:80px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_visual.o_icon{font-size:2.5em;line-height:55px}.o_portfolio_media_browser .o_portfolio_medias .o_portfolio_media .o_title{font-size:90%}}.o_ed_htitle h1,.o_ed_htitle .h1{font-size:30px}.o_ed_htitle h2,.o_ed_htitle .h2{font-size:24px}.o_ed_htitle h3,.o_ed_htitle .h3{font-size:18px}.o_ed_htitle h4,.o_ed_htitle .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_ed_htitle h2,.o_ed_htitle .h4{font-size:14px}.o_ed_htitle h5,.o_ed_htitle .h5{font-size:12px}.o_ed_htitle h6,.o_ed_htitle .h6{font-size:12px}@media print{.o_binder h1{font-size:43.2px;margin-top:10cm}.o_portfolio_section{margin-bottom:1cm}.o_portfolio_section h3:first-of-type{font-size:36px}.o_page_lead{border:0;border-bottom:1px solid #d9d9d9;border-radius:0;background-color:none;padding:0;margin-bottom:10px}.o_page_lead .o_portfolio_status_block{border-top:0;margin-bottom:0}.o_page_lead .o_media img{border:0}.o_page_lead .o_portfolio_categories{display:block;margin-left:0}.o_page_lead .o_portfolio_status_block{padding-top:0}.o_page_lead .o_page_summary{margin-top:1em;font-style:italic}.o_pf_content .o_cit,.o_pf_content .o_text,.o_pf_content .o_file,.o_pf_content .o_forum,.o_pf_content .o_image,.o_pf_content .o_video,.o_pf_content .o_efficiencystatement,.o_pf_content .o_feed,.o_pf_content .o_forum,.o_pf_content .o_wiki{padding:0;border-radius:0;border:0}.o_pf_content .o_cit .o_desc p,.o_pf_content .o_text .o_desc p,.o_pf_content .o_file .o_desc p,.o_pf_content .o_forum .o_desc p,.o_pf_content .o_image .o_desc p,.o_pf_content .o_video .o_desc p,.o_pf_content .o_efficiencystatement .o_desc p,.o_pf_content .o_feed .o_desc p,.o_pf_content .o_forum .o_desc p,.o_pf_content .o_wiki .o_desc p{margin:0}.o_efficiencystatement table{font-size:90%}.o_artefact_metadata{page-break-inside:avoid;border:0;border-left:5px solid #eee;padding-left:10px;font-size:80%}.o_artefact_metadata table td,.o_artefact_metadata table th{border:0 !important;padding:2px !important}.o_artefact_metadata table th:first-of-type{width:20%}.o_pf_video_placeholder{background-color:#f8f8f8 !important;-webkit-print-color-adjust:exact;color-adjust:exact}.o_pf_video_placeholder.visible-print-block{display:table !important}}.o_evaluation_form .o_evaluation_block{margin-top:2em;margin-bottom:2em}.o_evaluation_form .o_evaluation_step_labels{margin-bottom:1em;font-weight:bold}.o_evaluation_form .o_evaluation_step_labels div,.o_evaluation_form .o_evaluation_step_labels span{display:inline-block;text-align:center}.o_evaluation_form .o_slider{margin-bottom:1em}.o_evaluation_form .o_slider .radio{padding:0;min-height:unset}.o_evaluation_form .o_slider label{padding:0}.o_evaluation_form .o_slider input{padding:0;margin:0;position:relative}.o_evaluation_form .o_slider .o_evaluation_no_response label{margin-top:-3px}.o_evaluation_form .o_slider.hover{background-color:#f5f5f5}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_steps label{padding:0;margin:0;text-align:center}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_steps div.radio{background-color:#f9f9f9;margin-top:0px;display:inline-block;text-align:center}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_steps div.radio:hover{background-color:#f5f5f5}.o_evaluation_form .o_evaluation_discrete_radio .o_slider .o_evaluation_no_response div.checkbox{margin-top:0px}.o_evaluation_form .o_slider .ui-slider.ui-slider-horizontal.ui-widget-content{margin-top:0.3em}.o_evaluation_form .o_evaluation_left_label{text-align:right;font-weight:normal}.o_evaluation_form .o_evaluation_left_label_la{text-align:left;padding-left:0px;font-weight:normal}.o_evaluation_form .o_evaluation_right_label{text-align:left;font-weight:normal}.o_evaluation_form .o_evaluation_legend{padding-left:0.5em;margin-bottom:0.5em}.o_evaluation_form .o_evaluation_mc_other{margin-top:-20px;margin-left:20px}.o_evaluation_form .o_eva_disc_open{margin-top:-30px;margin-left:10px}.o_evaluation_discrete_slider .o_evaluation_step_labels{position:relative}.o_evaluation_discrete_slider .o_evaluation_step_labels div:first-child{position:absolute;left:0px;text-align:left}.o_evaluation_discrete_slider .o_evaluation_step_labels div{display:inline-block;text-align:center}.o_evaluation_discrete_slider .o_evaluation_step_labels div:last-child{position:absolute;right:0px;text-align:right}@media (max-width: 768px){.o_evaluation_form .o_evaluation_left_label{text-align:left}.o_evaluation_form .o_evaluation_right_label{text-align:right}.o_evaluation_form .o_evaluation_no_response{text-align:left}.o_evaluation_form .o_evaluation_no_response .o_evaluation_no_resp_value{font-weight:bold}.o_evaluation_form .o_evaluation_slider .o_evaluation_no_response{margin-top:0.7em}}@media (min-width: 768px){.o_evaluation_form .o_evaluation_no_resp_value{display:none}}.o_slider_overview{width:100%;height:20px;position:relative}.o_slider_overview .o_slider_overview_line{top:5px;left:0px;position:absolute;width:100%;height:11px;border:1px solid #999;border-radius:4px}.o_slider_overview .o_slider_overview_point{position:absolute;width:10px;height:10px;background-color:#3b678a}.o_evaluation_editor_form{margin:10px 10px 0 10px}.o_evaluation_editor_form .o_slider_editor{margin-top:10px;position:relative}.o_evaluation_editor_form .o_evaluation_step_labels{display:inline-block}.o_evaluation_editor_form .o_evaluation_step_labels input{width:100%}.o_evaluation_editor_form .o_slider_descrete_radio div.radio{background-color:#f9f9f9;padding-top:5px;padding-bottom:-5px;margin-top:0px;display:inline-block;text-align:center}.o_evaluation_editor_form .o_slider_descrete_radio div.radio:hover{background-color:#f5f5f5}.o_evaluation_editor_form .o_slider_continous{padding-top:10px;padding-bottom:-10px}.o_evaluation_editor_form .o_slider_descrete{padding-top:5px;padding-bottom:-5px}.o_evaluation_editor_form .o_evaluation_example{font-size:90%}.o_evaluation_editor_form .o_slider_editor_delete{padding-right:48px}.o_evaluation_editor_form .o_slider_editor_delete .o_slider_editor_delete_button{position:absolute;right:15px}.d3chart .o_eva_bar{fill:#3b678a}@media print{.o_evaluation_block{page-break-inside:avoid}.o_evaluation_discrete_radio .o_slider .o_evaluation_steps div.radio{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#f9f9f9 !important}}.o_cit{position:relative;margin:10px 0}.o_cit blockquote.o_quote{color:#555;font-size:18px;margin-top:6px;margin-bottom:0;padding:0 12px;font-style:italic;padding:5px 5px 0;border:0}.o_cit blockquote.o_quote p:last-child:after{content:'1)';top:-0.5em;font-size:75%;line-height:0;position:relative;vertical-align:baseline}.o_cit .o_cit_bibinfo{font-size:90%;margin-left:1em;position:relative}.o_cit .o_cit_bibinfo>div:first-child:before{content:'1)';position:absolute;top:0.5em;left:-1em;font-size:75%;line-height:0;vertical-align:baseline}.o_cit .title,.o_cit .url,.o_cit .authors,.o_cit .pages,.o_cit .date,.o_cit .dateAdded,.o_cit .place,.o_cit .institution,.o_cit .issue,.o_cit .publisher,.o_cit .publicationTitle,.o_cit .edition,.o_cit .series,.o_cit .volume{margin-right:0.5em}.o_cit .title{font-style:italic}.o_cit .publicationTitle{color:black}.o_cit .links{padding-left:2em}.o_cit .notes{padding-left:2em;color:grey}.o_cit .note{font-style:italic}.o_cit .note p:first-child{margin-top:0}.o_cit .note p:first-child{margin-bottom:0}.o_cit .listing.web .item{padding-left:0;text-indent:0}.o_cit .listing.web .title{display:block;font-weight:bold;font-style:normal}.o_cit .listing.web .publicationTitle{display:block;font-style:italic}.o_cit .listing.web .url{display:block}.o_cit .listing.web .links{padding-left:0}.o_cit .listing.web .notes{padding-left:0}.o_cit .general-info{border-top:1px solid #eee;padding-top:30px;margin-top:30px}.o_cit .copyright{display:none}@media print{.o_cit blockquote.o_quote{page-break-inside:avoid}}.o_video_poster{position:relative;display:inline-block;width:400px;max-width:100%;height:225px;background-size:cover;background-repeat:no-repeat;border:1px solid #eee}.o_video_poster_select{text-align:center}.o_video_poster_select .o_video_poster{margin:5px}.o_video_poster_select .o_video_poster a{position:absolute;left:0;top:0;width:100%;height:100%}.o_video_poster_select .o_video_poster a span{position:absolute;bottom:0;width:100%;display:block;line-height:3em;background:#f8f8f8;opacity:0.8}.o_video_poster_select .o_video_poster a:hover{border:1px solid #bbb}.o_video_poster_select .o_video_poster a:hover span{opacity:0.9}.o_video_peekview{text-align:center}.o_video_listing .o_table_body.container-fluid{padding-right:0px;padding-left:0px}.o_video_listing .o_video_entry{position:relative;display:inline-block;height:230px;width:250px;vertical-align:top;margin-right:10px}.o_video_listing .o_video_poster{width:250px;max-width:100%;height:140px;border:1px solid #eee}.o_video_listing .o_timecode{position:absolute;bottom:2px;right:3px;padding:3px 4px;background:#333;color:#fff;font-size:12px;line-height:12px}.o_video_listing .o_meta{padding:2px;font-size:11px}.o_video_listing .o_meta h5{font-size:14px;margin-top:0;margin-bottom:5px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o_video_listing .o_date{margin-left:10px;display:inline-block}.o_video_listing .o_date:before{content:'\002022';margin-right:10px;display:inline-block}.o_video_run .o_author{margin-top:0.5em;margin-bottom:1em;line-height:normal;font-size:90%;color:#3c763d}.o_video_run .o_ratings_and_comments{margin-top:2em;border-top:1px solid #eee;padding-top:1em}.o_video_chapter_editor .o_table_wrapper.o_table_flexi .table{margin-top:0}.mejs__controls .mejs__sourcechooser-button>button{background:transparent;display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.mejs__controls .mejs__sourcechooser-button>button:before{content:"";color:white;font-size:18px}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector{visibility:visible !important;width:170px;padding-left:10px}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li label{font-weight:normal;font-size:10px;width:140px}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li label:hover{color:#eee}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li label .type{display:none}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li input{visibility:hidden;margin:0;width:0}.mejs__controls .mejs__sourcechooser-button .mejs__sourcechooser-selector ul li input:checked+label{color:#d9534f}.mejs__controls .mejs__captions-button .mejs__captions-selector{right:-26px}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li label{font-weight:normal;font-size:10px}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li label:hover{color:#eee}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li label .type{display:none}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li input{visibility:hidden;margin:0;width:0}.mejs__controls .mejs__captions-button .mejs__captions-selector ul li input:checked+label{color:#d9534f}.mejs__button.mejs__speed-button{width:36px}.mejs__controls .mejs__speed-button>button{background:transparent;width:36px;margin:11px 0 0 0;font-size:11px;line-height:normal;color:#ffffff}.mejs__controls .mejs__speed-button .mejs__speed-selector{height:150px;top:auto;bottom:40px}.mejs__controls .mejs__speed-button .mejs__speed-selector ul li label{font-weight:normal;font-size:10px}.mejs__chapters .mejs__chapter .mejs__chapter-block .ch-title,.mejs__chapters .mejs__chapter .mejs__chapter-block .ch-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.o_userbulk_changedcell{font-style:italic;font-weight:bold}.o_qpool_source_status{text-align:center}.o_qitem_author{white-space:nowrap}.dropdown-toggle.o_qpool_tools_status>i{margin:0 0 3px 0}.dropdown-menu.o_qpool_tools_status{cursor:pointer}a.o_qpool_status{margin:0 2px 2px 2px;text-align:left}a.o_qpool_status_draft,.dropdown-toggle.o_qpool_status_draft{background-color:#4a6785 !important;border-color:#4a6785;color:#fff !important}a.o_qpool_status_review,.dropdown-toggle.o_qpool_status_review{background-color:#ffd351 !important;border-color:#ffd351;color:#fff !important}a.o_qpool_status_revised,.dropdown-toggle.o_qpool_status_revised{background-color:#933 !important;border-color:#933;color:#fff !important}a.o_qpool_status_finalVersion,.dropdown-toggle.o_qpool_status_finalVersion{background-color:#14892c !important;border-color:#14892c;color:#fff !important}a.o_qpool_status_endOfLife,.dropdown-toggle.o_qpool_status_endOfLife{background-color:#aaa !important;border-color:#aaa;color:#fff !important}.o_qpool_status_draft_light{border-color:#4a6785;color:#4a6785}.o_qpool_status_review_light{border-color:#ffd351;color:#333}.o_qpool_status_revised_light{border-color:#933;color:#933}.o_qpool_status_finalVersion_light{border-color:#14892c;color:#14892c}.o_qpool_status_endOfLife_light{border-color:#aaa;color:#aaa}.btn-arrow-right.o_qpool_qitem_draft{background:#f8f8f8;border-bottom-color:#4a6785;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_review{background:#f8f8f8;border-bottom-color:#ffd351;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_revised{background:#f8f8f8;border-bottom-color:#933;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_final{background:#f8f8f8;border-bottom-color:#14892c;border-bottom-width:3px}.btn-arrow-right.o_qpool_qitem_end_of_life{background:#f8f8f8;border-bottom-color:#aaa;border-bottom-width:3px}.btn-arrow-right.o_qpool_status_slected{background-color:#e7e7e7;color:#555}.btn-arrow-right,.btn-arrow-left{position:relative;padding-left:18px;padding-right:18px;margin-bottom:5px}.btn-arrow-right{padding-left:36px}.btn-arrow-left{padding-right:36px}.btn-arrow-right:before,.btn-arrow-right:after,.btn-arrow-left:before,.btn-arrow-left:after{content:"";position:absolute;top:5px;width:22.627417px;height:22.627417px;background:inherit;border:inherit;border-left-color:transparent;border-bottom-color:transparent;border-radius:0px 4px 0px 0px;-webkit-border-radius:0px 4px 0px 0px;-moz-border-radius:0px 4px 0px 0px}.btn-arrow-right:before,.btn-arrow-right:after{transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);-ms-transform:rotate(45deg)}.btn-arrow-left:before,.btn-arrow-left:after{transform:rotate(225deg);-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-o-transform:rotate(225deg);-ms-transform:rotate(225deg)}.btn-arrow-right:before,.btn-arrow-left:before{left:-11px}.btn-arrow-right:after,.btn-arrow-left:after{right:-11px}.btn-arrow-right:after,.btn-arrow-left:before{z-index:1}.btn-arrow-right:before,.btn-arrow-left:after{background-color:white}body.o_dmz{background:transparent}body.o_dmz #o_bg{position:absolute;top:0;left:0;width:100%;height:100%;border-top:50px solid transparent;border-bottom:70px solid transparent;background:url("images/learn-bg.jpg");background-size:cover;background-position:center center;background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 )}body.o_dmz #o_bg:after{content:" ";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right, rgba(255,255,255,0.1) 0.2%, rgba(255,255,255,0.6) 60%, rgba(255,255,255,0.8) 100%);background-size:cover;background-position:center center;background-repeat:no-repeat}body.o_dmz #o_toplink{display:none}body.o_dmz #o_main_wrapper,body.o_dmz #o_main_wrapper #o_main_container{background:transparent}.o_login{padding-bottom:20px;padding-left:10%;padding-right:10%;text-align:right}.o_login .o_login_intro{padding-left:10%}.o_login .o_login_intro h1{margin-bottom:40px;color:#3b678a}.o_login .o_login_intro .lead{color:#333}.o_login .o_login_intro .lead h1,.o_login .o_login_intro .lead h2,.o_login .o_login_intro .lead h3,.o_login .o_login_intro .lead h4,.o_login .o_login_intro .lead .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_login .o_login_intro .lead h2,.o_login .o_login_intro .lead h5{margin-bottom:20px;color:#3b678a}.o_login .o_login_messages,.o_login .o_login_box{display:inline-block;width:400px;text-align:left}.o_login .o_login_messages .o_infomessage_wrapper{background:rgba(255,255,255,0.5);border:1px solid transparent;border-radius:4px;padding:6px 12px}.o_login .o_login_messages .o_infomessage_wrapper .o_info,.o_login .o_login_messages .o_infomessage_wrapper .o_warning,.o_login .o_login_messages .o_infomessage_wrapper .o_note{margin:0}.o_login .o_login_box{padding-top:10px}.o_login .o_login_providers{margin-bottom:6px;border-radius:4px;-webkit-box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3);box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3)}.o_login .o_login_providers a span{display:block;font-size:9px;padding-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o_login .o_login_providers .o_icon_provider_olat{font-size:1em}.o_login .o_login_provider{background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3);box-shadow:0px 1px 10px -1px rgba(0,0,0,0.3)}.o_login .o_login_form{position:relative;padding:10px 12px}.o_login .o_login_form .o_login_pwd{position:absolute;bottom:2em;right:12px}.o_login .o_login_form .o_form .o_desc{margin:0 0 30px 0;padding:0;border-left:0;background-color:transparent}.o_login .o_login_register{display:block;line-height:2em;font-size:18px;text-align:center;color:#fff;background-color:#5bc0de;border-color:#46b8da;border-radius:4px;margin-top:16px;padding:10px 12px}.o_login .o_login_register:hover,.o_login .o_login_register:focus,.o_login .o_login_register.focus,.o_login .o_login_register:active,.o_login .o_login_register.active,.open>.o_login .o_login_register.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.o_login .o_login_register:active,.o_login .o_login_register.active,.open>.o_login .o_login_register.dropdown-toggle{background-image:none}.o_login .o_login_register.disabled,.o_login .o_login_register.disabled:hover,.o_login .o_login_register.disabled:focus,.o_login .o_login_register.disabled.focus,.o_login .o_login_register.disabled:active,.o_login .o_login_register.disabled.active,.o_login .o_login_register[disabled],.o_login .o_login_register[disabled]:hover,.o_login .o_login_register[disabled]:focus,.o_login .o_login_register[disabled].focus,.o_login .o_login_register[disabled]:active,.o_login .o_login_register[disabled].active,fieldset[disabled] .o_login .o_login_register,fieldset[disabled] .o_login .o_login_register:hover,fieldset[disabled] .o_login .o_login_register:focus,fieldset[disabled] .o_login .o_login_register.focus,fieldset[disabled] .o_login .o_login_register:active,fieldset[disabled] .o_login .o_login_register.active{background-color:#5bc0de;border-color:#46b8da}.o_login .o_login_register .badge{color:#5bc0de;background-color:#fff}.o_login .o_login_register small{font-size:14px}.o_login .o_login_social{position:relative;padding:10px 12px}.o_login .o_login_social li{padding:10px 12px}.o_login .o_login_social li>a{display:block;line-height:2em;text-align:center;font-size:18px;border-radius:4px;padding:10px 12px}.o_login .o_login_social .btn-default.o_sel_auth_facebook{color:#fff;background-color:#4568b2;border-color:#3e5da0}.o_login .o_login_social .btn-default.o_sel_auth_facebook:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook:focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook.focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_facebook.dropdown-toggle{color:#fff;background-color:#37538d;border-color:#2d4374}.o_login .o_login_social .btn-default.o_sel_auth_facebook:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_facebook.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled],.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_facebook.active{background-color:#4568b2;border-color:#3e5da0}.o_login .o_login_social .btn-default.o_sel_auth_facebook .badge{color:#4568b2;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_twitter{color:#fff;background-color:#2cc5ff;border-color:#13beff}.o_login .o_login_social .btn-default.o_sel_auth_twitter:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter:focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter.focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_twitter.dropdown-toggle{color:#fff;background-color:#00b4f8;border-color:#009ad4}.o_login .o_login_social .btn-default.o_sel_auth_twitter:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_twitter.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled],.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_twitter.active{background-color:#2cc5ff;border-color:#13beff}.o_login .o_login_social .btn-default.o_sel_auth_twitter .badge{color:#2cc5ff;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_google{color:#fff;background-color:#e15f4f;border-color:#dd4b39}.o_login .o_login_social .btn-default.o_sel_auth_google:hover,.o_login .o_login_social .btn-default.o_sel_auth_google:focus,.o_login .o_login_social .btn-default.o_sel_auth_google.focus,.o_login .o_login_social .btn-default.o_sel_auth_google:active,.o_login .o_login_social .btn-default.o_sel_auth_google.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_google.dropdown-toggle{color:#fff;background-color:#d83825;border-color:#ba3120}.o_login .o_login_social .btn-default.o_sel_auth_google:active,.o_login .o_login_social .btn-default.o_sel_auth_google.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_google.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_google.disabled,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_google.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled],.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_google.active{background-color:#e15f4f;border-color:#dd4b39}.o_login .o_login_social .btn-default.o_sel_auth_google .badge{color:#e15f4f;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_linkedin{color:#fff;background-color:#0181bd;border-color:#0170a4}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin:focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_linkedin.dropdown-toggle{color:#fff;background-color:#015e8a;border-color:#014667}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_linkedin.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled],.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_linkedin.active{background-color:#0181bd;border-color:#0170a4}.o_login .o_login_social .btn-default.o_sel_auth_linkedin .badge{color:#0181bd;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_adfs{color:#fff;background-color:#3b678a;border-color:#335a78}.o_login .o_login_social .btn-default.o_sel_auth_adfs:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs:focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs.focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_adfs.dropdown-toggle{color:#fff;background-color:#2c4c66;border-color:#213a4d}.o_login .o_login_social .btn-default.o_sel_auth_adfs:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_adfs.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled],.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_adfs.active{background-color:#3b678a;border-color:#335a78}.o_login .o_login_social .btn-default.o_sel_auth_adfs .badge{color:#3b678a;background-color:#fff}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect{color:#fff;background-color:#3b678a;border-color:#335a78}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:hover,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.dropdown-toggle{color:#fff;background-color:#2c4c66;border-color:#213a4d}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.active,.open>.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.dropdown-toggle{background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled:hover,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled:focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled.focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.disabled.active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled],.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled]:hover,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled]:focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled].focus,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled]:active,.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect[disabled].active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:hover,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.focus,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect:active,fieldset[disabled] .o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect.active{background-color:#3b678a;border-color:#335a78}.o_login .o_login_social .btn-default.o_sel_auth_OpenIDConnect .badge{color:#3b678a;background-color:#fff}.o_old_browser{display:none}.o_browser_ie7 .o_old_browser,.o_browser_ie8 .o_old_browser,.o_browser_ie9 .o_old_browser,.o_browser_ie10 .o_old_browser{display:block}@media (max-width: 767px){body.o_dmz #o_bg{background:none;display:none}.o_login{padding:0}.o_login .o_login_intro{padding:0;text-align:left}.o_login .o_login_box_wrapper{text-align:center;padding:0}.o_login .o_login_box{padding-left:0;padding-right:0}.o_login .o_login_box .o_login_providers,.o_login .o_login_box .o_login_provider{-webkit-box-shadow:none;box-shadow:none}.o_login .o_login_messages,.o_login .o_login_box{width:100%;display:block}}.o_home_main h1{text-align:center}.o_home_main .o_icon_rss{line-height:20px;vertical-align:middle}.o_showall{font-size:12px;text-align:right;margin-bottom:5px;margin-top:10px}.o_portlet{position:relative;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1)}.o_portlet .o_header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 12px;border-bottom:1px solid #ddd;background-color:#f5f5f5;border-top-right-radius:4px;border-top-left-radius:4px}.o_portlet .o_content{padding:6px 12px}.o_portlet .o_portlet_table{margin:-12px;margin-bottom:-6px;margin-top:0}.o_portlet .o_table_empty.o_info{padding:6px}.o_portlet .o_toolbox{position:absolute;top:-1px;right:-1px;z-index:2;background-color:#fff;border:1px solid #faebcc;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;padding:6px 12px}.o_portlet .o_toolbox div{display:inline}.o_portlet .o_edit_shim{position:absolute;height:100%;width:100%;z-index:1;background:#fcf8e3;opacity:0.8}.o_inactive .o_header a{float:right;margin-left:12px;margin-top:10px}.o_portlet_dyk_q{margin-top:5px;font-style:italic}.o_portlet_dyk_a{margin:5px 0}.o_portlet_dyk_next{margin:5px 0;text-align:right}.o_library_icon:before{content:""}.o_library ul{list-style:none;margin:0 0 15px 0;padding:0}.o_library ul ul{margin:0}.o_library_overview .o_library_newest_files ul li{float:left;margin-right:15px}.o_library_item{margin-bottom:10px;position:relative}.o_library_item .o_library_visual,.o_library_item .o_library_extra,.o_library_item .o_library_meta{margin-top:15px}.o_library_item .o_library_visual{float:left;background-color:#fff;border-radius:4px;border:1px solid #ddd}.o_library_item .o_library_visual .o_thumbnail_available,.o_library_item .o_library_visual .o_thumbnail_unavailable{background-size:146px auto;width:150px !important;height:150px !important;background-repeat:no-repeat;background-position:50% 50%}.o_library_item .o_library_visual .o_thumbnail_available:before,.o_library_item .o_library_visual .o_thumbnail_unavailable:before{content:none}.o_library_item .o_library_visual .o_thumbnail_available{background-size:146px auto}.o_library_item .o_library_visual .o_thumbnail_unavailable{display:none}.o_library_item .o_library_extra{float:right;width:200px}.o_library_item .o_library_meta{clear:both}.o_library_item .o_library_meta .o_library_desc{padding-bottom:10px}.o_library_item .o_library_meta small{display:block;word-wrap:break-word}.o_library_item h4,.o_library_item .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_library_item h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:normal}.o_library_item .btn{display:block;margin-bottom:0.5em}.o_library_item .o_comments{display:inline-block}.o_library_item .table{table-layout:fixed;word-wrap:break-word;margin-bottom:0}.o_library_item p.o_library_show_more{text-align:right;margin:0;padding-top:20px}.o_library_item .o_library_more{padding-top:20px;display:none}.o_library_folder{margin-top:-20px}.o_library .o_ratings_and_comments .o_rating_title,.o_library .o_ratings_and_comments .o_rating_explanation{display:none}@media (min-width: 768px){.o_library_item .o_library_meta{clear:none;margin-left:150px;margin-right:200px;padding:0 10px}.o_library_item .o_library_more{display:none}.o_library_item .o_library_more table tbody{vertical-align:top}.o_library_item .o_library_more table tr,.o_library_item .o_library_more table th,.o_library_item .o_library_more table td{display:inline-block}.o_library_item .o_library_more table tr{width:49%}.o_library_item .o_library_more table th{width:30%}.o_library_item .o_library_more table td{width:70%}}.o_library_item_compact .o_library_extra{width:auto}.o_library_item_compact .o_library_meta{padding:0 10px 0 0;margin:0;overflow:hidden}.o_library_item_compact .btn{display:inline-block}.o_library_item_compact h4,.o_library_item_compact .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_library_item_compact h2{overflow:hidden;margin-right:70px}.o_library_item_compact h4 a,.o_library_item_compact .o_cal .fc-header-title h2 a,.o_cal .fc-header-title .o_library_item_compact h2 a{text-overflow:ellipsis;white-space:nowrap}.o_library_item_compact p.o_library_show_more{padding:20px;position:absolute;top:0;right:0}span.o_translation_i18nitem{position:relative !important}span.o_translation_i18nitem a.o_translation_i18nitem_launcher{position:absolute !important;z-index:100 !important;width:18px !important;height:20px !important;top:0 !important;left:5px !important;background:#fff;border:1px solid #3b678a !important;border-radius:3px;text-align:center;padding:0 !important}.o_user_infos{position:relative}.o_user_infos .o_user_portrait{position:absolute;top:0;left:15px;width:100px;height:100px}.o_user_infos .o_user_infos_inner{margin:0 30px 0 100px}.o_user_infos .o_user_infos_inner table{margin:0 30px 15px 30px}.o_useradmin .o_user_infos .o_user_infos_inner{margin-right:45px}div.o_skype_button{display:inline-block}div.o_skype_button p{margin:0 0 0 0}div.o_skype_button p a img{margin:0 !important;vertical-align:middle !important}.o_useradmin div#o_main_toolbar.o_toolbar{margin-top:0px}.o_members_pagination{text-align:center}.o_bcard_logo{margin-left:10px;height:66px}.o_bcard_title_with_logo{clear:both;padding:20px 0 0 0}.o_visitingcard_image,.o_visitingcard_logo{height:66px}.o_visitingcard .o_icon_visitingcard{display:none}.o_visitingcard .o_portrait_avatar,.o_visitingcard .o_portrait_dummy,.o_visitingcard .o_portrait_dummy_female_big,.o_visitingcard .o_portrait_dummy_male_big,.o_visitingcard .o_portrait_anonymous{width:66px;height:66px;margin-right:10px}@media (max-width: 767px){.o_visitingcard .o_portrait_avatar,.o_visitingcard .o_portrait_dummy,.o_visitingcard .o_portrait_dummy_female_big,.o_visitingcard .o_portrait_dummy_male_big,.o_visitingcard .o_portrait_anonymous{width:50px;height:50px;margin:5px 5px 0 0}.o_visitingcard_image,.o_visitingcard_logo{height:50px}.o_visitingcard_logo,.o_bcard_logo{height:50px;margin:5px 0 0 5px}.o_visitingcard_logo img,.o_bcard_logo img{position:relative;transform:scale(.7575757576);top:-8px}}@media (max-width: 414px){.o_visitingcard_logo img{max-width:260px}}@media (max-width: 375px){.o_visitingcard_logo img{max-width:220px}}@media (max-width: 320px){.o_visitingcard_logo img{max-width:180px}.o_bcard_logo img{max-width:150px}}.o_gta_coach_selection .o_noti{display:inline-block;float:none;margin:0}.o_gta_coach_selection .o_gta_coach_selection_bar{position:relative}.o_gta_coach_selection .o_gta_coach_selection_bar .o_noti{position:absolute;top:3px;right:0}p.o_gta_reopen_warning{margin-top:-20px}.o_lecture_authorized_absence div.form-inline,.o_lecture_authorized_absence div.o_navbar-form{display:inline}.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table{margin-top:0}.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_date,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_startTime,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_endTime,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_details,.o_lectures_teacher_overview .o_table_wrapper.o_table_flexi .table thead th.o_col_tools{width:1%}.o_lectures_teacher_overview .o_lectures_current_wrapper{border:1px solid transparent;background:#f8f8f8;border-radius:4px;margin:10px -10px 20px -10px;padding:10px}.o_lectures_teacher_overview .o_lectures_current_wrapper .o_button_group{margin-bottom:0}.o_lectures_teacher_overview .o_lectures_teacher_search .o_form .o_date{padding-right:10px;position:relative}.o_lectures_teacher_overview .o_lectures_teacher_search span.o_chelp_wrapper{position:absolute;top:0;right:0}.o_lectures_rollcall legend{margin-bottom:10px}.o_lectures_rollcall .o_desc,.o_lectures_rollcall .o_preparation{margin:0}.o_rollcall_next_previous_group{text-align:center}.o_rollcall_next_previous_group a.o_sel_close{float:left}.o_rollcall_next_previous_group a.o_sel_close span{display:none}.o_rollcall_next_previous_group .form-control{display:inline;width:auto}@media (max-width: 767px){.o_rollcall_next_previous_group a span{display:none}}.o_lecture_free{color:#777}.o_rollcall_portrait>div{margin:0 auto 10px auto;width:100px}.o_edubase_pv{overflow:hidden;padding-top:10px}.o_edubase_pv_fig{display:inline-block;vertical-align:top;width:110px;margin-right:3%}.o_edubase_run_enabled .o_edubase_page{font-size:12px;color:#777}.o_edubase_run_disabled .o_edubase_booksection{margin-right:3%;margin-bottom:3%;width:177px;display:inline-table}.o_edubase_run_disabled .o_edubase_page{font-size:12px;color:#777}.o_edubase_bs_buttons{padding-top:10px}.o_edubase_bs_book_id{margin-top:-2px}.o_edubase_bs_details{margin-left:-20px}.o_edubase_bs_details_label{visibility:hidden}.o_edubase_bs_cover object{margin-left:10px;margin-top:10px;height:120px}.o_edubase_bs_cover img{margin-left:10px;margin-top:10px;height:120px}.o_edubase_edit_books .o_icon_error{visibility:hidden}.o_edubase_edit_books .o_icon_help{margin-bottom:0px}.o_edubase_edit_books .row{margin-bottom:5px}.o_taxonomy div#o_main_toolbar.o_toolbar{margin-top:0px}.o_taxonomy_listing.o_rendertype_custom .o_table_body.container-fluid{padding-right:0px;padding-left:0px}.o_taxonomy_listing.o_rendertype_custom .o_taxonomy_row{position:relative;display:inline-block;height:200px;width:450px;vertical-align:top;margin-right:10px}.o_taxonomy_listing.o_rendertype_custom .o_taxonomy_row ul{padding-left:2em}.ui-widget{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:100%}.ui-widget-header{border-top:none;border-left:none;border-right:none;border-bottom:1px solid #eee;background:#fff;font-weight:bold}.ui-icon,.ui-widget-content .ui-icon,.ui-widget-header .ui-icon,.ui-state-default .ui-icon,.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-state-active .ui-icon,.ui-state-highlight .ui-icon,.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background:none;background-image:none}.ui-dialog{-webkit-box-shadow:0px 1px 8px -1px rgba(0,0,0,0.35);box-shadow:0px 1px 8px -1px rgba(0,0,0,0.35);background-color:#fefefe}.ui-dialog .ui-widget-header .ui-dialog-title{color:#3b678a;font-weight:500;font-family:inherit;line-height:1.1}.ui-dialog .ui-widget-header .ui-dialog-titlebar-close:before{content:"ï€" !important}.ui-dialog .ui-widget-header .ui-dialog-titlebar-close{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ui-dialog .ui-widget-header .ui-dialog-titlebar-close span{display:none}.ui-dialog .ui-widget-header .ui-button.ui-corner-all{border:none !important;background:#fff !important;float:right}.ui-dialog .ui-widget-content{border-color:#fff;padding:5px;overflow:auto;background:white !important}.ui-dialog .ui-dialog-titlebar{padding:4px 7px 4px 7px;background-color:#eee !important}.ui-dialog.ui-corner-all{border-radius:4px}.ui-dialog.ui-widget-content{border:1px solid transparent}.ui-dialog.o_modal-ui{max-width:100vw;max-height:100vh}.ui-dialog.o_modal-ui div.ui-dialog-buttonpane{display:none}@media (max-width: 767px){.ui-dialog.o_modal-ui{height:100vh !important;width:100vw !important}.ui-dialog.o_modal-ui div.ui-dialog-content{height:90vh !important}}.ui-slider.ui-slider-horizontal.ui-widget-content{border-color:#aaa;background:#f9f9f9}.ui-slider.ui-slider-horizontal.ui-widget-content.ui-state-disabled{opacity:0.65}.ui-slider.ui-slider-horizontal.ui-widget-content .ui-slider-handle{border:1px solid #3b678a;background-image:none;background-color:#3b678a}.ui-datepicker{z-index:2000 !important;-webkit-box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15);box-shadow:0px 1px 5px -1px rgba(0,0,0,0.15)}.ui-datepicker .ui-widget-header .ui-corner-all,.ui-datepicker .ui-widget-header .ui-datepicker-next.ui-corner-all{border:none !important;background:#fff !important}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e:before{content:"ï¡";font-weight:normal;color:black}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w:before{content:"ï ";font-weight:normal;color:black}.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e,.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{font-family:'FontAwesome';display:inline-block;background-image:none;background-position:0 0;font-weight:normal;text-indent:0;color:white}.ui-datepicker .ui-widget-header .ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-widget-header .ui-datepicker .ui-datepicker-next-hover{top:2px}.ui-datepicker .ui-state-default{background:#eee}.ui-datepicker .ui-state-highlight,.ui-datepicker .ui-widget-content .ui-state-highlight{border:1px solid #335a78;background:#3b678a;color:#fff}.ui-datepicker.ui-corner-all{border-radius:4px}.ui-datepicker.ui-widget-content{border:1px solid transparent}label.mce-label{display:inline;max-width:150px;margin-bottom:0;font-weight:normal}.o_richtext_mce_without_path .mce-statusbar{border:none}.o_richtext_mce_without_path .mce-path{display:none !important}.o_richtext_mce_without_path .mce-menubtn.mce-fixed-width span{width:auto}.o_richtext_mce>.o_richtext_mce_modes{text-align:right;padding-right:4px}.o_richtext_mce>.o_richtext_mce_modes a{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}i.mce-ico.mce-i-media,i.mce-ico.mce-i-movie,i.mce-ico.mce-i-help,i.mce-ico.mce-i-gaptext,i.mce-ico.mce-i-gapnumerical,i.mce-ico.mce-i-hottext,i.mce-ico.mce-i-edit{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}i.mce-ico.mce-i-media:before{content:""}i.mce-ico.mce-i-movie:before{content:""}i.mce-ico.mce-i-gaptext:before{content:"ï…"}i.mce-ico.mce-i-gapnumerical:before{content:""}i.mce-ico.mce-i-hottext:before{content:"ï"}i.mce-ico.mce-i-math:before{content:'\03A3'}i.mce-ico.mce-i-edit:before{content:"ï„"}i.mce-ico.mce-i-help{width:9px;height:9px;padding-top:1px}i.mce-ico.mce-i-help:before{content:"ï™";color:white}.mce-tabs span.o_chelp_wrapper{float:right;margin:5px}.mce-wordcount:after{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0);content:"ï™"}.mce-danger .mce-wordcount:after{color:#d9534f;content:"ïª"}.mce-statusbar.mce-danger{background-color:#f2dede}div.o_table_search span.twitter-typeahead{display:table-cell;padding-top:3px}.tag.label.label-info{margin-right:3px}@media print{a[href]:after{content:""}#o_header_wrapper,#o_offcanvas_right,#o_navbar_wrapper,#o_footer_wrapper,#o_toplink,#o_main_left,#o_main_right,#o_main_toolbar,#jsMath_PrintWarning,.o_noti,.o_opener,.o_hide,.o_noprint{display:none !important}.o_print_break_avoid{page-break-inside:avoid}.o_print_break_before{page-break-before:always}.o_print_break_after{clear:both;page-break-after:always}.btn{display:none}.o_form textarea,.o_form .form-control.textarea_disabled{-webkit-print-color-adjust:exact;color-adjust:exact;background:#fff !important;height:auto !important;color:#000 !important;resize:none}#o_comment_form_link,.o_comments form{display:none !important}.o_avatar{display:none}body.o_dmz{background:white !important;-webkit-print-color-adjust:exact;color-adjust:exact}.modal-dialog{margin:0 !important;width:100% !important;height:100% !important;background:#fff !important;-webkit-print-color-adjust:exact;color-adjust:exact}.progress{page-break-inside:avoid;-webkit-print-color-adjust:exact;color-adjust:exact;background-color:rgba(0,0,0,0.1) !important;border:1px solid rgba(0,0,0,0.5)}.progress-bar{-webkit-print-color-adjust:exact;background-color:#000 !important;border:10px solid #000}.ui-slider.ui-slider-horizontal.ui-widget-content{-webkit-print-color-adjust:exact;color-adjust:exact;background:#f9f9f9 !important}.ui-slider.ui-slider-horizontal.ui-widget-content .ui-slider-handle{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#3b678a !important}.radial-progress{page-break-inside:avoid;-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#eee !important}.radial-progress .circle .mask .fill{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#000 !important}.radial-progress .inset{-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#fff !important}body{margin:0}table,figure,figure{page-break-inside:avoid}h1,h2,h3,h4,.o_cal .fc-header-title h2,h5,h6{page-break-after:avoid}}.o_highscore .o_position{text-align:center;font-size:1.2em;font-weight:bold}.o_highscore .o_position h2{font-size:3em;font-weight:700;line-height:1.2em}@media screen and (-webkit-min-device-pixel-ratio: 0){.o_highscore .o_position h2{background:linear-gradient(330deg, #e05252 0%, #99e052 25%, #52e0e0 50%, #9952e0 75%, #e05252 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline}.o_highscore .o_position h2:after{content:"\A";white-space:pre}}.o_highscore .o_position_relative{font-size:1em;font-weight:normal}.o_highscore .o_podium{position:relative;vertical-align:bottom;height:300px;margin-bottom:50px}.o_highscore .o_rank{width:30%;position:absolute;bottom:0;text-shadow:rgba(102,102,102,0.5) 0 -1px 0,rgba(255,255,255,0.6) 0 2px 1px}.o_highscore .o_rank:before{position:absolute;bottom:0;left:0;width:100%;text-align:center}.o_highscore .o_rank .o_name{position:absolute;top:100%;width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:1em;text-shadow:none}.o_highscore .o_rank .o_score{color:#777;font-size:90%;width:100%;text-align:center;position:absolute;top:-20px;text-shadow:none}.o_highscore .o_rank .o_singleportrait{position:absolute;width:100%;text-align:center;top:-125px}.o_highscore .o_rank .o_rank_portraits{position:relative;left:0;top:-210px;height:180px;width:200px;text-align:center;vertical-align:bottom;display:table-cell}.o_highscore .o_rank .o_rank_portraits ul{display:inline-block}.o_highscore .o_rank .o_rank_portraits .o_portrait{margin:5px}.o_highscore .o_first{height:150px;left:30%;border:1px solid #d9d9d9;border-top-left-radius:4px;border-top-right-radius:4px;background:gold;background:-moz-linear-gradient(top, #fff7cc 0%, #ffdf33 50%, gold 51%, #ffe766 100%);background:-webkit-linear-gradient(top, #fff7cc 0%, #ffdf33 50%, gold 51%, #ffe766 100%);background:linear-gradient(top, #fff7cc 0%, #ffdf33 50%, gold 51%, #ffe766 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='$basecolor', endColorstr='lighten($basecolor,20%)',GradientType=0 )}.o_highscore .o_first:before{content:"1";font-size:700%;line-height:150px;color:#666}.o_highscore .o_second{height:100px;left:0;background:silver;background:-moz-linear-gradient(top, #fff 0%, #dadada 50%, silver 51%, #f3f3f3 100%);background:-webkit-linear-gradient(top, #fff 0%, #dadada 50%, silver 51%, #f3f3f3 100%);background:linear-gradient(top, #fff 0%, #dadada 50%, silver 51%, #f3f3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='$basecolor', endColorstr='lighten($basecolor,20%)',GradientType=0 );border-left:1px solid #d9d9d9;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;border-top-left-radius:4px}.o_highscore .o_second:before{content:"2";font-size:500%;line-height:100px;color:#666}.o_highscore .o_third{height:80px;left:60%;background:#cd7f32;background:-moz-linear-gradient(top, #f5e5d6 0%, #d7995b 50%, #cd7f32 51%, #e1b284 100%);background:-webkit-linear-gradient(top, #f5e5d6 0%, #d7995b 50%, #cd7f32 51%, #e1b284 100%);background:linear-gradient(top, #f5e5d6 0%, #d7995b 50%, #cd7f32 51%, #e1b284 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='$basecolor', endColorstr='lighten($basecolor,20%)',GradientType=0 );border-right:1px solid #d9d9d9;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9;border-top-right-radius:4px}.o_highscore .o_third:before{content:"3";font-size:300%;line-height:80px;color:#666}.o_highscore .o_histogram{position:relative;bottom:-40px;margin-bottom:40px}.o_highscore .o_histogram .d3chart{width:100%;padding-top:50px;height:300px}.o_highscore .o_histogram .d3chart text{fill:#888}.o_highscore .o_histogram .d3chart .axis path,.o_highscore .o_histogram .d3chart .axis line{stroke:#888}.o_highscore .o_histogram .d3chart .o_myself{fill:#3b678a}.o_highscore .o_histogram .d3chart .o_myself:hover{fill:#4a82ae}.o_highscore .o_histogram .d3chart .o_other{fill:#777}.o_highscore .o_histogram .d3chart .o_other:hover{fill:#919191}.o_highscore .o_histogram .d3chart .o_empty{fill:#000}.o_listing .o_table_wrapper.o_table_flexi .table{margin-top:0}.o_listing table th:nth-of-type(1),.o_listing table th :nth-of-type(2){width:5em}body.o_browser_ie7 #o_offcanvas_right,body.o_browser_ie8 #o_offcanvas_right{right:0px}.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-default.active,.btn-primary:active,.btn-primary.active,.btn-success:active,.btn-success.active,.btn-info:active,.btn-info.active,.btn-warning:active,.btn-warning.active,.btn-danger:active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-default .badge,.btn-primary .badge,.btn-success .badge,.btn-info .badge,.btn-warning .badge,.btn-danger .badge{text-shadow:none}.btn:active,.btn.active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);background-image:-o-linear-gradient(top, #fff 0%, #e0e0e0 100%);background-image:linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFE0E0E0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top, #3b678a 0%, #29475f 100%);background-image:-o-linear-gradient(top, #3b678a 0%, #29475f 100%);background-image:linear-gradient(to bottom, #3b678a 0%, #29475f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3B678A', endColorstr='#FF29475F', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#264258}.btn-primary:hover,.btn-primary:focus{background-color:#29475f;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#29475f;border-color:#264258}.btn-primary:disabled,.btn-primary[disabled]{background-color:#29475f;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);background-image:-o-linear-gradient(top, #5cb85c 0%, #419641 100%);background-image:linear-gradient(to bottom, #5cb85c 0%, #419641 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5CB85C', endColorstr='#FF419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);background-image:-o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);background-image:linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF2AABD2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);background-image:-o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);background-image:linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF0AD4E', endColorstr='#FFEB9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);background-image:-o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);background-image:linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFD9534F', endColorstr='#FFC12E2A', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail,.o_form .o_filepreview img,.o_feed .o_media{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-image:-webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);background-image:-o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);background-image:linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF5F5F5', endColorstr='#FFE8E8E8', GradientType=0);background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-image:-webkit-linear-gradient(top, #3b678a 0%, #335a78 100%);background-image:-o-linear-gradient(top, #3b678a 0%, #335a78 100%);background-image:linear-gradient(to bottom, #3b678a 0%, #335a78 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3B678A', endColorstr='#FF335A78', GradientType=0);background-color:#335a78}.navbar-default{background-image:-webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);background-image:-o-linear-gradient(top, #fff 0%, #f8f8f8 100%);background-image:linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFF8F8F8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);background-image:-o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);background-image:linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFDBDBDB', endColorstr='#FFE2E2E2', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);background-image:-o-linear-gradient(top, #3c3c3c 0%, #222 100%);background-image:linear-gradient(to bottom, #3c3c3c 0%, #222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3C3C3C', endColorstr='#FF222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #090909 0%, #0f0f0f 100%);background-image:-o-linear-gradient(top, #090909 0%, #0f0f0f 100%);background-image:linear-gradient(to bottom, #090909 0%, #0f0f0f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF090909', endColorstr='#FF0F0F0F', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}@media (max-width: 767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-image:-webkit-linear-gradient(top, #3b678a 0%, #335a78 100%);background-image:-o-linear-gradient(top, #3b678a 0%, #335a78 100%);background-image:linear-gradient(to bottom, #3b678a 0%, #335a78 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3B678A', endColorstr='#FF335A78', GradientType=0)}}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);background-image:-o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);background-image:linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFDFF0D8', endColorstr='#FFC8E5BC', GradientType=0);border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);background-image:-o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);background-image:linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFD9EDF7', endColorstr='#FFB9DEF0', GradientType=0);border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);background-image:-o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);background-image:linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFCF8E3', endColorstr='#FFF8EFC0', GradientType=0);border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);background-image:-o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);background-image:linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF2DEDE', endColorstr='#FFE7C3C3', GradientType=0);border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);background-image:-o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);background-image:linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEBEBEB', endColorstr='#FFF5F5F5', GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top, #3b678a 0%, #2c4c66 100%);background-image:-o-linear-gradient(top, #3b678a 0%, #2c4c66 100%);background-image:linear-gradient(to bottom, #3b678a 0%, #2c4c66 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3B678A', endColorstr='#FF2C4C66', GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);background-image:-o-linear-gradient(top, #5cb85c 0%, #449d44 100%);background-image:linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5CB85C', endColorstr='#FF449D44', GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);background-image:-o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);background-image:linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF31B0D5', GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);background-image:-o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);background-image:linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF0AD4E', endColorstr='#FFEC971F', GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);background-image:-o-linear-gradient(top, #d9534f 0%, #c9302c 100%);background-image:linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFD9534F', endColorstr='#FFC9302C', GradientType=0)}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #2c4c66;background-image:-webkit-linear-gradient(top, #3b678a 0%, #30536f 100%);background-image:-o-linear-gradient(top, #3b678a 0%, #30536f 100%);background-image:linear-gradient(to bottom, #3b678a 0%, #30536f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3B678A', endColorstr='#FF30536F', GradientType=0);border-color:#30536f}.list-group-item.active .badge,.list-group-item.active:hover .badge,.list-group-item.active:focus .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);background-image:-o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);background-image:linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF5F5F5', endColorstr='#FFE8E8E8', GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top, #3b678a 0%, #335a78 100%);background-image:-o-linear-gradient(top, #3b678a 0%, #335a78 100%);background-image:linear-gradient(to bottom, #3b678a 0%, #335a78 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF3B678A', endColorstr='#FF335A78', GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);background-image:-o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);background-image:linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFDFF0D8', endColorstr='#FFD0E9C6', GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);background-image:-o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);background-image:linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFD9EDF7', endColorstr='#FFC4E3F3', GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);background-image:-o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);background-image:linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFCF8E3', endColorstr='#FFFAF2CC', GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);background-image:-o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);background-image:linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF2DEDE', endColorstr='#FFEBCCCC', GradientType=0)}.well{background-image:-webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);background-image:-o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);background-image:linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFE8E8E8', endColorstr='#FFF5F5F5', GradientType=0);border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1)}.o_button_dirty{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);background-image:-webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);background-image:-o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);background-image:linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF0AD4E', endColorstr='#FFEB9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#e38d13}.o_button_dirty:active,.o_button_dirty.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.o_button_dirty:hover,.o_button_dirty:focus{background-color:#eb9316;background-position:0 -15px}.o_button_dirty:active,.o_button_dirty.active{background-color:#eb9316;border-color:#e38d13}.o_button_dirty:disabled,.o_button_dirty[disabled]{background-color:#eb9316;background-image:none}.o_login .o_login_social .btn-default{text-shadow:none}.o_login .o_login_social .btn-default.o_sel_auth_facebook{background-image:-webkit-linear-gradient(top, #4568b2 0%, #344e86 100%);background-image:-o-linear-gradient(top, #4568b2 0%, #344e86 100%);background-image:linear-gradient(to bottom, #4568b2 0%, #344e86 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF4568B2', endColorstr='#FF344E86', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#314a7f}.o_login .o_login_social .btn-default.o_sel_auth_facebook:hover,.o_login .o_login_social .btn-default.o_sel_auth_facebook:focus{background-color:#344e86;background-position:0 -15px}.o_login .o_login_social .btn-default.o_sel_auth_facebook:active,.o_login .o_login_social .btn-default.o_sel_auth_facebook.active{background-color:#344e86;border-color:#314a7f}.o_login .o_login_social .btn-default.o_sel_auth_facebook:disabled,.o_login .o_login_social .btn-default.o_sel_auth_facebook[disabled]{background-color:#344e86;background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_twitter{background-image:-webkit-linear-gradient(top, #2cc5ff 0%, #00acee 100%);background-image:-o-linear-gradient(top, #2cc5ff 0%, #00acee 100%);background-image:linear-gradient(to bottom, #2cc5ff 0%, #00acee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF2CC5FF', endColorstr='#FF00ACEE', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#00a5e4}.o_login .o_login_social .btn-default.o_sel_auth_twitter:hover,.o_login .o_login_social .btn-default.o_sel_auth_twitter:focus{background-color:#00acee;background-position:0 -15px}.o_login .o_login_social .btn-default.o_sel_auth_twitter:active,.o_login .o_login_social .btn-default.o_sel_auth_twitter.active{background-color:#00acee;border-color:#00a5e4}.o_login .o_login_social .btn-default.o_sel_auth_twitter:disabled,.o_login .o_login_social .btn-default.o_sel_auth_twitter[disabled]{background-color:#00acee;background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_google{background-image:-webkit-linear-gradient(top, #e15f4f 0%, #cf3623 100%);background-image:-o-linear-gradient(top, #e15f4f 0%, #cf3623 100%);background-image:linear-gradient(to bottom, #e15f4f 0%, #cf3623 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFE15F4F', endColorstr='#FFCF3623', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#c73422}.o_login .o_login_social .btn-default.o_sel_auth_google:hover,.o_login .o_login_social .btn-default.o_sel_auth_google:focus{background-color:#cf3623;background-position:0 -15px}.o_login .o_login_social .btn-default.o_sel_auth_google:active,.o_login .o_login_social .btn-default.o_sel_auth_google.active{background-color:#cf3623;border-color:#c73422}.o_login .o_login_social .btn-default.o_sel_auth_google:disabled,.o_login .o_login_social .btn-default.o_sel_auth_google[disabled]{background-color:#cf3623;background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_linkedin{background-image:-webkit-linear-gradient(top, #0181bd 0%, #015780 100%);background-image:-o-linear-gradient(top, #0181bd 0%, #015780 100%);background-image:linear-gradient(to bottom, #0181bd 0%, #015780 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0181BD', endColorstr='#FF015780', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#015176}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:hover,.o_login .o_login_social .btn-default.o_sel_auth_linkedin:focus{background-color:#015780;background-position:0 -15px}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:active,.o_login .o_login_social .btn-default.o_sel_auth_linkedin.active{background-color:#015780;border-color:#015176}.o_login .o_login_social .btn-default.o_sel_auth_linkedin:disabled,.o_login .o_login_social .btn-default.o_sel_auth_linkedin[disabled]{background-color:#015780;background-image:none}.o_login .o_login_social .btn-default.o_sel_auth_adfs{background-image:-webkit-linear-gradient(top, #1a1a1a 0%, #000 100%);background-image:-o-linear-gradient(top, #1a1a1a 0%, #000 100%);background-image:linear-gradient(to bottom, #1a1a1a 0%, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF1A1A1A', endColorstr='#FF000000', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#000}.o_login .o_login_social .btn-default.o_sel_auth_adfs:hover,.o_login .o_login_social .btn-default.o_sel_auth_adfs:focus{background-color:#000;background-position:0 -15px}.o_login .o_login_social .btn-default.o_sel_auth_adfs:active,.o_login .o_login_social .btn-default.o_sel_auth_adfs.active{background-color:#000;border-color:#000}.o_login .o_login_social .btn-default.o_sel_auth_adfs:disabled,.o_login .o_login_social .btn-default.o_sel_auth_adfs[disabled]{background-color:#000;background-image:none}.btn-default.btn-success,.btn-default.btn-info,.btn-default.btn-warning,.btn-default.btn-danger,.btn-default.btn-primary,.btn-default.o_button_dirty{text-shadow:none}.o_navbar.o_navbar-default{background-image:-webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);background-image:-o-linear-gradient(top, #fff 0%, #f8f8f8 100%);background-image:linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFF8F8F8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.o_navbar.o_navbar-default .o_navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);background-image:-o-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);background-image:linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEBEBEB', endColorstr='#FFF3F3F3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.o_navbar.o_navbar-default .o_navbar-nav>.active>a.o_navbar_tab_close{background:none;-webkit-box-shadow:none;box-shadow:none}.o_navbar-brand,.o_navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.o_navbar-offcanvas .dropdown-menu>li>a:hover,.o_navbar-offcanvas .dropdown-menu>li>a:focus{background-image:none}.o_toolbar{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.05)}.o_toolbar .o_breadcrumb .breadcrumb{background-image:-webkit-linear-gradient(top, #fff 0%, #f5f5f5 100%);background-image:-o-linear-gradient(top, #fff 0%, #f5f5f5 100%);background-image:linear-gradient(to bottom, #fff 0%, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFF5F5F5', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.o_toolbar .o_tools_container{background-image:-webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);background-image:-o-linear-gradient(top, #fff 0%, #f8f8f8 100%);background-image:linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFF8F8F8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.o_toolbar .o_tool_next,.o_toolbar .o_tool_previous{background-image:-webkit-linear-gradient(top, #fff 0%, #e2e2e2 100%);background-image:-o-linear-gradient(top, #fff 0%, #e2e2e2 100%);background-image:linear-gradient(to bottom, #fff 0%, #e2e2e2 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFE2E2E2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.o_toolbar .o_tool_next :hover,.o_toolbar .o_tool_previous :hover{background-color:#e2e2e2}.o_tree{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.05)}.o_navbar-brand{padding:15px 15px;font-size:28px;color:#3b678a !important}.o_navbar-brand:after{content:"\E600";font-family:openolat} /*# sourceMappingURL=theme.css.map */ diff --git a/src/main/webapp/static/themes/openolat/theme.css.map b/src/main/webapp/static/themes/openolat/theme.css.map index 6867eda0e8a819f429f8048b366f36b3145ddb55..329c8cd0a69c086944b550100a6400b89b26a11e 100644 --- a/src/main/webapp/static/themes/openolat/theme.css.map +++ b/src/main/webapp/static/themes/openolat/theme.css.map @@ -1,6 +1,6 @@ { "version": 3, -"mappings": "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", +"mappings": "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", "sources": ["../light/_license.scss","../../bootstrap/stylesheets/bootstrap/_normalize.scss","../../bootstrap/stylesheets/bootstrap/_print.scss","../../bootstrap/stylesheets/bootstrap/_scaffolding.scss","../../bootstrap/stylesheets/bootstrap/mixins/_vendor-prefixes.scss","../light/_config.scss","../../bootstrap/stylesheets/bootstrap/_variables.scss","../../bootstrap/stylesheets/bootstrap/mixins/_tab-focus.scss","../../bootstrap/stylesheets/bootstrap/mixins/_image.scss","../../bootstrap/stylesheets/bootstrap/_type.scss","../../bootstrap/stylesheets/bootstrap/mixins/_text-emphasis.scss","../../bootstrap/stylesheets/bootstrap/mixins/_background-variant.scss","../../bootstrap/stylesheets/bootstrap/mixins/_clearfix.scss","../../bootstrap/stylesheets/bootstrap/mixins/_text-overflow.scss","../../bootstrap/stylesheets/bootstrap/_code.scss","../../bootstrap/stylesheets/bootstrap/_grid.scss","../../bootstrap/stylesheets/bootstrap/mixins/_grid.scss","../../bootstrap/stylesheets/bootstrap/mixins/_grid-framework.scss","../../bootstrap/stylesheets/bootstrap/_tables.scss","../../bootstrap/stylesheets/bootstrap/mixins/_table-row.scss","../../bootstrap/stylesheets/bootstrap/_forms.scss","../../bootstrap/stylesheets/bootstrap/mixins/_forms.scss","../../bootstrap/stylesheets/bootstrap/_buttons.scss","../../bootstrap/stylesheets/bootstrap/mixins/_buttons.scss","../../bootstrap/stylesheets/bootstrap/mixins/_opacity.scss","../../bootstrap/stylesheets/bootstrap/_component-animations.scss","../../bootstrap/stylesheets/bootstrap/_dropdowns.scss","../../bootstrap/stylesheets/bootstrap/mixins/_nav-divider.scss","../../bootstrap/stylesheets/bootstrap/mixins/_reset-filter.scss","../../bootstrap/stylesheets/bootstrap/_button-groups.scss","../../bootstrap/stylesheets/bootstrap/mixins/_border-radius.scss","../../bootstrap/stylesheets/bootstrap/_input-groups.scss","../../bootstrap/stylesheets/bootstrap/_navs.scss","../../bootstrap/stylesheets/bootstrap/_navbar.scss","../../bootstrap/stylesheets/bootstrap/mixins/_nav-vertical-align.scss","../../bootstrap/stylesheets/bootstrap/_breadcrumbs.scss","../../bootstrap/stylesheets/bootstrap/_pagination.scss","../../bootstrap/stylesheets/bootstrap/mixins/_pagination.scss","../../bootstrap/stylesheets/bootstrap/_pager.scss","../../bootstrap/stylesheets/bootstrap/_labels.scss","../../bootstrap/stylesheets/bootstrap/mixins/_labels.scss","../../bootstrap/stylesheets/bootstrap/_badges.scss","../../bootstrap/stylesheets/bootstrap/_jumbotron.scss","../../bootstrap/stylesheets/bootstrap/_thumbnails.scss","../../bootstrap/stylesheets/bootstrap/_alerts.scss","../../bootstrap/stylesheets/bootstrap/mixins/_alerts.scss","../../bootstrap/stylesheets/bootstrap/_progress-bars.scss","../../bootstrap/stylesheets/bootstrap/mixins/_gradients.scss","../../bootstrap/stylesheets/bootstrap/mixins/_progress-bar.scss","../../bootstrap/stylesheets/bootstrap/_media.scss","../../bootstrap/stylesheets/bootstrap/_list-group.scss","../../bootstrap/stylesheets/bootstrap/mixins/_list-group.scss","../../bootstrap/stylesheets/bootstrap/_panels.scss","../../bootstrap/stylesheets/bootstrap/mixins/_panels.scss","../../bootstrap/stylesheets/bootstrap/_responsive-embed.scss","../../bootstrap/stylesheets/bootstrap/_wells.scss","../../bootstrap/stylesheets/bootstrap/_close.scss","../../bootstrap/stylesheets/bootstrap/_modals.scss","../../bootstrap/stylesheets/bootstrap/_tooltip.scss","../../bootstrap/stylesheets/bootstrap/_popovers.scss","../../bootstrap/stylesheets/bootstrap/_utilities.scss","../../bootstrap/stylesheets/bootstrap/mixins/_center-block.scss","../../bootstrap/stylesheets/bootstrap/mixins/_hide-text.scss","../../bootstrap/stylesheets/bootstrap/_responsive-utilities.scss","../../bootstrap/stylesheets/bootstrap/mixins/_responsive-visibility.scss","../light/modules/_bootstrap.scss","../light/modules/_fonts.scss","../../font-awesome/scss/_path.scss","../../font-awesome/scss/_core.scss","../../font-awesome/scss/_larger.scss","../../font-awesome/scss/_fixed-width.scss","../../font-awesome/scss/_list.scss","../../font-awesome/scss/_variables.scss","../../font-awesome/scss/_bordered-pulled.scss","../../font-awesome/scss/_animated.scss","../../font-awesome/scss/_rotated-flipped.scss","../../font-awesome/scss/_mixins.scss","../../font-awesome/scss/_stacked.scss","../light/modules/_icons.scss","../light/modules/_emoticons.scss","../light/modules/_helpers.scss","../light/modules/_type.scss","../light/modules/_content_embedded.scss","../light/modules/_mixins.scss","../light/modules/_tinymce.scss","../light/modules/_radial-progress.scss","../light/modules/_layout.scss","../light/modules/_main.scss","../light/modules/_footer.scss","../light/modules/_navbar.scss","../light/modules/_toolbar.scss","../light/modules/_offcanvas.scss","../light/modules/_dialog.scss","../light/modules/_tree.scss","../light/modules/_breadcrumb.scss","../light/modules/_form.scss","../light/modules/_table.scss","../light/modules/_im.scss","../light/modules/_flags.scss","../light/modules/_rating_and_comments.scss","../light/modules/_chart.scss","../light/modules/_forum.scss","../light/modules/_various_modules.scss","../light/modules/_autocomplete.scss","../light/modules/_search.scss","../light/modules/_wizard.scss","../light/modules/_process.scss","../light/modules/_cal.scss","../light/modules/_coursesite.scss","../light/modules/_repository.scss","../light/modules/_course.scss","../light/modules/_qti.scss","../light/modules/_qti21.scss","../light/modules/_devel.scss","../light/modules/_wiki.scss","../light/modules/_portfolio.scss","../light/modules/_portfoliomaps/_epmst_default.scss","../light/modules/_portfoliomaps/_mixins.scss","../light/modules/_portfoliomaps/_epmst_comic.scss","../light/modules/_portfoliomaps/_epmst_leather.scss","../light/modules/_portfoliomaps/_epmst_green.scss","../light/modules/_portfoliomaps/_epmst_green2.scss","../light/modules/_portfoliomaps/_epmst_green3.scss","../light/modules/_portfoliomaps/_epmst_green4.scss","../light/modules/_portfoliomaps/_epmst_red.scss","../light/modules/_portfoliomaps/_epmst_red2.scss","../light/modules/_portfoliomaps/_epmst_red3.scss","../light/modules/_portfoliomaps/_epmst_red4.scss","../light/modules/_portfoliomaps/_epmst_blue.scss","../light/modules/_portfoliomaps/_epmst_blue2.scss","../light/modules/_portfoliomaps/_epmst_blue3.scss","../light/modules/_portfoliomaps/_epmst_blue4.scss","../light/modules/_portfolio_v2.scss","../light/modules/_evaluation_form.scss","../light/modules/_citation.scss","../light/modules/_video.scss","../light/modules/_admin.scss","../light/modules/_qpool.scss","../light/modules/_dmz.scss","../light/modules/_portal.scss","../light/modules/_library.scss","../light/modules/_translationtool.scss","../light/modules/_user.scss","../light/modules/_members.scss","../light/modules/_grouptask.scss","../light/modules/_lecture.scss","../light/modules/_edubase.scss","../light/modules/_taxonomy.scss","../light/modules/_thirdparty.scss","../light/modules/_print.scss","../light/modules/_highscore.scss","../light/_patches.scss","../../bootstrap/stylesheets/bootstrap/_theme.scss","../light/styles/_realistic.scss","_openolat_theme.scss"], "names": [], "file": "theme.css" diff --git a/src/test/java/org/olat/basesecurity/BaseSecurityManagerTest.java b/src/test/java/org/olat/basesecurity/BaseSecurityManagerTest.java index d4b114e41467fb194688c6fff5edd065301ac4c9..269e813afe01d5f5babd7599964631c5b017d299 100644 --- a/src/test/java/org/olat/basesecurity/BaseSecurityManagerTest.java +++ b/src/test/java/org/olat/basesecurity/BaseSecurityManagerTest.java @@ -36,6 +36,7 @@ import org.olat.core.commons.services.webdav.manager.WebDAVAuthManager; import org.olat.core.id.Identity; import org.olat.core.id.Organisation; import org.olat.core.id.Roles; +import org.olat.core.id.RolesByOrganisation; import org.olat.core.id.User; import org.olat.core.id.UserConstants; import org.olat.core.util.Encoder; @@ -316,8 +317,8 @@ public class BaseSecurityManagerTest extends OlatTestCase { //update roles Organisation defOrganisation = organisationService.getDefaultOrganisation(); - Roles modifiedRoles = new Roles(false, true, true, true, true, false, true, true, true, false, false); - securityManager.updateRoles(id2, id1, defOrganisation, modifiedRoles); + RolesByOrganisation modifiedRoles = RolesByOrganisation.roles(defOrganisation, false, false, true, false, true, true, true, true, true, true, true); + securityManager.updateRoles(id2, id1, modifiedRoles); dbInstance.commitAndCloseSession(); //check roles @@ -329,7 +330,7 @@ public class BaseSecurityManagerTest extends OlatTestCase { Assert.assertTrue(reloadRoles.isLearnResourceManager()); Assert.assertFalse(reloadRoles.isInvitee()); Assert.assertTrue(reloadRoles.isOLATAdmin()); - Assert.assertTrue(reloadRoles.isPoolAdmin()); + Assert.assertTrue(reloadRoles.isQPoolManager()); Assert.assertTrue(reloadRoles.isCurriculumManager()); Assert.assertTrue(reloadRoles.isUserManager()); } @@ -347,8 +348,8 @@ public class BaseSecurityManagerTest extends OlatTestCase { //update roles Organisation defOrganisation = organisationService.getDefaultOrganisation(); - Roles modifiedRoles = new Roles(false, false, true, false, true, false, false, false, true, false, false); - securityManager.updateRoles(id2, id1, defOrganisation, modifiedRoles); + RolesByOrganisation modifiedRoles = RolesByOrganisation.roles(defOrganisation, false, false, true, false, true, false, false, true, true, false, false); + securityManager.updateRoles(id2, id1, modifiedRoles); dbInstance.commitAndCloseSession(); //check roles @@ -360,7 +361,7 @@ public class BaseSecurityManagerTest extends OlatTestCase { Assert.assertFalse(reloadRoles.isLearnResourceManager()); Assert.assertFalse(reloadRoles.isInvitee()); Assert.assertFalse(reloadRoles.isOLATAdmin()); - Assert.assertFalse(reloadRoles.isPoolAdmin()); + Assert.assertFalse(reloadRoles.isQPoolManager()); Assert.assertTrue(reloadRoles.isCurriculumManager()); Assert.assertTrue(reloadRoles.isUserManager()); } @@ -370,16 +371,16 @@ public class BaseSecurityManagerTest extends OlatTestCase { */ @Test public void testUpdateRoles_guest() { - Identity invitee = JunitTestHelper.createAndPersistIdentityAsUser("invitee-" + UUID.randomUUID().toString()); - Identity user = JunitTestHelper.createAndPersistIdentityAsUser("invitee-" + UUID.randomUUID().toString()); + Identity invitee = JunitTestHelper.createAndPersistIdentityAsRndUser("invitee-1"); + Identity user = JunitTestHelper.createAndPersistIdentityAsRndUser("invitee-2"); Roles roles = securityManager.getRoles(invitee); Assert.assertNotNull(roles); dbInstance.commitAndCloseSession(); //update roles Organisation defOrganisation = organisationService.getDefaultOrganisation(); - Roles modifiedRoles = new Roles(true, true, true, true, true, true, false); - securityManager.updateRoles(user, invitee, defOrganisation, modifiedRoles); + RolesByOrganisation modifiedRoles = new RolesByOrganisation(defOrganisation, new OrganisationRoles[] { OrganisationRoles.guest, OrganisationRoles.administrator }); + securityManager.updateRoles(user, invitee, modifiedRoles); dbInstance.commitAndCloseSession(); //check roles diff --git a/src/test/java/org/olat/basesecurity/manager/OrganisationDAOTest.java b/src/test/java/org/olat/basesecurity/manager/OrganisationDAOTest.java index 0d54a49d937fbf423a3ba516b0e8d67d95a4f362..bcf2ac90537eb1dc16e97a2a6d4ca03e6905a127 100644 --- a/src/test/java/org/olat/basesecurity/manager/OrganisationDAOTest.java +++ b/src/test/java/org/olat/basesecurity/manager/OrganisationDAOTest.java @@ -19,6 +19,8 @@ */ package org.olat.basesecurity.manager; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.UUID; @@ -29,6 +31,8 @@ import org.olat.basesecurity.OrganisationService; import org.olat.basesecurity.OrganisationType; import org.olat.basesecurity.model.OrganisationImpl; import org.olat.basesecurity.model.OrganisationMember; +import org.olat.basesecurity.model.OrganisationNode; +import org.olat.basesecurity.model.OrganisationRefImpl; import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; import org.olat.core.id.Organisation; @@ -66,7 +70,7 @@ public class OrganisationDAOTest extends OlatTestCase { @Test public void createOrganisation_allAttributes() { - OrganisationType type = organisationTypeDao.createAndPersist("Org-Type", "OT"); + OrganisationType type = organisationTypeDao.createAndPersist("Org-Type", "OT", null); Organisation organisation = organisationDao .createAndPersistOrganisation("Org-5", "ORG-5", null, null, type); dbInstance.commitAndCloseSession(); @@ -146,7 +150,7 @@ public class OrganisationDAOTest extends OlatTestCase { } @Test - public void getIdentities() { + public void getIdentities_organisationIdentifier() { Identity member1 = JunitTestHelper.createAndPersistIdentityAsRndUser("Member-2"); Identity member2 = JunitTestHelper.createAndPersistIdentityAsRndUser("Member-3"); String identifier = UUID.randomUUID().toString(); @@ -163,9 +167,241 @@ public class OrganisationDAOTest extends OlatTestCase { Assert.assertFalse(userManagers.contains(member1)); } + @Test + public void getIdentities_role() { + Identity member1 = JunitTestHelper.createAndPersistIdentityAsRndUser("Member-4"); + Identity member2 = JunitTestHelper.createAndPersistIdentityAsRndUser("Member-5"); + String identifier = UUID.randomUUID().toString(); + Organisation organisation1 = organisationDao.createAndPersistOrganisation("Org 8", identifier, null, null, null); + Organisation organisation2 = organisationDao.createAndPersistOrganisation("Org 9", identifier, null, null, null); + dbInstance.commit(); + organisationService.addMember(organisation1, member1, OrganisationRoles.groupmanager); + organisationService.addMember(organisation1, member2, OrganisationRoles.usermanager); + organisationService.addMember(organisation2, member1, OrganisationRoles.usermanager); + organisationService.addMember(organisation2, member2, OrganisationRoles.usermanager); + dbInstance.commitAndCloseSession(); + + List<Identity> userManagers = organisationDao.getIdentities(OrganisationRoles.usermanager.name()); + Assert.assertNotNull(userManagers); + Assert.assertTrue(userManagers.contains(member1)); + Assert.assertTrue(userManagers.contains(member2)); + + List<Identity> groupManagers = organisationDao.getIdentities(OrganisationRoles.groupmanager.name()); + Assert.assertNotNull(groupManagers); + Assert.assertTrue(groupManagers.contains(member1)); + Assert.assertFalse(groupManagers.contains(member2)); + + List<Identity> poolManagers = organisationDao.getIdentities(OrganisationRoles.poolmanager.name()); + Assert.assertNotNull(poolManagers); + Assert.assertFalse(poolManagers.contains(member1)); + Assert.assertFalse(poolManagers.contains(member2)); + } + + @Test + public void getOrganisations_identity() { + Identity member = JunitTestHelper.createAndPersistIdentityAsRndUser("Member-6"); + String identifier = UUID.randomUUID().toString(); + Organisation defOrganisation = organisationService.getDefaultOrganisation(); + Organisation organisation1 = organisationDao.createAndPersistOrganisation("Org 10", identifier, null, null, null); + Organisation organisation2 = organisationDao.createAndPersistOrganisation("Org 11", identifier, null, null, null); + Organisation organisation3 = organisationDao.createAndPersistOrganisation("Org 12", identifier, null, null, null); + dbInstance.commit(); + organisationService.addMember(organisation1, member, OrganisationRoles.user); + organisationService.addMember(organisation1, member, OrganisationRoles.usermanager); + organisationService.addMember(organisation2, member, OrganisationRoles.user); + organisationService.addMember(organisation3, member, OrganisationRoles.user); + organisationService.addMember(organisation3, member, OrganisationRoles.poolmanager); + dbInstance.commitAndCloseSession(); + + List<String> managerRoles = new ArrayList<>(); + managerRoles.add(OrganisationRoles.usermanager.name()); + managerRoles.add(OrganisationRoles.groupmanager.name()); + managerRoles.add(OrganisationRoles.poolmanager.name()); + List<Organisation> managedOrganisations = organisationDao.getOrganisations(member, managerRoles); + Assert.assertEquals(2, managedOrganisations.size()); + Assert.assertTrue(managedOrganisations.contains(organisation1)); + Assert.assertTrue(managedOrganisations.contains(organisation3)); + + List<String> userRole = Collections.singletonList(OrganisationRoles.user.name()); + List<Organisation> organisations = organisationDao.getOrganisations(member, userRole); + Assert.assertEquals(4, organisations.size()); + Assert.assertTrue(organisations.contains(organisation1)); + Assert.assertTrue(organisations.contains(organisation2)); + Assert.assertTrue(organisations.contains(organisation3)); + Assert.assertTrue(organisations.contains(defOrganisation)); + } + + @Test + public void getOrganisations_references() { + String identifier = UUID.randomUUID().toString(); + Organisation organisation1 = organisationDao.createAndPersistOrganisation("Org 13", identifier, null, null, null); + Organisation organisation2 = organisationDao.createAndPersistOrganisation("Org 14", identifier, null, null, null); + Organisation organisation3 = organisationDao.createAndPersistOrganisation("Org 15", identifier, null, null, null); + dbInstance.commitAndCloseSession(); + + List<OrganisationRef> twoOrganisationRefs = new ArrayList<>(); + twoOrganisationRefs.add(new OrganisationRefImpl(organisation1.getKey())); + twoOrganisationRefs.add(new OrganisationRefImpl(organisation3.getKey())); + + List<Organisation> organisations = organisationDao.getOrganisations(twoOrganisationRefs); + Assert.assertEquals(2, organisations.size()); + Assert.assertTrue(organisations.contains(organisation1)); + Assert.assertFalse(organisations.contains(organisation2)); + Assert.assertTrue(organisations.contains(organisation3)); + } + + @Test + public void getOrganisations_referencesEmpty() { + List<OrganisationRef> noOrganisationRefs = new ArrayList<>(); + List<Organisation> organisations = organisationDao.getOrganisations(noOrganisationRefs); + Assert.assertNotNull(organisations); + Assert.assertTrue(organisations.isEmpty()); + } + + @Test + public void getOrganisations_referencesNull() { + List<Organisation> organisations = organisationDao.getOrganisations(null); + Assert.assertNotNull(organisations); + Assert.assertTrue(organisations.isEmpty()); + } + + @Test + public void getDescendants() { + String identifier = UUID.randomUUID().toString(); + Organisation defOrganisation = organisationService.getDefaultOrganisation(); + Organisation rootOrganisation = organisationDao.createAndPersistOrganisation("Root 1", identifier, null, defOrganisation, null); + Organisation organisation2_1 = organisationDao.createAndPersistOrganisation("Level 2.1", identifier, null, rootOrganisation, null); + Organisation organisation2_2 = organisationDao.createAndPersistOrganisation("Level 2.2", identifier, null, rootOrganisation, null); + dbInstance.commitAndCloseSession(); + Organisation organisation2_1_1 = organisationDao.createAndPersistOrganisation("Level 3.1", identifier, null, organisation2_1, null); + Organisation organisation2_1_2 = organisationDao.createAndPersistOrganisation("Level 3.2", identifier, null, organisation2_1, null); + Organisation organisation2_1_3 = organisationDao.createAndPersistOrganisation("Level 3.3", identifier, null, organisation2_1, null); + dbInstance.commitAndCloseSession(); + + List<Organisation> rootDescendants = organisationDao.getDescendants(rootOrganisation); + Assert.assertNotNull(rootDescendants); + Assert.assertEquals(5, rootDescendants.size()); + Assert.assertTrue(rootDescendants.contains(organisation2_1)); + Assert.assertTrue(rootDescendants.contains(organisation2_2)); + Assert.assertTrue(rootDescendants.contains(organisation2_1_1)); + Assert.assertTrue(rootDescendants.contains(organisation2_1_2)); + Assert.assertTrue(rootDescendants.contains(organisation2_1_3)); + } + + @Test + public void getDescendants_leaf() { + String identifier = UUID.randomUUID().toString(); + Organisation defOrganisation = organisationService.getDefaultOrganisation(); + Organisation organisation = organisationDao.createAndPersistOrganisation("Root 1", identifier, null, defOrganisation, null); + dbInstance.commitAndCloseSession(); + + List<Organisation> descendants = organisationDao.getDescendants(organisation); + Assert.assertNotNull(descendants); + Assert.assertTrue(descendants.isEmpty()); + } + + @Test + public void getDescendantTree() { + String identifier = UUID.randomUUID().toString(); + Organisation defOrganisation = organisationService.getDefaultOrganisation(); + Organisation rootOrganisation = organisationDao.createAndPersistOrganisation("Root 2", identifier, null, defOrganisation, null); + Organisation organisation2_1 = organisationDao.createAndPersistOrganisation("Tree2 2.1", identifier, null, rootOrganisation, null); + Organisation organisation2_2 = organisationDao.createAndPersistOrganisation("Tree2 2.2", identifier, null, rootOrganisation, null); + dbInstance.commitAndCloseSession(); + Organisation organisation2_1_1 = organisationDao.createAndPersistOrganisation("Tree2 3.1", identifier, null, organisation2_1, null); + Organisation organisation2_1_2 = organisationDao.createAndPersistOrganisation("Tree2 3.2", identifier, null, organisation2_1, null); + Organisation organisation2_1_3 = organisationDao.createAndPersistOrganisation("Tree2 3.3", identifier, null, organisation2_1, null); + Organisation organisation2_2_1 = organisationDao.createAndPersistOrganisation("Tree2 3.4", identifier, null, organisation2_2, null); + dbInstance.commitAndCloseSession(); + Organisation organisation2_2_1_1 = organisationDao.createAndPersistOrganisation("Tree2 4.1", identifier, null, organisation2_2_1, null); + + // load the tree + OrganisationNode rootNode = organisationDao.getDescendantTree(rootOrganisation); + Assert.assertNotNull(rootNode); + // level 2 + OrganisationNode node2_1 = rootNode.getChild(organisation2_1); + OrganisationNode node2_2 = rootNode.getChild(organisation2_2); + Assert.assertNotNull(node2_1); + Assert.assertNotNull(node2_2); + // level 3 + OrganisationNode node2_1_1 = node2_1.getChild(organisation2_1_1); + OrganisationNode node2_1_2 = node2_1.getChild(organisation2_1_2); + OrganisationNode node2_1_3 = node2_1.getChild(organisation2_1_3); + Assert.assertNotNull(node2_1_1); + Assert.assertNotNull(node2_1_2); + Assert.assertNotNull(node2_1_3); + OrganisationNode node2_2_1 = node2_2.getChild(organisation2_2_1); + Assert.assertNotNull(node2_2_1); + // level 4 + OrganisationNode node2_2_1_1 = node2_2_1.getChild(organisation2_2_1_1); + Assert.assertNotNull(node2_2_1_1); + } + + @Test + public void getDescendantTree_leaf() { + String identifier = UUID.randomUUID().toString(); + Organisation defOrganisation = organisationService.getDefaultOrganisation(); + Organisation organisation = organisationDao.createAndPersistOrganisation("Root 3", identifier, null, defOrganisation, null); + dbInstance.commitAndCloseSession(); + + OrganisationNode rootNode = organisationDao.getDescendantTree(organisation); + Assert.assertNotNull(rootNode); + Assert.assertTrue(rootNode.getChildrenNode().isEmpty()); + } + + @Test + public void getParentLine() { + String identifier = UUID.randomUUID().toString(); + Organisation defOrganisation = organisationService.getDefaultOrganisation(); + Organisation rootOrganisation = organisationDao.createAndPersistOrganisation("Root 4", identifier, null, defOrganisation, null); + Organisation organisation2_1 = organisationDao.createAndPersistOrganisation("Tree4 2.1", identifier, null, rootOrganisation, null); + Organisation organisation2_2 = organisationDao.createAndPersistOrganisation("Tree4 2.2", identifier, null, rootOrganisation, null); + dbInstance.commitAndCloseSession(); + Organisation organisation2_1_1 = organisationDao.createAndPersistOrganisation("Tree4 3.1", identifier, null, organisation2_1, null); + Organisation organisation2_1_2 = organisationDao.createAndPersistOrganisation("Tree4 3.2", identifier, null, organisation2_1, null); + Organisation organisation2_2_1 = organisationDao.createAndPersistOrganisation("Tree4 3.4", identifier, null, organisation2_2, null); + dbInstance.commitAndCloseSession(); + Organisation organisation2_2_1_1 = organisationDao.createAndPersistOrganisation("Tree4 4-1", identifier, null, organisation2_2_1, null); + dbInstance.commitAndCloseSession(); + + // check parent line of the deepest node + List<Organisation> parentLine2_2_1_1 = organisationDao.getParentLine(organisation2_2_1_1); + Assert.assertNotNull(parentLine2_2_1_1); + Assert.assertEquals(5, parentLine2_2_1_1.size()); + Assert.assertEquals(defOrganisation, parentLine2_2_1_1.get(0)); + Assert.assertEquals(rootOrganisation, parentLine2_2_1_1.get(1)); + Assert.assertEquals(organisation2_2, parentLine2_2_1_1.get(2)); + Assert.assertEquals(organisation2_2_1, parentLine2_2_1_1.get(3)); + Assert.assertEquals(organisation2_2_1_1, parentLine2_2_1_1.get(4)); + + // check parent line of other + List<Organisation> parentLine2_1_2 = organisationDao.getParentLine(organisation2_1_2); + Assert.assertNotNull(parentLine2_1_2); + Assert.assertEquals(4, parentLine2_1_2.size()); + Assert.assertEquals(defOrganisation, parentLine2_1_2.get(0)); + Assert.assertEquals(rootOrganisation, parentLine2_1_2.get(1)); + Assert.assertEquals(organisation2_1, parentLine2_1_2.get(2)); + Assert.assertEquals(organisation2_1_2, parentLine2_1_2.get(3)); + + // check parent line of other + List<Organisation> parentLine2_1_1 = organisationDao.getParentLine(organisation2_1_1); + Assert.assertNotNull(parentLine2_1_1); + Assert.assertEquals(4, parentLine2_1_1.size()); + Assert.assertEquals(defOrganisation, parentLine2_1_1.get(0)); + Assert.assertEquals(rootOrganisation, parentLine2_1_1.get(1)); + Assert.assertEquals(organisation2_1, parentLine2_1_1.get(2)); + Assert.assertEquals(organisation2_1_1, parentLine2_1_1.get(3)); + + // check parent line of def + List<Organisation> parentLineDef = organisationDao.getParentLine(defOrganisation); + Assert.assertNotNull(parentLineDef); + Assert.assertEquals(1, parentLineDef.size()); + Assert.assertEquals(defOrganisation, parentLineDef.get(0)); + } + @Test public void hasRole() { - Identity member = JunitTestHelper.createAndPersistIdentityAsRndUser("Member-4"); + Identity member = JunitTestHelper.createAndPersistIdentityAsRndUser("Member-7"); String identifier = UUID.randomUUID().toString(); Organisation organisation = organisationDao.createAndPersistOrganisation("OpenOLAT E2E", identifier, null, null, null); dbInstance.commit(); @@ -179,4 +415,19 @@ public class OrganisationDAOTest extends OlatTestCase { boolean isNotPoolManager = organisationDao.hasRole(member, "something else", OrganisationRoles.poolmanager.name()); Assert.assertFalse(isNotPoolManager); } + + @Test + public void hasAnyRole() { + Identity member = JunitTestHelper.createAndPersistIdentityAsRndUser("Member-8"); + String identifier = UUID.randomUUID().toString(); + Organisation organisation = organisationDao.createAndPersistOrganisation("Org. 8", identifier, null, null, null); + dbInstance.commit(); + organisationService.addMember(organisation, member, OrganisationRoles.user); + dbInstance.commitAndCloseSession(); + + boolean hasNot = organisationDao.hasAnyRole(member, OrganisationRoles.user.name()); + Assert.assertFalse(hasNot); + boolean has = organisationDao.hasAnyRole(member, OrganisationRoles.usermanager.name()); + Assert.assertTrue(has); + } } diff --git a/src/test/java/org/olat/basesecurity/manager/OrganisationServiceTest.java b/src/test/java/org/olat/basesecurity/manager/OrganisationServiceTest.java index 370a020f40f0a80971f3f509a1024a2ae98e72de..c92bd0e0be4b049e396c06025c7750ae437da952 100644 --- a/src/test/java/org/olat/basesecurity/manager/OrganisationServiceTest.java +++ b/src/test/java/org/olat/basesecurity/manager/OrganisationServiceTest.java @@ -20,12 +20,23 @@ package org.olat.basesecurity.manager; import java.util.List; +import java.util.UUID; import org.junit.Assert; import org.junit.Test; +import org.olat.basesecurity.BaseSecurity; +import org.olat.basesecurity.BaseSecurityModule; +import org.olat.basesecurity.GroupMembership; +import org.olat.basesecurity.GroupMembershipInheritance; +import org.olat.basesecurity.OrganisationRoles; import org.olat.basesecurity.OrganisationService; +import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; +import org.olat.core.id.Organisation; +import org.olat.core.id.User; +import org.olat.test.JunitTestHelper; import org.olat.test.OlatTestCase; +import org.olat.user.UserManager; import org.springframework.beans.factory.annotation.Autowired; /** @@ -36,14 +47,196 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class OrganisationServiceTest extends OlatTestCase { + @Autowired + private DB dbInstance; + @Autowired + private GroupDAO groupDao; + @Autowired + private UserManager userManager; + @Autowired + private BaseSecurity securityManager; + @Autowired + private OrganisationDAO organisationDao; @Autowired private OrganisationService organisationService; + @Test + public void getDefaultOrganisation() { + Organisation organisation = organisationService.getDefaultOrganisation(); + Assert.assertNotNull(organisation); + Assert.assertEquals(OrganisationService.DEFAULT_ORGANISATION_IDENTIFIER, organisation.getIdentifier()); + } + @Test public void getDefaultsSystemAdministator() { List<Identity> administrators = organisationService.getDefaultsSystemAdministator(); Assert.assertNotNull(administrators); Assert.assertFalse(administrators.isEmpty()); } + + @Test + public void addMembershipWithInheritance() { + Identity user = createRandomUser("Org. user"); + + Organisation organisation = organisationService.getDefaultOrganisation(); + String identifierLevel1 = UUID.randomUUID().toString(); + Organisation organisationLevel1 = organisationService.createOrganisation("Sub-organisation", identifierLevel1, "", organisation, null); + String identifierLevel2 = UUID.randomUUID().toString(); + Organisation organisationLevel2 = organisationService.createOrganisation("Sub-sub-organisation", identifierLevel2, "", organisationLevel1, null); + dbInstance.commitAndCloseSession(); + + //add membership + organisationService.addMember(organisationLevel1, user, OrganisationRoles.user, GroupMembershipInheritance.root); + dbInstance.commitAndCloseSession(); + + //check level 1 + GroupMembership membershipLevel1 = groupDao.getMembership(organisationLevel1.getGroup(), user, OrganisationRoles.user.name()); + Assert.assertNotNull(membershipLevel1); + Assert.assertEquals(OrganisationRoles.user.name(), membershipLevel1.getRole()); + Assert.assertEquals(GroupMembershipInheritance.root, membershipLevel1.getInheritanceMode()); + + //check level 2 + GroupMembership membershipLevel2 = groupDao.getMembership(organisationLevel2.getGroup(), user, OrganisationRoles.user.name()); + Assert.assertEquals(OrganisationRoles.user.name(), membershipLevel2.getRole()); + Assert.assertEquals(GroupMembershipInheritance.inherited, membershipLevel2.getInheritanceMode()); + } + + @Test + public void removeAllMembershipWithInheritance() { + Identity user = createRandomUser("Org. user"); + + Organisation organisation = organisationService.getDefaultOrganisation(); + String identifierLevel1 = UUID.randomUUID().toString(); + Organisation organisationLevel1 = organisationService.createOrganisation("1. Org.", identifierLevel1, "", organisation, null); + String identifierLevel1_1 = UUID.randomUUID().toString(); + Organisation organisationLevel1_1 = organisationService.createOrganisation("1.1.", identifierLevel1_1, "", organisationLevel1, null); + dbInstance.commitAndCloseSession(); + + //add membership + organisationService.addMember(organisationLevel1, user, OrganisationRoles.user, GroupMembershipInheritance.root); + organisationService.addMember(organisationLevel1_1, user, OrganisationRoles.author, GroupMembershipInheritance.none); + dbInstance.commitAndCloseSession(); + + //check level 1 + GroupMembership membershipLevel1 = groupDao.getMembership(organisationLevel1.getGroup(), user, OrganisationRoles.user.name()); + Assert.assertNotNull(membershipLevel1); + Assert.assertEquals(OrganisationRoles.user.name(), membershipLevel1.getRole()); + Assert.assertEquals(GroupMembershipInheritance.root, membershipLevel1.getInheritanceMode()); + + //check level 1-1 + GroupMembership membershipLevel2 = groupDao.getMembership(organisationLevel1_1.getGroup(), user, OrganisationRoles.user.name()); + Assert.assertEquals(OrganisationRoles.user.name(), membershipLevel2.getRole()); + Assert.assertEquals(GroupMembershipInheritance.inherited, membershipLevel2.getInheritanceMode()); + + // remove all the memberships + organisationService.removeMember(organisationLevel1, user); + dbInstance.commitAndCloseSession(); + + // check there is no membership left + List<GroupMembership> membershipsLevel1 = groupDao.getMemberships(organisationLevel1.getGroup(), user); + Assert.assertTrue(membershipsLevel1.isEmpty()); + List<GroupMembership> membershipsLevel1_1 = groupDao.getMemberships(organisationLevel1_1.getGroup(), user); + Assert.assertEquals(1, membershipsLevel1_1.size()); + + GroupMembership lastMembersip = membershipsLevel1_1.get(0); + Assert.assertEquals(OrganisationRoles.author.name(), lastMembersip.getRole()); + } + + @Test + public void createSubOrganisationWithInheritedsMemberships() { + Identity user = createRandomUser("Org. user"); + + Organisation defOrganisation = organisationService.getDefaultOrganisation(); + Organisation organisation = organisationService.createOrganisation("Inherit-organisation", "Top", "", defOrganisation, null); + organisationService.addMember(organisation, user, OrganisationRoles.usermanager); + organisationService.addMember(organisation, user, OrganisationRoles.user); + dbInstance.commitAndCloseSession(); + + + Organisation subOrganisation = organisationService.createOrganisation("Sub-organisation", "Sub", "", organisation, null); + + //check level user role (not inherited) + GroupMembership userMembership = groupDao.getMembership(subOrganisation.getGroup(), user, OrganisationRoles.user.name()); + Assert.assertNull(userMembership); + + //check level user manager role (inherited) + GroupMembership userManagerMembership = groupDao.getMembership(subOrganisation.getGroup(), user, OrganisationRoles.usermanager.name()); + Assert.assertEquals(OrganisationRoles.usermanager.name(), userManagerMembership.getRole()); + Assert.assertEquals(GroupMembershipInheritance.inherited, userManagerMembership.getInheritanceMode()); + } + + /** + * Move the organisation1_1 from organisation1 to organisation2 and + * check the inheritance of membership. + */ + @Test + public void moveOrganisation() { + Organisation defOrganisation = organisationService.getDefaultOrganisation(); + Organisation organisation1 = organisationService.createOrganisation("Top 1", "Top 1", "", defOrganisation, null); + Organisation organisation1_1 = organisationService.createOrganisation("Medium 1", "Medium 1", "", organisation1, null); + Organisation organisation1_1_1 = organisationService.createOrganisation("Low 1", "Low 1", "", organisation1_1, null); + Organisation organisation1_1_2 = organisationService.createOrganisation("Low 2", "Low 2", "", organisation1_1, null); + Organisation organisation1_1_3 = organisationService.createOrganisation("Low 3", "Low 3", "", organisation1_1, null); + Organisation organisation1_1_3_1 = organisationService.createOrganisation("Underworld 1", "Underworld 1", "", organisation1_1_3, null); + Organisation organisation1_1_3_2 = organisationService.createOrganisation("Underworld 2", "Underworld 2", "", organisation1_1_3, null); + Organisation organisation2 = organisationService.createOrganisation("Top 2", "Top 2", "", defOrganisation, null); + dbInstance.commitAndCloseSession(); + + Identity userManager1 = JunitTestHelper.createAndPersistIdentityAsRndUser("user-mgr-1"); + Identity userManager2 = JunitTestHelper.createAndPersistIdentityAsRndUser("user-mgr-2"); + Identity author1_1 = JunitTestHelper.createAndPersistIdentityAsRndUser("author-1-1"); + Identity author1_1_3 = JunitTestHelper.createAndPersistIdentityAsRndUser("author-1-1-3"); + Identity user1_1_2 = JunitTestHelper.createAndPersistIdentityAsRndUser("user-1-1-2"); + organisationService.addMember(organisation1, userManager1, OrganisationRoles.usermanager); + organisationService.addMember(organisation2, userManager2, OrganisationRoles.usermanager); + organisationService.addMember(organisation1_1, author1_1, OrganisationRoles.author); + organisationService.addMember(organisation1_1_3, author1_1_3, OrganisationRoles.author); + organisationService.addMember(organisation1_1_2, user1_1_2, OrganisationRoles.user); + dbInstance.commitAndCloseSession(); + + organisationService.moveOrganisation(organisation1_1, organisation2); + dbInstance.commitAndCloseSession(); + + //check descendants + List<Organisation> descendantsOrganisation1 = organisationDao.getDescendants(organisation1); + Assert.assertTrue(descendantsOrganisation1.isEmpty()); + List<Organisation> descendantsOrganisation2 = organisationDao.getDescendants(organisation2); + Assert.assertTrue(descendantsOrganisation2.contains(organisation1_1)); + Assert.assertTrue(descendantsOrganisation2.contains(organisation1_1_1)); + Assert.assertTrue(descendantsOrganisation2.contains(organisation1_1_2)); + Assert.assertTrue(descendantsOrganisation2.contains(organisation1_1_3)); + Assert.assertTrue(descendantsOrganisation2.contains(organisation1_1_3_1)); + Assert.assertTrue(descendantsOrganisation2.contains(organisation1_1_3_2)); + + // check memberships + // user manager 1 lost it's membership on "Medium", it's under organization 2 + GroupMembership userManager1Membership = groupDao.getMembership(organisation1_1.getGroup(), userManager1, OrganisationRoles.usermanager.name()); + Assert.assertNull(userManager1Membership); + // user manager 2 get power over "Medium" + GroupMembership userManager2Membership = groupDao.getMembership(organisation1_1_3_1.getGroup(), userManager2, OrganisationRoles.usermanager.name()); + Assert.assertNotNull(userManager2Membership); + Assert.assertEquals(GroupMembershipInheritance.inherited, userManager2Membership.getInheritanceMode()); + // author on "Medium" stay + GroupMembership author1_1Membership = groupDao.getMembership(organisation1_1.getGroup(), author1_1, OrganisationRoles.author.name()); + Assert.assertNotNull(author1_1Membership); + Assert.assertEquals(GroupMembershipInheritance.root, author1_1Membership.getInheritanceMode()); + GroupMembership author1_1MembershipInherited = groupDao.getMembership(organisation1_1_2.getGroup(), author1_1, OrganisationRoles.author.name()); + Assert.assertNotNull(author1_1MembershipInherited); + Assert.assertEquals(GroupMembershipInheritance.inherited, author1_1MembershipInherited.getInheritanceMode()); + // author on "Low" stay + GroupMembership author1_1_3Membership = groupDao.getMembership(organisation1_1_3.getGroup(), author1_1_3, OrganisationRoles.author.name()); + Assert.assertNotNull(author1_1_3Membership); + Assert.assertEquals(GroupMembershipInheritance.root, author1_1_3Membership.getInheritanceMode()); + GroupMembership author1_1_3MembershipInherited = groupDao.getMembership(organisation1_1_3_2.getGroup(), author1_1_3, OrganisationRoles.author.name()); + Assert.assertNotNull(author1_1_3MembershipInherited); + Assert.assertEquals(GroupMembershipInheritance.inherited, author1_1_3MembershipInherited.getInheritanceMode()); + } + + private Identity createRandomUser(String login) { + login += UUID.randomUUID().toString(); + User user = userManager.createUser("first" + login, "last" + login, login + "@openolat.com"); + return securityManager.createAndPersistIdentityAndUser(login, null, user, + BaseSecurityModule.getDefaultAuthProviderIdentifier(), login, JunitTestHelper.PWD); + } } diff --git a/src/test/java/org/olat/basesecurity/manager/OrganisationTypeDAOTest.java b/src/test/java/org/olat/basesecurity/manager/OrganisationTypeDAOTest.java index 80642eeafb8be8ad13f8f0faff4a6f4bad139be3..deb5e6b533558f160a5f96e9870ce61242404f3c 100644 --- a/src/test/java/org/olat/basesecurity/manager/OrganisationTypeDAOTest.java +++ b/src/test/java/org/olat/basesecurity/manager/OrganisationTypeDAOTest.java @@ -19,10 +19,11 @@ */ package org.olat.basesecurity.manager; +import java.util.List; + import org.junit.Assert; import org.junit.Test; import org.olat.basesecurity.OrganisationType; -import org.olat.basesecurity.manager.OrganisationTypeDAO; import org.olat.core.commons.persistence.DB; import org.olat.test.OlatTestCase; import org.springframework.beans.factory.annotation.Autowired; @@ -42,7 +43,7 @@ public class OrganisationTypeDAOTest extends OlatTestCase { @Test public void createOrganisationType() { - OrganisationType type = organisationTypeDao.createAndPersist("Typo", "3.0"); + OrganisationType type = organisationTypeDao.createAndPersist("Typo", "3.0", null); dbInstance.commitAndCloseSession(); Assert.assertNotNull(type); Assert.assertNotNull(type.getKey()); @@ -54,7 +55,7 @@ public class OrganisationTypeDAOTest extends OlatTestCase { @Test public void loadOrganisationType() { - OrganisationType type = organisationTypeDao.createAndPersist("Typo", "4.0"); + OrganisationType type = organisationTypeDao.createAndPersist("Typo", "4.0", "Type 4.0 Description"); dbInstance.commitAndCloseSession(); Assert.assertNotNull(type); @@ -64,6 +65,47 @@ public class OrganisationTypeDAOTest extends OlatTestCase { Assert.assertNotNull(reloadedType.getLastModified()); Assert.assertEquals("Typo", reloadedType.getDisplayName()); Assert.assertEquals("4.0", reloadedType.getIdentifier()); + Assert.assertEquals("Type 4.0 Description", reloadedType.getDescription()); Assert.assertEquals(type, reloadedType); } + + @Test + public void loadAllOrganisationType() { + OrganisationType type = organisationTypeDao.createAndPersist("Typo", "5.0", "Type 5.0 Description"); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(type); + + List<OrganisationType> allTypes = organisationTypeDao.load(); + Assert.assertNotNull(allTypes); + Assert.assertFalse(allTypes.isEmpty()); + Assert.assertTrue(allTypes.contains(type)); + } + + @Test + public void updateOrganisationType() { + OrganisationType type = organisationTypeDao.createAndPersist("Typo", "6.0", "Type 6.0 Description"); + dbInstance.commitAndCloseSession(); + + // change every fields + OrganisationType reloadedType = organisationTypeDao.loadByKey(type.getKey()); + reloadedType.setIdentifier("6.1"); + reloadedType.setDisplayName("Alternate typo"); + reloadedType.setExternalId("EXT-ID-6.1"); + reloadedType.setDescription("Alternate description"); + reloadedType.setCssClass("CSS-6.1"); + OrganisationType mergedType = organisationTypeDao.updateOrganisationType(reloadedType); + Assert.assertNotNull(mergedType); + dbInstance.commitAndCloseSession(); + + // reload and check every fields + OrganisationType reloadedMergedType = organisationTypeDao.loadByKey(type.getKey()); + Assert.assertNotNull(reloadedMergedType); + Assert.assertNotNull(reloadedMergedType.getCreationDate()); + Assert.assertNotNull(reloadedMergedType.getLastModified()); + Assert.assertEquals("Alternate typo", reloadedMergedType.getDisplayName()); + Assert.assertEquals("6.1", reloadedMergedType.getIdentifier()); + Assert.assertEquals("EXT-ID-6.1", reloadedMergedType.getExternalId()); + Assert.assertEquals("CSS-6.1", reloadedMergedType.getCssClass()); + Assert.assertEquals("Alternate description", reloadedMergedType.getDescription()); + } } diff --git a/src/test/java/org/olat/basesecurity/manager/OrganisationTypeToTypeDAOTest.java b/src/test/java/org/olat/basesecurity/manager/OrganisationTypeToTypeDAOTest.java new file mode 100644 index 0000000000000000000000000000000000000000..8e02f14a97d612f2035224b3c56663e23677fe07 --- /dev/null +++ b/src/test/java/org/olat/basesecurity/manager/OrganisationTypeToTypeDAOTest.java @@ -0,0 +1,75 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.basesecurity.manager; + +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +import org.junit.Assert; +import org.junit.Test; +import org.olat.basesecurity.OrganisationType; +import org.olat.basesecurity.OrganisationTypeToType; +import org.olat.basesecurity.model.OrganisationTypeImpl; +import org.olat.core.commons.persistence.DB; +import org.olat.test.OlatTestCase; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 4 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class OrganisationTypeToTypeDAOTest extends OlatTestCase { + + @Autowired + private DB dbInstance; + @Autowired + private OrganisationTypeDAO organisationTypeDao; + @Autowired + private OrganisationTypeToTypeDAO organisationTypeToTypeDao; + + + + @Test + public void allowSubTypes() { + OrganisationType type = organisationTypeDao.createAndPersist("Type-parent", "A type", null); + OrganisationType subType1 = organisationTypeDao.createAndPersist("Type-sub-1", "A type", null); + OrganisationType subType2 = organisationTypeDao.createAndPersist("Type-sub-2", "A type", null); + dbInstance.commitAndCloseSession(); + + organisationTypeToTypeDao.addAllowedSubType(type, subType1); + organisationTypeToTypeDao.addAllowedSubType(type, subType2); + dbInstance.commitAndCloseSession(); + + OrganisationTypeImpl reloadedType = (OrganisationTypeImpl)organisationTypeDao.loadByKey(type.getKey()); + Assert.assertNotNull(reloadedType.getAllowedSubTypes()); + Assert.assertEquals(2, reloadedType.getAllowedSubTypes().size()); + Set<OrganisationTypeToType> allowedTypeSet = reloadedType.getAllowedSubTypes(); + List<OrganisationType> allowedSubTypes = allowedTypeSet.stream() + .map(t -> t.getAllowedSubOrganisationType()) + .collect(Collectors.toList()); + Assert.assertTrue(allowedSubTypes.contains(subType1)); + Assert.assertTrue(allowedSubTypes.contains(subType2)); + } + + +} diff --git a/src/test/java/org/olat/core/id/context/HistoryManagerTest.java b/src/test/java/org/olat/core/id/context/HistoryManagerTest.java index 6549480469b6128b8a5d14a0d739756b54628332..55669df7a1385f39c52e988af70cb12514938444 100644 --- a/src/test/java/org/olat/core/id/context/HistoryManagerTest.java +++ b/src/test/java/org/olat/core/id/context/HistoryManagerTest.java @@ -41,6 +41,7 @@ public class HistoryManagerTest extends OlatTestCase { @Autowired private HistoryManager historyManager; + /** * Test the compatibility for old resume files with business group * @throws IOException @@ -96,4 +97,32 @@ public class HistoryManagerTest extends OlatTestCase { HistoryPoint history = historyManager.readHistory(resumeXml); Assert.assertNotNull(history); } + + /** + * Test the compatibility with version 13 (varian a) + * @throws IOException + * @throws URISyntaxException + */ + @Test + public void testRead_v13a() throws IOException, URISyntaxException { + URL xmlUrl = HistoryManagerTest.class.getResource("resume_ver13a.xml"); + assertNotNull(xmlUrl); + File resumeXml = new File(xmlUrl.toURI()); + HistoryPoint history = historyManager.readHistory(resumeXml); + Assert.assertNotNull(history); + } + + /** + * Test the compatibility with version 13 (varian b) + * @throws IOException + * @throws URISyntaxException + */ + @Test + public void testRead_v13b() throws IOException, URISyntaxException { + URL xmlUrl = HistoryManagerTest.class.getResource("resume_ver13b.xml"); + assertNotNull(xmlUrl); + File resumeXml = new File(xmlUrl.toURI()); + HistoryPoint history = historyManager.readHistory(resumeXml); + Assert.assertNotNull(history); + } } diff --git a/src/test/java/org/olat/core/id/context/resume_ver13a.xml b/src/test/java/org/olat/core/id/context/resume_ver13a.xml new file mode 100644 index 0000000000000000000000000000000000000000..467a6dde812c4a3d057eb128e3f319894dd2dee2 --- /dev/null +++ b/src/test/java/org/olat/core/id/context/resume_ver13a.xml @@ -0,0 +1,260 @@ +<org.olat.core.id.context.HistoryPointImpl> + <uuid>16</uuid> + <businessPath>[RepositoryEntry:5242880][CourseNode:91389880396330]</businessPath> + <entries> + <org.olat.core.id.context.MyContextEntry> + <olatResourceable class="org.olat.repository.RepositoryEntry"> + <key>5242880</key> + <version>2</version> + <creationDate class="sql-timestamp">2018-05-04 09:58:45</creationDate> + <lastModified>2018-05-04 09:58:45.321 UTC</lastModified> + <softkey>2_1_97627386084952</softkey> + <olatResource class="org.olat.resource.OLATResourceImpl"> + <key>5144576</key> + <version>0</version> + <creationDate>2018-05-04 09:58:45.139 UTC</creationDate> + <resName>CourseModule</resName> + <resId>97627386084951</resId> + </olatResource> + <groups class="org.hibernate.collection.internal.PersistentSet"> + <isTempSession>false</isTempSession> + <initialized>false</initialized> + <owner class="org.olat.repository.RepositoryEntry" reference="../.."/> + <cachedSize>-1</cachedSize> + <role>org.olat.repository.RepositoryEntry.groups</role> + <key class="long">5242880</key> + <dirty>false</dirty> + <allowLoadOutsideTransaction>false</allowLoadOutsideTransaction> + </groups> + <organisations class="org.hibernate.collection.internal.PersistentSet"> + <isTempSession>false</isTempSession> + <initialized>true</initialized> + <owner class="org.olat.repository.RepositoryEntry" reference="../.."/> + <cachedSize>-1</cachedSize> + <role>org.olat.repository.RepositoryEntry.organisations</role> + <key class="long">5242880</key> + <dirty>false</dirty> + <storedSnapshot class="map"> + <entry> + <org.olat.repository.model.RepositoryEntryToOrganisationImpl> + <key>617</key> + <creationDate>2018-05-04 09:58:45.158 UTC</creationDate> + <lastModified reference="../creationDate"/> + <master>false</master> + <entry> + <key>5242880</key> + <version>1</version> + <creationDate>2018-05-04 09:58:45.128 UTC</creationDate> + <lastModified reference="../creationDate"/> + <softkey>2_1_97627386084952</softkey> + <olatResource class="org.olat.resource.OLATResourceImpl" reference="../../../../../../olatResource"/> + <groups class="org.hibernate.collection.internal.PersistentSet"> + <isTempSession>false</isTempSession> + <initialized>true</initialized> + <owner class="org.olat.repository.RepositoryEntry" reference="../.."/> + <cachedSize>-1</cachedSize> + <role>org.olat.repository.RepositoryEntry.groups</role> + <key class="long">5242880</key> + <dirty>false</dirty> + <storedSnapshot class="map"> + <entry> + <org.olat.repository.model.RepositoryEntryToGroupRelation> + <key>5275648</key> + <creationDate>2018-05-04 09:58:45.152 UTC</creationDate> + <defaultGroup>true</defaultGroup> + <group class="org.olat.basesecurity.model.GroupImpl"> + <key>5210112</key> + <creationDate>2018-05-04 09:58:45.146 UTC</creationDate> + <members class="org.hibernate.collection.internal.PersistentSet"> + <isTempSession>false</isTempSession> + <initialized>true</initialized> + <owner class="org.olat.basesecurity.model.GroupImpl" reference="../.."/> + <cachedSize>-1</cachedSize> + <role>org.olat.basesecurity.model.GroupImpl.members</role> + <key class="long">5210112</key> + <dirty>false</dirty> + <storedSnapshot class="map"> + <entry> + <org.olat.basesecurity.model.GroupMembershipImpl> + <key>4980738</key> + <creationDate>2018-05-04 09:58:45.152 UTC</creationDate> + <lastModified>2018-05-04 09:58:45.152 UTC</lastModified> + <role>owner</role> + <inheritanceModeString>none</inheritanceModeString> + <group class="org.olat.basesecurity.model.GroupImpl" reference="../../../../.."/> + <identity class="org.olat.basesecurity.IdentityImpl"> + <key>4882432</key> + <version>0</version> + <creationDate class="sql-timestamp">2018-05-04 09:58:42</creationDate> + <lastLogin class="sql-timestamp">2018-05-04 09:58:42</lastLogin> + <name>selena-1ecd96e68-11a9-4f</name> + <user class="org.olat.user.UserImpl"> + <key>4915200</key> + <version>1</version> + <creationDate class="sql-timestamp">2018-05-04 09:58:42</creationDate> + <identity class="org.olat.basesecurity.IdentityImpl" reference="../.."/> + <webdav>false</webdav> + <firstName>Selena-Auth-1ecd96e68-11a9-4f45-9a20-4e0e7d019bfa</firstName> + <lastName>Smith</lastName> + <email>selena-1ecd96e68-11a9-4f@frentix.com</email> + <gender>female</gender> + <birthDay>20091212</birthDay> + <telPrivate>39847592</telPrivate> + <telMobile>39847592</telMobile> + <telOffice>39847592</telOffice> + <preferences> + <language>de</language> + <fontsize>100</fontsize> + <notificationInterval>daily</notificationInterval> + <informSessionTimeout>false</informSessionTimeout> + <presenceMessagesPublic>false</presenceMessagesPublic> + </preferences> + <identEnvAttribs> + <entry> + <string>authprovider</string> + <string>OLAT</string> + </entry> + <entry> + <string>isrest</string> + <string>false</string> + </entry> + <entry> + <string>iswebdav</string> + <string>false</string> + </entry> + <entry> + <string>language</string> + <string>de</string> + </entry> + </identEnvAttribs> + </user> + <status>2</status> + </identity> + </org.olat.basesecurity.model.GroupMembershipImpl> + <org.olat.basesecurity.model.GroupMembershipImpl reference="../org.olat.basesecurity.model.GroupMembershipImpl"/> + </entry> + </storedSnapshot> + <allowLoadOutsideTransaction>false</allowLoadOutsideTransaction> + <set> + <org.olat.basesecurity.model.GroupMembershipImpl reference="../../storedSnapshot/entry/org.olat.basesecurity.model.GroupMembershipImpl"/> + </set> + </members> + </group> + <entry reference="../../../../.."/> + </org.olat.repository.model.RepositoryEntryToGroupRelation> + <org.olat.repository.model.RepositoryEntryToGroupRelation reference="../org.olat.repository.model.RepositoryEntryToGroupRelation"/> + </entry> + <entry> + <org.olat.repository.model.RepositoryEntryToGroupRelation> + <key>5275649</key> + <creationDate>2018-05-04 09:58:45.152 UTC</creationDate> + <defaultGroup>false</defaultGroup> + <group class="org.olat.basesecurity.model.GroupImpl"> + <key>65536</key> + <creationDate class="sql-timestamp">2018-05-04 08:50:29</creationDate> + <members class="org.hibernate.collection.internal.PersistentSet"> + <isTempSession>false</isTempSession> + <initialized>false</initialized> + <owner class="org.olat.basesecurity.model.GroupImpl" reference="../.."/> + <cachedSize>-1</cachedSize> + <role>org.olat.basesecurity.model.GroupImpl.members</role> + <key class="long">65536</key> + <dirty>false</dirty> + <allowLoadOutsideTransaction>false</allowLoadOutsideTransaction> + </members> + </group> + <entry reference="../../../../.."/> + </org.olat.repository.model.RepositoryEntryToGroupRelation> + <org.olat.repository.model.RepositoryEntryToGroupRelation reference="../org.olat.repository.model.RepositoryEntryToGroupRelation"/> + </entry> + </storedSnapshot> + <allowLoadOutsideTransaction>false</allowLoadOutsideTransaction> + <set> + <org.olat.repository.model.RepositoryEntryToGroupRelation reference="../../storedSnapshot/entry/org.olat.repository.model.RepositoryEntryToGroupRelation"/> + <org.olat.repository.model.RepositoryEntryToGroupRelation reference="../../storedSnapshot/entry[2]/org.olat.repository.model.RepositoryEntryToGroupRelation"/> + </set> + </groups> + <organisations class="org.hibernate.collection.internal.PersistentSet"> + <isTempSession>false</isTempSession> + <initialized>true</initialized> + <owner class="org.olat.repository.RepositoryEntry" reference="../.."/> + <cachedSize>-1</cachedSize> + <role>org.olat.repository.RepositoryEntry.organisations</role> + <key class="long">5242880</key> + <dirty>false</dirty> + <storedSnapshot class="map"> + <entry> + <org.olat.repository.model.RepositoryEntryToOrganisationImpl reference="../../../../.."/> + <org.olat.repository.model.RepositoryEntryToOrganisationImpl reference="../../../../.."/> + </entry> + </storedSnapshot> + <allowLoadOutsideTransaction>false</allowLoadOutsideTransaction> + <set> + <org.olat.repository.model.RepositoryEntryToOrganisationImpl reference="../../../.."/> + </set> + </organisations> + <resourcename>-</resourcename> + <displayname>SCORM courseSCORM - 7eceeb94-ad58-4a55-a913-3a883c55038e</displayname> + <description></description> + <initialAuthor>selena-1ecd96e68-11a9-4f</initialAuthor> + <statistics> + <key>5177344</key> + <creationDate reference="../../creationDate"/> + <lastModified reference="../../creationDate"/> + <numOfRatings>0</numOfRatings> + <numOfComments>0</numOfComments> + <launchCounter>0</launchCounter> + <downloadCounter>0</downloadCounter> + <lastUsage reference="../../creationDate"/> + </statistics> + <access>1</access> + <canCopy>false</canCopy> + <canReference>false</canReference> + <canLaunch>true</canLaunch> + <canDownload>false</canDownload> + <membersOnly>false</membersOnly> + <statusCode>0</statusCode> + <allowToLeave>atAnyTime</allowToLeave> + </entry> + <organisation class="org.olat.basesecurity.model.OrganisationImpl"> + <key>1</key> + <creationDate class="sql-timestamp">2018-05-04 08:50:29</creationDate> + <lastModified class="sql-timestamp">2018-05-04 08:50:29</lastModified> + <identifier>default-org</identifier> + <displayName>OpenOLAT</displayName> + <materializedPathKeys>/1/</materializedPathKeys> + <managedFlagsString>identifier,externalId,move,delete</managedFlagsString> + <group class="org.olat.basesecurity.model.GroupImpl" reference="../../entry/groups/storedSnapshot/entry[2]/org.olat.repository.model.RepositoryEntryToGroupRelation/group"/> + </organisation> + </org.olat.repository.model.RepositoryEntryToOrganisationImpl> + <org.olat.repository.model.RepositoryEntryToOrganisationImpl reference="../org.olat.repository.model.RepositoryEntryToOrganisationImpl"/> + </entry> + </storedSnapshot> + <allowLoadOutsideTransaction>false</allowLoadOutsideTransaction> + <set> + <org.olat.repository.model.RepositoryEntryToOrganisationImpl reference="../../storedSnapshot/entry/org.olat.repository.model.RepositoryEntryToOrganisationImpl"/> + </set> + </organisations> + <resourcename>-</resourcename> + <displayname>SCORM courseSCORM - 7eceeb94-ad58-4a55-a913-3a883c55038e</displayname> + <description></description> + <initialAuthor>selena-1ecd96e68-11a9-4f</initialAuthor> + <statistics reference="../organisations/storedSnapshot/entry/org.olat.repository.model.RepositoryEntryToOrganisationImpl/entry/statistics"/> + <access>1</access> + <canCopy>false</canCopy> + <canReference>false</canReference> + <canLaunch>true</canLaunch> + <canDownload>false</canDownload> + <membersOnly>false</membersOnly> + <statusCode>0</statusCode> + <allowToLeave>atAnyTime</allowToLeave> + </olatResourceable> + </org.olat.core.id.context.MyContextEntry> + <org.olat.core.id.context.MyContextEntry> + <olatResourceable class="org.olat.core.util.resource.Resourceable"> + <resourceableTypeName>CourseNode</resourceableTypeName> + <resourceableId>91389880396330</resourceableId> + </olatResourceable> + </org.olat.core.id.context.MyContextEntry> + </entries> +</org.olat.core.id.context.HistoryPointImpl> \ No newline at end of file diff --git a/src/test/java/org/olat/core/id/context/resume_ver13b.xml b/src/test/java/org/olat/core/id/context/resume_ver13b.xml new file mode 100644 index 0000000000000000000000000000000000000000..fd30bec8c686bd9a6567ff6bdb35f968141caa7d --- /dev/null +++ b/src/test/java/org/olat/core/id/context/resume_ver13b.xml @@ -0,0 +1,64 @@ +<org.olat.core.id.context.HistoryPointImpl> + <uuid>4</uuid> + <businessPath>[RepositoryEntry:1319927808]</businessPath> + <entries> + <org.olat.core.id.context.MyContextEntry> + <olatResourceable class="org.olat.repository.RepositoryEntry"> + <key>1319927808</key> + <version>1</version> + <creationDate class="sql-timestamp">2018-04-27 12:57:49.727</creationDate> + <lastModified class="sql-timestamp">2018-04-27 12:57:49.727</lastModified> + <softkey>sropenpg_1_97589364187858</softkey> + <olatResource class="org.olat.resource.OLATResourceImpl"> + <key>1319796736</key> + <version>0</version> + <creationDate class="sql-timestamp">2018-04-27 12:57:49.728</creationDate> + <resName>CourseModule</resName> + <resId>97589364187857</resId> + </olatResource> + <groups class="org.hibernate.collection.internal.PersistentSet"> + <isTempSession>false</isTempSession> + <initialized>false</initialized> + <owner class="org.olat.repository.RepositoryEntry" reference="../.."/> + <cachedSize>-1</cachedSize> + <role>org.olat.repository.RepositoryEntry.groups</role> + <key class="long">1319927808</key> + <dirty>false</dirty> + <allowLoadOutsideTransaction>false</allowLoadOutsideTransaction> + </groups> + <organisations class="org.hibernate.collection.internal.PersistentSet"> + <isTempSession>false</isTempSession> + <initialized>false</initialized> + <owner class="org.olat.repository.RepositoryEntry" reference="../.."/> + <cachedSize>-1</cachedSize> + <role>org.olat.repository.RepositoryEntry.organisations</role> + <key class="long">1319927808</key> + <dirty>false</dirty> + <allowLoadOutsideTransaction>false</allowLoadOutsideTransaction> + </organisations> + <resourcename>-</resourcename> + <displayname>Artificial life course</displayname> + <description></description> + <initialAuthor>kanu</initialAuthor> + <statistics> + <key>1319829504</key> + <creationDate class="sql-timestamp">2018-04-27 12:57:49.727</creationDate> + <lastModified class="sql-timestamp">2018-04-27 12:57:49.727</lastModified> + <numOfRatings>0</numOfRatings> + <numOfComments>0</numOfComments> + <launchCounter>6</launchCounter> + <downloadCounter>0</downloadCounter> + <lastUsage class="sql-timestamp">2018-05-04 09:51:13.265</lastUsage> + </statistics> + <access>1</access> + <canCopy>false</canCopy> + <canReference>false</canReference> + <canLaunch>true</canLaunch> + <canDownload>false</canDownload> + <membersOnly>false</membersOnly> + <statusCode>0</statusCode> + <allowToLeave>atAnyTime</allowToLeave> + </olatResourceable> + </org.olat.core.id.context.MyContextEntry> + </entries> +</org.olat.core.id.context.HistoryPointImpl> \ No newline at end of file diff --git a/src/test/java/org/olat/core/util/FormatterTest.java b/src/test/java/org/olat/core/util/FormatterTest.java index 60073f1557c7ec2b6a156e688fbd7a0d6b82ac7a..54db23da304b7717546b2c5174c20340bc2cad97 100644 --- a/src/test/java/org/olat/core/util/FormatterTest.java +++ b/src/test/java/org/olat/core/util/FormatterTest.java @@ -22,6 +22,7 @@ package org.olat.core.util; import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; +import java.util.UUID; import org.apache.commons.lang.StringEscapeUtils; import org.junit.Assert; @@ -132,4 +133,12 @@ public class FormatterTest { Assert.assertEquals("32:23:45", Formatter.formatTimecode(116625000l)); Assert.assertEquals("532:23:45", Formatter.formatTimecode(1916625000l)); } + + @Test + public void elementLatexFormattingScript() { + String domId = UUID.randomUUID().toString(); + String latextFormatterJs = Formatter.elementLatexFormattingScript(domId); + Assert.assertNotNull(latextFormatterJs); + Assert.assertTrue(latextFormatterJs.contains(domId)); + } } diff --git a/src/test/java/org/olat/course/nodes/gta/rule/GTAReminderRuleTest.java b/src/test/java/org/olat/course/nodes/gta/rule/GTAReminderRuleTest.java index 6ec20e0c5ec51e02bfd558591ab7fcb0b291b448..00acf8a90ca44a8d8f8c53fa0e8d1b76a0cf9c0b 100644 --- a/src/test/java/org/olat/course/nodes/gta/rule/GTAReminderRuleTest.java +++ b/src/test/java/org/olat/course/nodes/gta/rule/GTAReminderRuleTest.java @@ -30,6 +30,8 @@ import java.util.UUID; import org.junit.Assert; import org.junit.Test; +import org.olat.basesecurity.Group; +import org.olat.basesecurity.GroupMembershipInheritance; import org.olat.basesecurity.GroupRoles; import org.olat.basesecurity.model.GroupMembershipImpl; import org.olat.core.commons.persistence.DB; @@ -58,7 +60,6 @@ import org.olat.repository.RepositoryEntry; import org.olat.repository.manager.RepositoryEntryLifecycleDAO; import org.olat.repository.manager.RepositoryEntryRelationDAO; import org.olat.repository.model.RepositoryEntryLifecycle; -import org.olat.repository.model.RepositoryEntryToGroupRelation; import org.olat.resource.OLATResource; import org.olat.test.JunitTestHelper; import org.olat.test.OlatTestCase; @@ -193,11 +194,11 @@ public class GTAReminderRuleTest extends OlatTestCase { @Test public void assignTask_businessGroup() { //prepare - Identity coach = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-2"); - Identity participant1 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-3"); - Identity participant2 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-4"); - Identity participant3 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-5"); - Identity participant4 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-6"); + Identity coach = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-3"); + Identity participant1 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-4"); + Identity participant2 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-5"); + Identity participant3 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-6"); + Identity participant4 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-7"); BusinessGroup businessGroup1 = businessGroupDao.createAndPersist(coach, "gdao", "gdao-desc", -1, -1, false, false, false, false, false); BusinessGroup businessGroup2 = businessGroupDao.createAndPersist(coach, "gdao", "gdao-desc", -1, -1, false, false, false, false, false); @@ -238,8 +239,8 @@ public class GTAReminderRuleTest extends OlatTestCase { @Test public void assignTask_relativeToDateEnrollment() { //prepare a course with a volatile task - Identity participant1 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-1"); - Identity participant2 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-2"); + Identity participant1 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-8"); + Identity participant2 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-9"); RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry("", false); addEnrollmentDate(re, participant1, GroupRoles.participant, -12, Calendar.DATE); addEnrollmentDate(re, participant2, GroupRoles.participant, -5, Calendar.DATE); @@ -294,9 +295,8 @@ public class GTAReminderRuleTest extends OlatTestCase { } private void addEnrollmentDate(RepositoryEntry entry, Identity id, GroupRoles role, int amount, int field) { - RepositoryEntryToGroupRelation rel = entry.getGroups().iterator().next(); - rel.getGroup(); - + Group group = repositoryEntryRelationDao.getDefaultGroup(entry); + Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); cal.add(field, amount); @@ -304,9 +304,10 @@ public class GTAReminderRuleTest extends OlatTestCase { GroupMembershipImpl membership = new GroupMembershipImpl(); membership.setCreationDate(cal.getTime()); membership.setLastModified(cal.getTime()); - membership.setGroup(rel.getGroup()); + membership.setGroup(group); membership.setIdentity(id); membership.setRole(role.name()); + membership.setInheritanceMode(GroupMembershipInheritance.none); dbInstance.getCurrentEntityManager().persist(membership); dbInstance.commit(); } @@ -411,8 +412,8 @@ public class GTAReminderRuleTest extends OlatTestCase { @Test public void submitTask_individual() { //prepare a course with a volatile task - Identity participant1 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-1"); - Identity participant2 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-2"); + Identity participant1 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-10"); + Identity participant2 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-11"); RepositoryEntry re = deployGTACourse(); repositoryEntryRelationDao.addRole(participant1, re, GroupRoles.participant.name()); repositoryEntryRelationDao.addRole(participant2, re, GroupRoles.participant.name()); @@ -497,8 +498,8 @@ public class GTAReminderRuleTest extends OlatTestCase { @Test public void submitTask_relativeLifecycle() { //prepare a course with a volatile task - Identity participant1 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-1"); - Identity participant2 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-2"); + Identity participant1 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-12"); + Identity participant2 = JunitTestHelper.createAndPersistIdentityAsRndUser("gta-user-13"); RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry("", false); repositoryEntryRelationDao.addRole(participant1, re, GroupRoles.participant.name()); repositoryEntryRelationDao.addRole(participant2, re, GroupRoles.participant.name()); diff --git a/src/test/java/org/olat/gatling/AccessTransactionGatling.java b/src/test/java/org/olat/gatling/AccessTransactionGatling.java index f4b9404cc31839e3216af19f3b82102926af37fb..5d4d6e2adaa1a6a043ec6a866f4b5871a39f74bc 100644 --- a/src/test/java/org/olat/gatling/AccessTransactionGatling.java +++ b/src/test/java/org/olat/gatling/AccessTransactionGatling.java @@ -68,7 +68,7 @@ public class AccessTransactionGatling extends OlatTestCase { .append(" inner join fetch v.olatResource as ores") .append(" inner join fetch v.statistics as statistics") .append(" left join fetch v.lifecycle as lifecycle") - .append(" where ores.resName='CourseModule' and v.access>0"); + .append(" where ores.resName='CourseModule' and v.access>=").append(RepositoryEntry.ACC_OWNERS); List<RepositoryEntry> courses= dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), RepositoryEntry.class) diff --git a/src/test/java/org/olat/modules/curriculum/manager/CurriculumElementDAOTest.java b/src/test/java/org/olat/modules/curriculum/manager/CurriculumElementDAOTest.java index 118fb343349b56acbb1e645cd63576208ed1a2bb..42300f605bf6b89a740d53a609062d0d33ca2e1b 100644 --- a/src/test/java/org/olat/modules/curriculum/manager/CurriculumElementDAOTest.java +++ b/src/test/java/org/olat/modules/curriculum/manager/CurriculumElementDAOTest.java @@ -19,14 +19,21 @@ */ package org.olat.modules.curriculum.manager; +import java.util.Date; import java.util.List; import org.junit.Assert; import org.junit.Test; import org.olat.core.commons.persistence.DB; +import org.olat.core.id.Identity; import org.olat.modules.curriculum.Curriculum; import org.olat.modules.curriculum.CurriculumElement; +import org.olat.modules.curriculum.CurriculumElementType; +import org.olat.modules.curriculum.CurriculumRoles; +import org.olat.modules.curriculum.CurriculumService; import org.olat.modules.curriculum.model.CurriculumElementImpl; +import org.olat.modules.curriculum.model.CurriculumElementMember; +import org.olat.test.JunitTestHelper; import org.olat.test.OlatTestCase; import org.springframework.beans.factory.annotation.Autowired; @@ -44,11 +51,16 @@ public class CurriculumElementDAOTest extends OlatTestCase { private CurriculumDAO curriculumDao; @Autowired private CurriculumElementDAO curriculumElementDao; + @Autowired + private CurriculumElementTypeDAO curriculumElementTypeDao; + @Autowired + private CurriculumService curriculumService; @Test public void createCurriculumElement() { Curriculum curriculum = curriculumDao.createAndPersist("Cur-for-el-1", "Curriculum for element", "Curriculum", null); - CurriculumElement element = curriculumElementDao.createCurriculumElement("Element-1", "1. Element", null, curriculum); + CurriculumElementType type = curriculumElementTypeDao.createCurriculumElementType("typ-for-cur-el-1", "Type for", "First element", "AC-234"); + CurriculumElement element = curriculumElementDao.createCurriculumElement("Element-1", "1. Element", new Date(), new Date(), null, type, curriculum); Assert.assertNotNull(element); dbInstance.commitAndCloseSession(); @@ -56,15 +68,19 @@ public class CurriculumElementDAOTest extends OlatTestCase { Assert.assertNotNull(element.getKey()); Assert.assertNotNull(element.getCreationDate()); Assert.assertNotNull(element.getLastModified()); + Assert.assertNotNull(element.getBeginDate()); + Assert.assertNotNull(element.getEndDate()); Assert.assertEquals("Element-1", element.getIdentifier()); Assert.assertEquals("1. Element", element.getDisplayName()); Assert.assertEquals(curriculum, element.getCurriculum()); + Assert.assertEquals(type, element.getType()); } @Test public void loadByKey() { Curriculum curriculum = curriculumDao.createAndPersist("Cur-for-el-2", "Curriculum for element", "Curriculum", null); - CurriculumElement element = curriculumElementDao.createCurriculumElement("Element-2", "2. Element", null, curriculum); + CurriculumElementType type = curriculumElementTypeDao.createCurriculumElementType("typ-for-cur-el-2", "Type for", "First element", "AC-234"); + CurriculumElement element = curriculumElementDao.createCurriculumElement("Element-2", "2. Element", new Date(), new Date(), null, type, curriculum); Assert.assertNotNull(element); dbInstance.commitAndCloseSession(); @@ -76,22 +92,43 @@ public class CurriculumElementDAOTest extends OlatTestCase { Assert.assertEquals(element, reloadedElement); Assert.assertNotNull(reloadedElement.getCreationDate()); Assert.assertNotNull(reloadedElement.getLastModified()); + Assert.assertNotNull(reloadedElement.getBeginDate()); + Assert.assertNotNull(reloadedElement.getEndDate()); Assert.assertEquals("Element-2", reloadedElement.getIdentifier()); Assert.assertEquals("2. Element", reloadedElement.getDisplayName()); Assert.assertEquals(curriculum, reloadedElement.getCurriculum()); + Assert.assertEquals(type, reloadedElement.getType()); + } + + @Test + public void loadElements() { + Curriculum curriculum = curriculumDao.createAndPersist("Cur-for-el-6", "Curriculum for element", "Curriculum", null); + CurriculumElement element1 = curriculumElementDao.createCurriculumElement("Element-6", "6.1 Element", null, null, null, null, curriculum); + CurriculumElement element2 = curriculumElementDao.createCurriculumElement("Element-6", "6.1.1 Element", null, null, element1, null, curriculum); + CurriculumElement element3 = curriculumElementDao.createCurriculumElement("Element-6", "6.2 Element", null, null, null, null, curriculum); + dbInstance.commitAndCloseSession(); + + //load all elements of the curriculum + List<CurriculumElement> elements = curriculumElementDao.loadElements(curriculum); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(elements); + Assert.assertEquals(3, elements.size()); + Assert.assertTrue(elements.contains(element1)); + Assert.assertTrue(elements.contains(element2)); + Assert.assertTrue(elements.contains(element3)); } @Test public void createCurriculumElementParentChildren() { Curriculum curriculum = curriculumDao.createAndPersist("cur-for-el-3", "Curriculum for element", "Curriculum", null); - CurriculumElement parentElement = curriculumElementDao.createCurriculumElement("Element-3", "3. Element", null, curriculum); + CurriculumElement parentElement = curriculumElementDao.createCurriculumElement("Element-3", "3. Element", null, null, null, null, curriculum); dbInstance.commit(); // save 3 children - CurriculumElement element1 = curriculumElementDao.createCurriculumElement("Element-3-1", "3.1 Element", parentElement, curriculum); + CurriculumElement element1 = curriculumElementDao.createCurriculumElement("Element-3-1", "3.1 Element", null, null, parentElement, null, curriculum); dbInstance.commit(); - CurriculumElement element2 = curriculumElementDao.createCurriculumElement("Element-3-2", "3.2 Element", parentElement, curriculum); + CurriculumElement element2 = curriculumElementDao.createCurriculumElement("Element-3-2", "3.2 Element", null, null, parentElement, null, curriculum); dbInstance.commit(); - CurriculumElement element3 = curriculumElementDao.createCurriculumElement("Element-3-3", "3.3 Element", parentElement, curriculum); + CurriculumElement element3 = curriculumElementDao.createCurriculumElement("Element-3-3", "3.3 Element", null, null, parentElement, null, curriculum); dbInstance.commitAndCloseSession(); //reload parents @@ -103,5 +140,99 @@ public class CurriculumElementDAOTest extends OlatTestCase { Assert.assertEquals(element2, children.get(1)); Assert.assertEquals(element3, children.get(2)); } - + + @Test + public void getParentLine() { + Curriculum curriculum = curriculumDao.createAndPersist("cur-for-el-4", "Curriculum for element", "Curriculum", null); + CurriculumElement parentElement = curriculumElementDao.createCurriculumElement("Element-4", "4. Element", null, null, null, null, curriculum); + dbInstance.commit(); + // save 3 children + CurriculumElement element1 = curriculumElementDao.createCurriculumElement("Element-4-1", "4.1 Element", null, null, parentElement, null, curriculum); + dbInstance.commit(); + CurriculumElement element2 = curriculumElementDao.createCurriculumElement("Element-4-2", "4.1.1 Element", null, null, element1, null, curriculum); + dbInstance.commit(); + CurriculumElement element3 = curriculumElementDao.createCurriculumElement("Element-4-3", "4.1.1.1 Element", null, null, element2, null, curriculum); + dbInstance.commitAndCloseSession(); + + //reload parents + List<CurriculumElement> parentLine = curriculumElementDao.getParentLine(element3); + Assert.assertNotNull(parentLine); + Assert.assertEquals(4, parentLine.size()); + Assert.assertEquals(parentElement, parentLine.get(0)); + Assert.assertEquals(element1, parentLine.get(1)); + Assert.assertEquals(element2, parentLine.get(2)); + Assert.assertEquals(element3, parentLine.get(3)); + } + + @Test + public void getDescendants() { + Curriculum curriculum = curriculumDao.createAndPersist("cur-for-el-5", "Curriculum for element", "Curriculum", null); + CurriculumElement parentElement = curriculumElementDao.createCurriculumElement("Element-5", "5. Element", null, null, null, null, curriculum); + dbInstance.commit(); + // save 3 children + CurriculumElement element1 = curriculumElementDao.createCurriculumElement("Element-5-1", "5.1 Element", null, null, parentElement, null, curriculum); + dbInstance.commit(); + CurriculumElement element1_1 = curriculumElementDao.createCurriculumElement("Element-5-1-1", "5.1.1 Element", null, null, element1, null, curriculum); + dbInstance.commit(); + CurriculumElement element2 = curriculumElementDao.createCurriculumElement("Element-5-2", "5.2 Element", null, null, parentElement, null, curriculum); + dbInstance.commitAndCloseSession(); + + // load descendants of the root element + List<CurriculumElement> descendants = curriculumElementDao.getDescendants(parentElement); + Assert.assertNotNull(descendants); + Assert.assertEquals(3, descendants.size()); + Assert.assertTrue(descendants.contains(element1)); + Assert.assertTrue(descendants.contains(element1_1)); + Assert.assertTrue(descendants.contains(element2)); + } + + @Test + public void moveCurriculumElement() { + Curriculum curriculum = curriculumDao.createAndPersist("cur-for-el-7", "Curriculum for element", "Curriculum", null); + CurriculumElement rootElement = curriculumElementDao.createCurriculumElement("Element-7", "7. Element", null, null, null, null, curriculum); + CurriculumElement element1 = curriculumElementDao.createCurriculumElement("Element-7-1", "7.1 Element", null, null, rootElement, null, curriculum); + CurriculumElement element1_1 = curriculumElementDao.createCurriculumElement("Element-7-1-1", "7.1.1 Element", null, null, element1, null, curriculum); + CurriculumElement element1_1_1 = curriculumElementDao.createCurriculumElement("Element-7-1-1", "7.1.1 Element", null, null, element1_1, null, curriculum); + CurriculumElement element1_1_2 = curriculumElementDao.createCurriculumElement("Element-7-1-2", "7.1.2 Element", null, null, element1_1, null, curriculum); + CurriculumElement element2 = curriculumElementDao.createCurriculumElement("Element-7-2", "7.2 Element", null, null, rootElement, null, curriculum); + dbInstance.commitAndCloseSession(); + + // move element1_1 under element2 + curriculumElementDao.move(element1_1, element2); + dbInstance.commit(); + + // check parent line of element1_1_2 + CurriculumElement reloadElement1_1_2 = curriculumElementDao.loadByKey(element1_1_2.getKey()); + List<CurriculumElement> parentLine1_1_2 = curriculumElementDao.getParentLine(reloadElement1_1_2); + Assert.assertNotNull(parentLine1_1_2); + Assert.assertEquals(4, parentLine1_1_2.size()); + Assert.assertEquals(rootElement, parentLine1_1_2.get(0)); + Assert.assertEquals(element2, parentLine1_1_2.get(1)); + Assert.assertEquals(element1_1, parentLine1_1_2.get(2)); + Assert.assertEquals(element1_1_2, parentLine1_1_2.get(3)); + + // check descendants element1_1 + CurriculumElement reloadElement1_1 = curriculumElementDao.loadByKey(element1_1.getKey()); + List<CurriculumElement> descendants1_1 = curriculumElementDao.getDescendants(reloadElement1_1); + Assert.assertNotNull(descendants1_1); + Assert.assertEquals(2, descendants1_1.size()); + Assert.assertTrue(descendants1_1.contains(element1_1_1)); + Assert.assertTrue(descendants1_1.contains(element1_1_2)); + } + + @Test + public void getMembers() { + Identity supervisor = JunitTestHelper.createAndPersistIdentityAsRndUser("cur-supervisor-1"); + Curriculum curriculum = curriculumService.createCurriculum("cur-for-el-4", "Curriculum for element", "Curriculum", null); + CurriculumElement element = curriculumService.createCurriculumElement("Element-4", "4. Element", null, null, null, null, curriculum); + curriculumService.addMember(element, supervisor, CurriculumRoles.supervisor); + dbInstance.commitAndCloseSession(); + + List<CurriculumElementMember> members = curriculumElementDao.getMembers(element); + Assert.assertNotNull(members); + Assert.assertEquals(1, members.size()); + CurriculumElementMember member = members.get(0); + Assert.assertEquals(supervisor, member.getIdentity()); + Assert.assertEquals(CurriculumRoles.supervisor.name(), member.getRole()); + } } diff --git a/src/test/java/org/olat/modules/curriculum/manager/CurriculumElementTypeDAOTest.java b/src/test/java/org/olat/modules/curriculum/manager/CurriculumElementTypeDAOTest.java index 6dc5e8247b653ffb3731b43b788ba7e5c55969b5..0fa430ab80127eacec98b5cf317905e7cda06a96 100644 --- a/src/test/java/org/olat/modules/curriculum/manager/CurriculumElementTypeDAOTest.java +++ b/src/test/java/org/olat/modules/curriculum/manager/CurriculumElementTypeDAOTest.java @@ -83,6 +83,20 @@ public class CurriculumElementTypeDAOTest extends OlatTestCase { Assert.assertEquals("AC-235", reloadedType.getExternalId()); } + @Test + public void loadAlltypes() { + CurriculumElementType type = curriculumElementTypeDao.createCurriculumElementType("cur-el-3", "3. Element", "Third element", "AC-236"); + Assert.assertNotNull(type); + dbInstance.commitAndCloseSession(); + + // load the element type + List<CurriculumElementType> allTypes = curriculumElementTypeDao.load(); + dbInstance.commitAndCloseSession(); + //check + Assert.assertNotNull(allTypes); + Assert.assertTrue(allTypes.contains(type)); + } + @Test public void allowSubTypes() { CurriculumElementType type = curriculumElementTypeDao.createCurriculumElementType("Type-parent", "A type", null, null); diff --git a/src/test/java/org/olat/modules/curriculum/manager/CurriculumRepositoryEntryRelationDAOTest.java b/src/test/java/org/olat/modules/curriculum/manager/CurriculumRepositoryEntryRelationDAOTest.java new file mode 100644 index 0000000000000000000000000000000000000000..2bbd97a47b5653eef9c26a8576bb63b207cbac16 --- /dev/null +++ b/src/test/java/org/olat/modules/curriculum/manager/CurriculumRepositoryEntryRelationDAOTest.java @@ -0,0 +1,105 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.curriculum.manager; + +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; +import org.olat.core.commons.persistence.DB; +import org.olat.core.id.Identity; +import org.olat.modules.curriculum.Curriculum; +import org.olat.modules.curriculum.CurriculumElement; +import org.olat.modules.curriculum.CurriculumRepositoryEntryRelation; +import org.olat.modules.curriculum.CurriculumService; +import org.olat.repository.RepositoryEntry; +import org.olat.test.JunitTestHelper; +import org.olat.test.OlatTestCase; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 9 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class CurriculumRepositoryEntryRelationDAOTest extends OlatTestCase { + + @Autowired + private DB dbInstance; + @Autowired + private CurriculumService curriculumService; + @Autowired + private CurriculumRepositoryEntryRelationDAO curriculumRepositoryEntryRelationDao; + + @Test + public void createRelation() { + Curriculum curriculum = curriculumService.createCurriculum("cur-el-rel-1", "Curriculum for relation", "Curriculum", null); + CurriculumElement element = curriculumService.createCurriculumElement("Element-for-rel", "Element for relation", null, null, null, null, curriculum); + Identity author = JunitTestHelper.createAndPersistIdentityAsRndUser("cur-el-re-auth"); + RepositoryEntry entry = JunitTestHelper.createRandomRepositoryEntry(author); + dbInstance.commitAndCloseSession(); + + CurriculumRepositoryEntryRelation relation = curriculumRepositoryEntryRelationDao.createRelation(entry, element, true); + dbInstance.commit(); + Assert.assertNotNull(relation); + Assert.assertNotNull(relation.getKey()); + Assert.assertNotNull(relation.getCreationDate()); + Assert.assertNotNull(relation.getLastModified()); + Assert.assertEquals(element, relation.getCurriculumElement()); + Assert.assertEquals(entry, relation.getEntry()); + Assert.assertTrue(relation.isMaster()); + } + + @Test + public void getRepositoryEntries() { + Curriculum curriculum = curriculumService.createCurriculum("cur-el-rel-2", "Curriculum for relation", "Curriculum", null); + CurriculumElement element = curriculumService.createCurriculumElement("Element-for-rel", "Element for relation", null, null, null, null, curriculum); + Identity author = JunitTestHelper.createAndPersistIdentityAsRndUser("cur-el-re-auth"); + RepositoryEntry entry = JunitTestHelper.createRandomRepositoryEntry(author); + dbInstance.commit(); + curriculumService.addRepositoryEntry(element, entry, false); + dbInstance.commitAndCloseSession(); + + List<RepositoryEntry> entries = curriculumRepositoryEntryRelationDao.getRepositoryEntries(element); + Assert.assertNotNull(entries); + Assert.assertEquals(1, entries.size()); + Assert.assertEquals(entry, entries.get(0)); + } + + + @Test + public void getCurriculumElements() { + Curriculum curriculum = curriculumService.createCurriculum("cur-el-rel-2", "Curriculum for relation", "Curriculum", null); + CurriculumElement element = curriculumService.createCurriculumElement("Element-for-rel", "Element for relation", null, null, null, null, curriculum); + Identity author = JunitTestHelper.createAndPersistIdentityAsRndUser("cur-el-re-auth"); + RepositoryEntry entry = JunitTestHelper.createRandomRepositoryEntry(author); + dbInstance.commit(); + curriculumService.addRepositoryEntry(element, entry, false); + dbInstance.commitAndCloseSession(); + + List<CurriculumElement> elements = curriculumRepositoryEntryRelationDao.getCurriculumElements(entry); + Assert.assertNotNull(elements); + Assert.assertEquals(1, elements.size()); + Assert.assertEquals(element, elements.get(0)); + } + + +} diff --git a/src/test/java/org/olat/modules/reminder/manager/ReminderRuleEngineTest.java b/src/test/java/org/olat/modules/reminder/manager/ReminderRuleEngineTest.java index 937294f2a49460d67b2152cd3ec841044a79a363..376f04dc8e194ac1aa5337e87ae3c12f4877dfe1 100644 --- a/src/test/java/org/olat/modules/reminder/manager/ReminderRuleEngineTest.java +++ b/src/test/java/org/olat/modules/reminder/manager/ReminderRuleEngineTest.java @@ -29,6 +29,8 @@ import java.util.List; import org.junit.Assert; import org.junit.Test; +import org.olat.basesecurity.Group; +import org.olat.basesecurity.GroupMembershipInheritance; import org.olat.basesecurity.GroupRoles; import org.olat.basesecurity.model.GroupMembershipImpl; import org.olat.core.commons.persistence.DB; @@ -70,7 +72,6 @@ import org.olat.repository.RepositoryManager; import org.olat.repository.manager.RepositoryEntryLifecycleDAO; import org.olat.repository.manager.RepositoryEntryRelationDAO; import org.olat.repository.model.RepositoryEntryLifecycle; -import org.olat.repository.model.RepositoryEntryToGroupRelation; import org.olat.resource.OLATResource; import org.olat.test.JunitTestHelper; import org.olat.test.OlatTestCase; @@ -635,8 +636,7 @@ public class ReminderRuleEngineTest extends OlatTestCase { } private void addEnrollmentDate(RepositoryEntry entry, Identity id, GroupRoles role, int amount, int field) { - RepositoryEntryToGroupRelation rel = entry.getGroups().iterator().next(); - rel.getGroup(); + Group group = repositoryEntryRelationDao.getDefaultGroup(entry); Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); @@ -645,9 +645,10 @@ public class ReminderRuleEngineTest extends OlatTestCase { GroupMembershipImpl membership = new GroupMembershipImpl(); membership.setCreationDate(cal.getTime()); membership.setLastModified(cal.getTime()); - membership.setGroup(rel.getGroup()); + membership.setGroup(group); membership.setIdentity(id); membership.setRole(role.name()); + membership.setInheritanceMode(GroupMembershipInheritance.none); dbInstance.getCurrentEntityManager().persist(membership); dbInstance.commit(); } diff --git a/src/test/java/org/olat/portfolio/manager/EPStructureManagerTest.java b/src/test/java/org/olat/portfolio/manager/EPStructureManagerTest.java index 28343c8b10306c1434e6ae2138dcf21f5e66f433..4ca4e4a2ad6f5936e5e4ced3ba6e7c271125a5a6 100644 --- a/src/test/java/org/olat/portfolio/manager/EPStructureManagerTest.java +++ b/src/test/java/org/olat/portfolio/manager/EPStructureManagerTest.java @@ -697,7 +697,7 @@ public class EPStructureManagerTest extends OlatTestCase { assertFalse(singleAuthor.contains(ident2));//owner securityGroupDao.getSecurityGroupsForIdentity(ident1); - repositoryManager.queryReferencableResourcesLimitType(ident1, new Roles(false, false, false, false, false, false, false), null, null, null, null); + repositoryManager.queryResourcesLimitType(ident1, new Roles(false, false, false, false, false, false, false), null, null, null, null, true, false); } diff --git a/src/test/java/org/olat/repository/RepositoryManagerQueryTest.java b/src/test/java/org/olat/repository/RepositoryManagerQueryTest.java deleted file mode 100644 index 82f122f9c0799a0b2339feda3f95b59537148ad3..0000000000000000000000000000000000000000 --- a/src/test/java/org/olat/repository/RepositoryManagerQueryTest.java +++ /dev/null @@ -1,250 +0,0 @@ -/** - * <a href="http://www.openolat.org"> - * OpenOLAT - Online Learning and Training</a><br> - * <p> - * Licensed under the Apache License, Version 2.0 (the "License"); <br> - * you may not use this file except in compliance with the License.<br> - * You may obtain a copy of the License at the - * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> - * <p> - * Unless required by applicable law or agreed to in writing,<br> - * software distributed under the License is distributed on an "AS IS" BASIS, <br> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> - * See the License for the specific language governing permissions and <br> - * limitations under the License. - * <p> - * Initial code contributed and copyrighted by<br> - * frentix GmbH, http://www.frentix.com - * <p> - */ -package org.olat.repository; - - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; - -import java.util.Collections; -import java.util.List; - -import org.junit.Before; -import org.junit.Test; -import org.olat.basesecurity.BaseSecurity; -import org.olat.basesecurity.OrganisationRoles; -import org.olat.basesecurity.OrganisationService; -import org.olat.core.commons.persistence.DB; -import org.olat.core.id.Identity; -import org.olat.core.id.Organisation; -import org.olat.core.id.Roles; -import org.olat.core.id.UserConstants; -import org.olat.repository.model.SearchRepositoryEntryParameters; -import org.olat.resource.OLATResource; -import org.olat.resource.OLATResourceManager; -import org.olat.test.JunitTestHelper; -import org.olat.test.OlatTestCase; -import org.olat.user.UserManager; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * - * Description:<br> - * - * <P> - * Initial Date: 18 oct. 2011 <br> - * - * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com - */ -public class RepositoryManagerQueryTest extends OlatTestCase { - - private static final String TEST_RES_NAME = "TestManagerQuery"; - - @Autowired - private DB dbInstance; - @Autowired - private RepositoryManager rm; - @Autowired - private UserManager userManager; - @Autowired - private BaseSecurity securityManager; - @Autowired - private RepositoryService repositoryService; - @Autowired - private OLATResourceManager resourceManager; - @Autowired - private OrganisationService organisationService; - - private static Identity admin; - private static Identity learnResourceManager1; - private static Identity learnResourceManager2; - - private static final String author = "RepositoryManagerQueryAuthor"; - private static boolean initialized = false; - - public void testManagers() { - assertNotNull(rm); - } - - @Before - public void setup() { - if(initialized) return; - - Organisation defOrganisation = organisationService.getDefaultOrganisation(); - Organisation organisation = organisationService.createOrganisation("Test repo query", "test-repo-query", null, defOrganisation, null); - dbInstance.commit(); - - admin = JunitTestHelper.createAndPersistIdentityAsAdmin("administrator"); - - Identity id1 = JunitTestHelper.createAndPersistIdentityAsAuthor(author + "1"); - id1.getUser().setProperty(UserConstants.FIRSTNAME, author + "1"); - id1.getUser().setProperty(UserConstants.LASTNAME, author + "1"); - userManager.updateUserFromIdentity(id1); - - Identity id2 = JunitTestHelper.createAndPersistIdentityAsAuthor(author + "2"); - id2.getUser().setProperty(UserConstants.FIRSTNAME, author + "2"); - id2.getUser().setProperty(UserConstants.LASTNAME, author + "2"); - userManager.updateUserFromIdentity(id2); - - learnResourceManager1 = JunitTestHelper.createAndPersistIdentityAsAuthor("kanu"); - learnResourceManager1.getUser().setProperty(UserConstants.INSTITUTIONALNAME, "Volks"); - learnResourceManager1.getUser().setProperty(UserConstants.FIRSTNAME, "Kanu"); - learnResourceManager1.getUser().setProperty(UserConstants.LASTNAME, "Unchou"); - userManager.updateUserFromIdentity(learnResourceManager1); - - learnResourceManager2 = JunitTestHelper.createAndPersistIdentityAsAuthor("rei"); - learnResourceManager2.getUser().setProperty(UserConstants.INSTITUTIONALNAME, "Nerv"); - learnResourceManager2.getUser().setProperty(UserConstants.FIRSTNAME, "Rei"); - learnResourceManager2.getUser().setProperty(UserConstants.LASTNAME, "Ayanami"); - userManager.updateUserFromIdentity(learnResourceManager2); - - dbInstance.commit(); - - organisationService.addMember(organisation, learnResourceManager1, OrganisationRoles.learnresourcemanager); - organisationService.addMember(organisation, learnResourceManager2, OrganisationRoles.learnresourcemanager); - organisationService.addMember(organisation, id1, OrganisationRoles.user); - organisationService.addMember(organisation, id2, OrganisationRoles.user); - dbInstance.commitAndCloseSession(); - - // generate some repo entries - int numbRes = 500; - for (int i = 0; i < numbRes; i++) { - - - int rest = i%4; - int access = 0; - Identity owner = null; - switch(rest) { - case 0: { - access = RepositoryEntry.ACC_USERS_GUESTS; - owner = id1; - break; - } - case 1: { - access = RepositoryEntry.ACC_USERS; - owner = id2; - break; - } - case 2: { - access = RepositoryEntry.ACC_OWNERS; - owner = learnResourceManager1; - break; - } - case 3: { - access = RepositoryEntry.ACC_OWNERS; - owner = learnResourceManager2; - break; - } - } - - // create course and persist as OLATResourceImpl - RepositoryEntry re = createCourseRepositoryEntry(owner, i, organisation); - re.setAccess(access); - - repositoryService.update(re); - if (i % 20 == 0) { - dbInstance.commitAndCloseSession(); - } - } - - dbInstance.commitAndCloseSession(); - - initialized = true; - } - - @Test - public void testOneShootQueryWithRoles() { - List<String> types = Collections.singletonList(TEST_RES_NAME); - - //roles: author + institution manager - Roles adminRoles = securityManager.getRoles(admin); - SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(null, null, null, types, admin, adminRoles, "Volks"); - List<RepositoryEntry> resultOneShootInstitut = rm.genericANDQueryWithRolesRestriction(params, 0, -1, true); - assertNotNull(resultOneShootInstitut); - assertFalse(resultOneShootInstitut.isEmpty()); - } - - @Test - public void testOneShootQueryWithAuthorRole() { - List<String> types = Collections.singletonList(TEST_RES_NAME); - - //roles: author + institution manager - Roles role2 = new Roles(false, false, false, true, false, false, false); - - SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(null, null, null, types, null, role2, null); - List<RepositoryEntry> resultOneShoot = rm.genericANDQueryWithRolesRestriction(params, 0, -1, true); - assertNotNull(resultOneShoot); - assertFalse(resultOneShoot.isEmpty()); - } - - @Test - public void testOneShootWithInstitution() { - List<String> types = Collections.singletonList(TEST_RES_NAME); - - //roles: institution manager - Roles learnResourceManager1Roles = securityManager.getRoles(learnResourceManager1); - - SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(null, null, null, types, - learnResourceManager1, learnResourceManager1Roles, "Volks"); - List<RepositoryEntry> resultOneShootInstitut3 = rm.genericANDQueryWithRolesRestriction(params, 0, -1, true); - assertNotNull(resultOneShootInstitut3); - assertFalse(resultOneShootInstitut3.isEmpty()); - } - - @Test - public void testOneShootWithInstitutionAndSearchByAuthorName() { - List<String> types = Collections.singletonList(TEST_RES_NAME); - - //roles: institution manager search: authorname - Roles learnResourceManager2Roles = securityManager.getRoles(learnResourceManager2); - - SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(null, "kan", null, types, - learnResourceManager2, learnResourceManager2Roles, "Volks"); - List<RepositoryEntry> resultOneShootInstitut4 = rm.genericANDQueryWithRolesRestriction(params, 0, -1, true); - assertNotNull(resultOneShootInstitut4); - assertFalse(resultOneShootInstitut4.isEmpty()); - } - - @Test - public void testOneShootQueryPaging() { - List<String> types = Collections.singletonList(TEST_RES_NAME); - - //roles: institution manager search: authorname - Roles learnResourceManager1Role = securityManager.getRoles(learnResourceManager1); - - //test paging - SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(null, "kan", null, types, - learnResourceManager1, learnResourceManager1Role, "Volks"); - List<RepositoryEntry> resultOneShootInstitut6 = rm.genericANDQueryWithRolesRestriction(params, 0, 50, true); - rm.countGenericANDQueryWithRolesRestriction(params); - assertNotNull(resultOneShootInstitut6); - assertEquals(50, resultOneShootInstitut6.size()); - } - - private RepositoryEntry createCourseRepositoryEntry(Identity owner, final int i, Organisation organisation) { - OLATResource r = resourceManager.createOLATResourceInstance(TEST_RES_NAME); - resourceManager.saveOLATResource(r); - // now make a repository entry for this course - RepositoryEntry re = repositoryService.create(owner, null, - "Lernen mit OLAT " + i, "JunitTest_RepositoryEntry_" + i, "Description of learning by OLAT " + i, r, RepositoryEntry.ACC_OWNERS, organisation); - return re; - } -} \ No newline at end of file diff --git a/src/test/java/org/olat/repository/RepositoryManagerTest.java b/src/test/java/org/olat/repository/RepositoryManagerTest.java index 703a037d31b798bcd9a132ba2a20983098569b03..4f6cd768c355755a9f9256fdbf910717c32eb5d5 100644 --- a/src/test/java/org/olat/repository/RepositoryManagerTest.java +++ b/src/test/java/org/olat/repository/RepositoryManagerTest.java @@ -27,7 +27,6 @@ package org.olat.repository; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.util.ArrayList; @@ -64,7 +63,6 @@ import org.olat.repository.manager.RepositoryEntryLifecycleDAO; import org.olat.repository.manager.RepositoryEntryRelationDAO; import org.olat.repository.model.RepositoryEntryLifecycle; import org.olat.repository.model.RepositoryEntryMembership; -import org.olat.repository.model.SearchRepositoryEntryParameters; import org.olat.resource.OLATResource; import org.olat.resource.OLATResourceManager; import org.olat.test.JunitTestHelper; @@ -325,13 +323,13 @@ public class RepositoryManagerTest extends OlatTestCase { @Test public void queryByOwnerLimitAccess() { //create a repository entry with an owner - Identity id = JunitTestHelper.createAndPersistIdentityAsUser("re-owner-la-" + UUID.randomUUID().toString()); + Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("re-owner-la-"); RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(); dbInstance.commitAndCloseSession(); repositoryEntryRelationDao.addRole(id, re, GroupRoles.owner.name()); dbInstance.commitAndCloseSession(); - List<RepositoryEntry> entries = repositoryManager.queryByOwnerLimitAccess(id, RepositoryEntry.ACC_OWNERS, Boolean.TRUE); + List<RepositoryEntry> entries = repositoryManager.queryByOwnerLimitAccess(id); Assert.assertNotNull(entries); Assert.assertEquals(1, entries.size()); Assert.assertTrue(entries.contains(re)); @@ -652,81 +650,6 @@ public class RepositoryManagerTest extends OlatTestCase { Assert.assertEquals(0, countEntries); } - @Test - public void queryByTypeLimitAccess() { - Identity id = JunitTestHelper.createAndPersistIdentityAsUser("qbtla-1-" + UUID.randomUUID().toString()); - RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(true); - BusinessGroup group = businessGroupService.createBusinessGroup(null, "qbtla-1", "tg", null, null, false, false, re); - businessGroupRelationDao.addRole(id, group, GroupRoles.coach.name()); - dbInstance.commitAndCloseSession(); - - //check - List<String> types = Collections.singletonList(re.getOlatResource().getResourceableTypeName()); - List<RepositoryEntry> entries = repositoryManager.queryByTypeLimitAccess(id, - types, new Roles(false, false, false, false, false, false, false)); - - Assert.assertNotNull(entries); - Assert.assertFalse(entries.isEmpty()); - Assert.assertTrue(entries.contains(re)); - for(RepositoryEntry entry:entries) { - if(!entry.equals(re)) { - Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); - } - } - } - - @Test - public void queryByTypeLimitAccess_withoutInstitution() { - Identity id = JunitTestHelper.createAndPersistIdentityAsUser("qbtla-2-" + UUID.randomUUID().toString()); - RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(true); - BusinessGroup group = businessGroupService.createBusinessGroup(null, "qbtla-2", "tg", null, null, false, false, re); - businessGroupRelationDao.addRole(id, group, GroupRoles.coach.name()); - dbInstance.commitAndCloseSession(); - - //check - List<String> types = Collections.singletonList(re.getOlatResource().getResourceableTypeName()); - List<RepositoryEntry> entries = repositoryManager.queryByTypeLimitAccess(id, - new Roles(false, false, false, false, false, false, false), types); - - Assert.assertNotNull(entries); - Assert.assertFalse(entries.isEmpty()); - Assert.assertTrue(entries.contains(re)); - for(RepositoryEntry entry:entries) { - if(!entry.equals(re)) { - Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); - } - } - } - - @Test - public void queryByTypeLimitAccess_withInstitution() { - Identity id = JunitTestHelper.createAndPersistIdentityAsUser("qbtla-3-" + UUID.randomUUID().toString()); - RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(true); - BusinessGroup group = businessGroupService.createBusinessGroup(null, "qbtla-3", "tg", null, null, false, false, re); - businessGroupRelationDao.addRole(id, group, GroupRoles.coach.name()); - dbInstance.commitAndCloseSession(); - - //promote id to institution resource manager - id.getUser().setProperty(UserConstants.INSTITUTIONALNAME, "openolat.org"); - userManager.updateUserFromIdentity(id); - organisationService.addMember(id, OrganisationRoles.learnresourcemanager); - dbInstance.commitAndCloseSession(); - - //check - List<String> types = Collections.singletonList(re.getOlatResource().getResourceableTypeName()); - List<RepositoryEntry> entries = repositoryManager.queryByTypeLimitAccess(id, - new Roles(false, false, false, false, false, true, false), types); - - Assert.assertNotNull(entries); - Assert.assertFalse(entries.isEmpty()); - Assert.assertTrue(entries.contains(re)); - for(RepositoryEntry entry:entries) { - if(!entry.equals(re)) { - Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); - } - } - } - @Test public void queryResourcesLimitType() { Identity id = JunitTestHelper.createAndPersistIdentityAsUser("re-member-lc-" + UUID.randomUUID().toString()); @@ -735,15 +658,16 @@ public class RepositoryManagerTest extends OlatTestCase { List<String> resourceTypes = Collections.singletonList(re.getOlatResource().getResourceableTypeName()); List<RepositoryEntry> entries = repositoryManager - .queryResourcesLimitType(id, resourceTypes, "re-member", "me", "no", true, true); + .queryResourcesLimitType(id, Roles.authorRoles(), resourceTypes, "re-member", "me", "no", true, true); Assert.assertNotNull(entries); } @Test public void queryReferencableResourcesLimitType() { - final String FG_TYPE = UUID.randomUUID().toString().replace("_", ""); + String resourceType = UUID.randomUUID().toString().replace("_", ""); Identity id1 = JunitTestHelper.createAndPersistIdentityAsAuthor("id1"); Identity id2 = JunitTestHelper.createAndPersistIdentityAsAuthor("id2"); + Roles id1Roles = securityManager.getRoles(id1); // generate 5000 repo entries int numbRes = 500; @@ -752,7 +676,7 @@ public class RepositoryManagerTest extends OlatTestCase { // create course and persist as OLATResourceImpl Identity owner = (i % 2 > 0) ? id1 : id2; - OLATResourceable resourceable = OresHelper.createOLATResourceableInstance(FG_TYPE, new Long(i)); + OLATResourceable resourceable = OresHelper.createOLATResourceableInstance(resourceType, new Long(i)); OLATResource r = OLATResourceManager.getInstance().createOLATResourceInstance(resourceable); dbInstance.getCurrentEntityManager().persist(r); @@ -778,18 +702,18 @@ public class RepositoryManagerTest extends OlatTestCase { long endCreate = System.currentTimeMillis(); log.info("created " + numbRes + " repo entries in " + (endCreate - startCreate) + "ms"); - List<String> typelist = Collections.singletonList(FG_TYPE); + List<String> typelist = Collections.singletonList(resourceType); // finally the search query long startSearchReferencable = System.currentTimeMillis(); - List<RepositoryEntry> results = repositoryManager.queryReferencableResourcesLimitType(id1, new Roles(false, false, false, true, false, false, false), typelist, null, null, null); + List<RepositoryEntry> results = repositoryManager.queryResourcesLimitType(id1, id1Roles, typelist, null, null, null, true, false); long endSearchReferencable = System.currentTimeMillis(); log.info("found " + results.size() + " repo entries " + (endSearchReferencable - startSearchReferencable) + "ms"); // only half of the items should be found - assertEquals(numbRes / 2, results.size()); + Assert.assertEquals(numbRes / 2, results.size()); // inserting must take longer than searching, otherwhise most certainly we have a problem somewhere in the query - assertTrue((endCreate - startCreate) > (endSearchReferencable - startSearchReferencable)); + Assert.assertTrue((endCreate - startCreate) > (endSearchReferencable - startSearchReferencable)); } @Test @@ -975,9 +899,9 @@ public class RepositoryManagerTest extends OlatTestCase { Roles rolesOwner1 = securityManager.getRoles(owner1); Roles rolesOwner2 = securityManager.getRoles(owner2); Roles rolesPart3 = securityManager.getRoles(part3); - boolean institutionMgr1 = repositoryManager.isInstitutionalRessourceManagerFor(owner1, rolesOwner1, re); - boolean institutionMgr2 = repositoryManager.isInstitutionalRessourceManagerFor(owner2, rolesOwner2, re); - boolean institutionMgr3 = repositoryManager.isInstitutionalRessourceManagerFor(part3, rolesPart3, re); + boolean institutionMgr1 = repositoryManager.isLearnResourceManagerFor(rolesOwner1, re); + boolean institutionMgr2 = repositoryManager.isLearnResourceManagerFor(rolesOwner2, re); + boolean institutionMgr3 = repositoryManager.isLearnResourceManagerFor(rolesPart3, re); Assert.assertTrue(institutionMgr1); Assert.assertFalse(institutionMgr2); @@ -1001,177 +925,6 @@ public class RepositoryManagerTest extends OlatTestCase { assertEquals("Add one course repository-entry, but countByTypeLimitAccess does NOT return one more element", countValueBefore + 1,count); } - @Test - public void genericANDQueryWithRolesRestrictionMembersOnly() { - //create 2 identities (repo owner and tutor) - Identity id1 = JunitTestHelper.createAndPersistIdentityAsUser("re-gen-1-" + UUID.randomUUID().toString()); - Identity id2 = JunitTestHelper.createAndPersistIdentityAsUser("re-gen-2-" + UUID.randomUUID().toString()); - Identity id3 = JunitTestHelper.createAndPersistIdentityAsUser("re-gen-3-" + UUID.randomUUID().toString()); - RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(true); - repositoryEntryRelationDao.addRole(id1, re, GroupRoles.owner.name()); - BusinessGroup group = businessGroupService.createBusinessGroup(null, "teacherg", "tg", null, null, false, false, re); - businessGroupRelationDao.addRole(id2, group, GroupRoles.coach.name()); - dbInstance.commitAndCloseSession(); - - - //check for id 1 (owner of the repository entry) - SearchRepositoryEntryParameters params1 = new SearchRepositoryEntryParameters(); - params1.setIdentity(id1); - params1.setRoles(new Roles(false, false, false, false, false, false, false)); - params1.setOnlyExplicitMember(true); - List<RepositoryEntry> entries1 = repositoryManager.genericANDQueryWithRolesRestriction(params1, 0, -1, true); - Assert.assertNotNull(entries1); - Assert.assertFalse(entries1.isEmpty()); - Assert.assertTrue(entries1.contains(re)); - for(RepositoryEntry entry:entries1) { - if(!entry.equals(re)) { - Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); - } - } - - //check for id2 (tutor) - SearchRepositoryEntryParameters params2 = new SearchRepositoryEntryParameters(); - params2.setIdentity(id2); - params2.setRoles(new Roles(false, false, false, false, false, false, false)); - params2.setOnlyExplicitMember(true); - List<RepositoryEntry> entries2 = repositoryManager.genericANDQueryWithRolesRestriction(params2, 0, -1, true); - Assert.assertNotNull(entries2); - Assert.assertFalse(entries2.isEmpty()); - Assert.assertTrue(entries2.contains(re)); - for(RepositoryEntry entry:entries2) { - if(!entry.equals(re)) { - Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); - } - } - - //check for id3 (negative test) - SearchRepositoryEntryParameters params3 = new SearchRepositoryEntryParameters(); - params3.setIdentity(id3); - params3.setRoles(new Roles(false, false, false, false, false, false, false)); - params3.setOnlyExplicitMember(true); - List<RepositoryEntry> entries3 = repositoryManager.genericANDQueryWithRolesRestriction(params3, 0, -1, true); - Assert.assertNotNull(entries3); - Assert.assertFalse(entries3.contains(re)); - for(RepositoryEntry entry:entries3) { - Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); - } - } - - @Test - public void genericANDQueryWithRolesWithStandardUser() { - //create 2 identities (repo owner and tutor) - Identity id1 = JunitTestHelper.createAndPersistIdentityAsUser("re-gen-1-" + UUID.randomUUID().toString()); - Identity id2 = JunitTestHelper.createAndPersistIdentityAsUser("re-gen-2-" + UUID.randomUUID().toString()); - RepositoryEntry re1 = JunitTestHelper.createAndPersistRepositoryEntry(); - RepositoryEntry re2 = JunitTestHelper.createAndPersistRepositoryEntry(true); - repositoryEntryRelationDao.addRole(id1, re2, GroupRoles.participant.name()); - BusinessGroup group = businessGroupService.createBusinessGroup(null, "teacherg", "tg", null, null, false, false, re1); - businessGroupRelationDao.addRole(id2, group, GroupRoles.participant.name()); - dbInstance.commitAndCloseSession(); - - - //check for guest (negative test) - SearchRepositoryEntryParameters params1 = new SearchRepositoryEntryParameters(); - params1.setRoles(new Roles(false, false, false, false, true, false, false)); - List<RepositoryEntry> entries1 = repositoryManager.genericANDQueryWithRolesRestriction(params1, 0, -1, true); - Assert.assertNotNull(entries1); - Assert.assertFalse(entries1.contains(re1)); - Assert.assertFalse(entries1.contains(re2)); - for(RepositoryEntry entry:entries1) { - Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS_GUESTS); - } - - //check for identity 1 (participant re2 + re1 accessible to all users) - SearchRepositoryEntryParameters params2 = new SearchRepositoryEntryParameters(); - params2.setIdentity(id1); - params2.setRoles(new Roles(false, false, false, false, false, false, false)); - List<RepositoryEntry> entries2 = repositoryManager.genericANDQueryWithRolesRestriction(params2, 0, -1, true); - Assert.assertNotNull(entries2); - Assert.assertFalse(entries2.isEmpty()); - Assert.assertTrue(entries2.contains(re1)); - Assert.assertTrue(entries2.contains(re2)); - for(RepositoryEntry entry:entries2) { - if(!entry.equals(re2)) { - Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); - } - } - - //check for identity 1 (re1 accessible to all users) - SearchRepositoryEntryParameters params3 = new SearchRepositoryEntryParameters(); - params3.setIdentity(id2); - params3.setRoles(new Roles(false, false, false, false, false, false, false)); - List<RepositoryEntry> entries3 = repositoryManager.genericANDQueryWithRolesRestriction(params3, 0, -1, true); - Assert.assertNotNull(entries3); - Assert.assertFalse(entries3.isEmpty()); - Assert.assertTrue(entries3.contains(re1)); - Assert.assertFalse(entries3.contains(re2)); - for(RepositoryEntry entry:entries3) { - Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); - } - } - - @Test - public void genericANDQueryWithRoles_managed() { - RepositoryEntry managedRe = JunitTestHelper.createAndPersistRepositoryEntry(); - managedRe.setManagedFlagsString("all"); - managedRe = dbInstance.getCurrentEntityManager().merge(managedRe); - RepositoryEntry freeRe = JunitTestHelper.createAndPersistRepositoryEntry(); - dbInstance.commitAndCloseSession(); - - //search managed - SearchRepositoryEntryParameters paramsManaged = new SearchRepositoryEntryParameters(); - paramsManaged.setRoles(new Roles(true, false, false, false, false, false, false)); - paramsManaged.setManaged(Boolean.TRUE); - List<RepositoryEntry> managedEntries = repositoryManager.genericANDQueryWithRolesRestriction(paramsManaged, 0, -1, true); - Assert.assertNotNull(managedEntries); - Assert.assertTrue(managedEntries.size() > 0); - Assert.assertTrue(managedEntries.contains(managedRe)); - Assert.assertFalse(managedEntries.contains(freeRe)); - - //search unmanaged - SearchRepositoryEntryParameters paramsFree = new SearchRepositoryEntryParameters(); - paramsFree.setRoles(new Roles(true, false, false, false, false, false, false)); - paramsFree.setManaged(Boolean.FALSE); - List<RepositoryEntry> freeEntries = repositoryManager.genericANDQueryWithRolesRestriction(paramsFree, 0, -1, true); - Assert.assertNotNull(freeEntries); - Assert.assertTrue(freeEntries.size() > 0); - Assert.assertFalse(freeEntries.contains(managedRe)); - Assert.assertTrue(freeEntries.contains(freeRe)); - } - - @Test - public void genericANDQueryWithRoles_owned() { - Identity owner = JunitTestHelper.createAndPersistIdentityAsRndUser("owned-re-"); - RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(); - repositoryEntryRelationDao.addRole(owner, re, GroupRoles.owner.name()); - dbInstance.commitAndCloseSession(); - - SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(); - params.setRoles(new Roles(false, false, false, true, false, false, false)); - params.setOnlyOwnedResources(true); - params.setIdentity(owner); - List<RepositoryEntry> myEntries = repositoryManager.genericANDQueryWithRolesRestriction(params, 0, -1, true); - Assert.assertNotNull(myEntries); - Assert.assertEquals(1, myEntries.size()); - Assert.assertTrue(myEntries.contains(re)); - } - - @Test - public void genericANDQueryWithRoles_byauthor() { - Identity owner = JunitTestHelper.createAndPersistIdentityAsRndUser("author-re-"); - RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(); - repositoryEntryRelationDao.addRole(owner, re, GroupRoles.owner.name()); - dbInstance.commitAndCloseSession(); - - SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(); - params.setRoles(new Roles(true, false, false, false, false, false, false)); - params.setAuthor(owner.getName()); - List<RepositoryEntry> myEntries = repositoryManager.genericANDQueryWithRolesRestriction(params, 0, -1, true); - Assert.assertNotNull(myEntries); - Assert.assertEquals(1, myEntries.size()); - Assert.assertTrue(myEntries.contains(re)); - } - @Test public void setDescriptionAndName() { RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(); @@ -1229,6 +982,35 @@ public class RepositoryManagerTest extends OlatTestCase { Assert.assertEquals("Brand new description", reloaded.getDescription()); Assert.assertEquals(publicCycle, reloaded.getLifecycle()); } + + @Test + public void setDescriptionAndName_organisations() { + RepositoryEntryLifecycle publicCycle + = lifecycleDao.create("Public 2", "Soft public 2", false, new Date(), new Date()); + Organisation organisation = organisationService.getDefaultOrganisation(); + + RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(re); + + String newName = "Organized name"; + String newDesc = "Organized description"; + re = repositoryManager.setDescriptionAndName(re, newName, null, null, newDesc, null, null, null, null, null, null, + publicCycle, Collections.singletonList(organisation)); + Assert.assertNotNull(re); + Assert.assertEquals(2, re.getGroups().size());// check repository entry to group relations + + dbInstance.commitAndCloseSession(); + + // reload and check twice + RepositoryEntry reloaded = repositoryManager.lookupRepositoryEntry(re.getKey()); + Assert.assertNotNull(reloaded); + Assert.assertEquals("Organized name", reloaded.getDisplayname()); + Assert.assertEquals("Organized description", reloaded.getDescription()); + Assert.assertEquals(publicCycle, reloaded.getLifecycle()); + Assert.assertEquals(1, reloaded.getOrganisations().size());// check repository entry to organization relations + Assert.assertEquals(2, reloaded.getGroups().size());// check repository entry to group relations + } @Test public void setAllowToLeaveOption() { diff --git a/src/test/java/org/olat/repository/manager/RepositoryEntryQueriesTest.java b/src/test/java/org/olat/repository/manager/RepositoryEntryQueriesTest.java new file mode 100644 index 0000000000000000000000000000000000000000..d91ac95542bc4e3bd1eb46a22d39216c220be461 --- /dev/null +++ b/src/test/java/org/olat/repository/manager/RepositoryEntryQueriesTest.java @@ -0,0 +1,487 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.repository.manager; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; + +import java.util.Collections; +import java.util.List; +import java.util.UUID; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.olat.basesecurity.BaseSecurity; +import org.olat.basesecurity.GroupRoles; +import org.olat.basesecurity.OrganisationRoles; +import org.olat.basesecurity.OrganisationService; +import org.olat.core.commons.persistence.DB; +import org.olat.core.id.Identity; +import org.olat.core.id.Organisation; +import org.olat.core.id.Roles; +import org.olat.core.id.UserConstants; +import org.olat.group.BusinessGroup; +import org.olat.group.BusinessGroupService; +import org.olat.group.manager.BusinessGroupRelationDAO; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryManager; +import org.olat.repository.RepositoryService; +import org.olat.repository.model.SearchRepositoryEntryParameters; +import org.olat.resource.OLATResource; +import org.olat.resource.OLATResourceManager; +import org.olat.test.JunitTestHelper; +import org.olat.test.OlatTestCase; +import org.olat.user.UserManager; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 3 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class RepositoryEntryQueriesTest extends OlatTestCase { + + private static final String TEST_RES_NAME = "TestManagerQuery"; + + @Autowired + private DB dbInstance; + @Autowired + private RepositoryManager rm; + @Autowired + private RepositoryEntryQueries repositoryEntryQueries; + @Autowired + private UserManager userManager; + @Autowired + private BaseSecurity securityManager; + @Autowired + private RepositoryService repositoryService; + @Autowired + private OLATResourceManager resourceManager; + @Autowired + private OrganisationService organisationService; + @Autowired + private BusinessGroupService businessGroupService; + @Autowired + private BusinessGroupRelationDAO businessGroupRelationDao; + @Autowired + private RepositoryEntryRelationDAO repositoryEntryRelationDao; + + private static Identity admin; + private static Identity user1; + private static Identity learnResourceManager1; + private static Identity learnResourceManager2; + + private static final String author = "RepositoryManagerQueryAuthor"; + private static boolean initialized = false; + + public void testManagers() { + assertNotNull(rm); + } + + @Before + public void setup() { + if(initialized) return; + + Organisation defOrganisation = organisationService.getDefaultOrganisation(); + Organisation organisation = organisationService.createOrganisation("Test repo query", "test-repo-query", null, defOrganisation, null); + dbInstance.commit(); + + admin = JunitTestHelper.createAndPersistIdentityAsAdmin("queryAdministrator"); + + user1 = JunitTestHelper.createAndPersistIdentityAsAuthor(author + "1"); + user1.getUser().setProperty(UserConstants.FIRSTNAME, author + "1"); + user1.getUser().setProperty(UserConstants.LASTNAME, author + "1"); + userManager.updateUserFromIdentity(user1); + + Identity id2 = JunitTestHelper.createAndPersistIdentityAsAuthor(author + "2"); + id2.getUser().setProperty(UserConstants.FIRSTNAME, author + "2"); + id2.getUser().setProperty(UserConstants.LASTNAME, author + "2"); + userManager.updateUserFromIdentity(id2); + + learnResourceManager1 = JunitTestHelper.createAndPersistIdentityAsAuthor("kanu"); + learnResourceManager1.getUser().setProperty(UserConstants.INSTITUTIONALNAME, "Volks"); + learnResourceManager1.getUser().setProperty(UserConstants.FIRSTNAME, "Kanu"); + learnResourceManager1.getUser().setProperty(UserConstants.LASTNAME, "Unchou"); + userManager.updateUserFromIdentity(learnResourceManager1); + + learnResourceManager2 = JunitTestHelper.createAndPersistIdentityAsAuthor("rei"); + learnResourceManager2.getUser().setProperty(UserConstants.INSTITUTIONALNAME, "Nerv"); + learnResourceManager2.getUser().setProperty(UserConstants.FIRSTNAME, "Rei"); + learnResourceManager2.getUser().setProperty(UserConstants.LASTNAME, "Ayanami"); + userManager.updateUserFromIdentity(learnResourceManager2); + + dbInstance.commit(); + + organisationService.addMember(organisation, learnResourceManager1, OrganisationRoles.learnresourcemanager); + organisationService.addMember(organisation, learnResourceManager2, OrganisationRoles.learnresourcemanager); + organisationService.addMember(organisation, user1, OrganisationRoles.user); + organisationService.addMember(organisation, user1, OrganisationRoles.user); + dbInstance.commitAndCloseSession(); + + // generate some repo entries + int numbRes = 500; + for (int i = 0; i < numbRes; i++) { + + + int rest = i%4; + int access = 0; + Identity owner = null; + switch(rest) { + case 0: { + access = RepositoryEntry.ACC_USERS_GUESTS; + owner = user1; + break; + } + case 1: { + access = RepositoryEntry.ACC_USERS; + owner = id2; + break; + } + case 2: { + access = RepositoryEntry.ACC_OWNERS; + owner = learnResourceManager1; + break; + } + case 3: { + access = RepositoryEntry.ACC_OWNERS; + owner = learnResourceManager2; + break; + } + } + + // create course and persist as OLATResourceImpl + RepositoryEntry re = createCourseRepositoryEntry(owner, i, organisation); + re.setAccess(access); + + repositoryService.update(re); + if (i % 20 == 0) { + dbInstance.commitAndCloseSession(); + } + } + + dbInstance.commitAndCloseSession(); + + initialized = true; + } + + @Test + public void testOneShootQueryWithRoles() { + //roles: admin + Roles adminRoles = securityManager.getRoles(admin); + Assert.assertTrue(adminRoles.isOLATAdmin()); + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(admin, adminRoles, TEST_RES_NAME); + List<RepositoryEntry> resultOneShootInstitut = repositoryEntryQueries.searchEntries(params, 0, -1, true); + Assert.assertNotNull(resultOneShootInstitut); + Assert.assertFalse(resultOneShootInstitut.isEmpty()); + } + + @Test + public void testOneShootQueryWithAuthorRole() { + //roles: author + Roles authorRoles = Roles.authorRoles(); + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(user1, authorRoles, TEST_RES_NAME); + List<RepositoryEntry> resultOneShoot = repositoryEntryQueries.searchEntries(params, 0, -1, true); + Assert.assertNotNull(resultOneShoot); + Assert.assertFalse(resultOneShoot.isEmpty()); + } + + @Test + public void testOneShootWithInstitution() { + List<String> types = Collections.singletonList(TEST_RES_NAME); + + //roles: institution manager + Roles learnResourceManager1Roles = securityManager.getRoles(learnResourceManager1); + + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(null, null, null, types, + learnResourceManager1, learnResourceManager1Roles); + List<RepositoryEntry> resultOneShootInstitut3 = repositoryEntryQueries.searchEntries(params, 0, -1, true); + assertNotNull(resultOneShootInstitut3); + assertFalse(resultOneShootInstitut3.isEmpty()); + } + + @Test + public void testOneShootWithInstitutionAndSearchByAuthorName() { + List<String> types = Collections.singletonList(TEST_RES_NAME); + + //roles: institution manager search: authorname + Roles learnResourceManager2Roles = securityManager.getRoles(learnResourceManager2); + + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(null, "kan", null, types, + learnResourceManager2, learnResourceManager2Roles); + List<RepositoryEntry> resultOneShootInstitut4 = repositoryEntryQueries.searchEntries(params, 0, -1, true); + assertNotNull(resultOneShootInstitut4); + assertFalse(resultOneShootInstitut4.isEmpty()); + } + + @Test + public void testOneShootQueryPaging() { + List<String> types = Collections.singletonList(TEST_RES_NAME); + + //roles: institution manager search: authorname + Roles learnResourceManager1Role = securityManager.getRoles(learnResourceManager1); + + //test paging + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(null, "kan", null, types, + learnResourceManager1, learnResourceManager1Role); + List<RepositoryEntry> resultOneShootInstitut6 = repositoryEntryQueries.searchEntries(params, 0, 50, true); + rm.countGenericANDQueryWithRolesRestriction(params); + assertNotNull(resultOneShootInstitut6); + assertEquals(50, resultOneShootInstitut6.size()); + } + + @Test + public void search_byAuthor() { + Identity owner = JunitTestHelper.createAndPersistIdentityAsRndUser("author-re-"); + RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(); + repositoryEntryRelationDao.addRole(owner, re, GroupRoles.owner.name()); + dbInstance.commitAndCloseSession(); + + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(); + params.setRoles(new Roles(true, false, false, false, false, false, false)); + params.setAuthor(owner.getName()); + List<RepositoryEntry> myEntries = repositoryEntryQueries.searchEntries(params, 0, -1, true); + Assert.assertNotNull(myEntries); + Assert.assertEquals(1, myEntries.size()); + Assert.assertTrue(myEntries.contains(re)); + } + + @Test + public void genericANDQueryWithRoles_managed() { + RepositoryEntry managedRe = JunitTestHelper.createAndPersistRepositoryEntry(); + managedRe.setManagedFlagsString("all"); + managedRe = dbInstance.getCurrentEntityManager().merge(managedRe); + RepositoryEntry freeRe = JunitTestHelper.createAndPersistRepositoryEntry(); + dbInstance.commitAndCloseSession(); + + //search managed + SearchRepositoryEntryParameters paramsManaged = new SearchRepositoryEntryParameters(); + paramsManaged.setRoles(new Roles(true, false, false, false, false, false, false)); + paramsManaged.setManaged(Boolean.TRUE); + List<RepositoryEntry> managedEntries = repositoryEntryQueries.searchEntries(paramsManaged, 0, -1, true); + Assert.assertNotNull(managedEntries); + Assert.assertTrue(managedEntries.size() > 0); + Assert.assertTrue(managedEntries.contains(managedRe)); + Assert.assertFalse(managedEntries.contains(freeRe)); + + //search unmanaged + SearchRepositoryEntryParameters paramsFree = new SearchRepositoryEntryParameters(); + paramsFree.setRoles(new Roles(true, false, false, false, false, false, false)); + paramsFree.setManaged(Boolean.FALSE); + List<RepositoryEntry> freeEntries = repositoryEntryQueries.searchEntries(paramsFree, 0, -1, true); + Assert.assertNotNull(freeEntries); + Assert.assertTrue(freeEntries.size() > 0); + Assert.assertFalse(freeEntries.contains(managedRe)); + Assert.assertTrue(freeEntries.contains(freeRe)); + } + + @Test + public void genericANDQueryWithRolesWithStandardUser() { + //create 2 identities (repo owner and tutor) + Identity id1 = JunitTestHelper.createAndPersistIdentityAsUser("re-gen-1-" + UUID.randomUUID().toString()); + Identity id2 = JunitTestHelper.createAndPersistIdentityAsUser("re-gen-2-" + UUID.randomUUID().toString()); + RepositoryEntry re1 = JunitTestHelper.createAndPersistRepositoryEntry(); + RepositoryEntry re2 = JunitTestHelper.createAndPersistRepositoryEntry(true); + repositoryEntryRelationDao.addRole(id1, re2, GroupRoles.participant.name()); + BusinessGroup group = businessGroupService.createBusinessGroup(null, "teacherg", "tg", null, null, false, false, re1); + businessGroupRelationDao.addRole(id2, group, GroupRoles.participant.name()); + dbInstance.commitAndCloseSession(); + + + //check for guest (negative test) + SearchRepositoryEntryParameters params1 = new SearchRepositoryEntryParameters(); + params1.setRoles(new Roles(false, false, false, false, true, false, false)); + List<RepositoryEntry> entries1 = repositoryEntryQueries.searchEntries(params1, 0, -1, true); + Assert.assertNotNull(entries1); + Assert.assertFalse(entries1.contains(re1)); + Assert.assertFalse(entries1.contains(re2)); + for(RepositoryEntry entry:entries1) { + Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS_GUESTS); + } + + //check for identity 1 (participant re2 + re1 accessible to all users) + SearchRepositoryEntryParameters params2 = new SearchRepositoryEntryParameters(); + params2.setIdentity(id1); + params2.setRoles(new Roles(false, false, false, false, false, false, false)); + List<RepositoryEntry> entries2 = repositoryEntryQueries.searchEntries(params2, 0, -1, true); + Assert.assertNotNull(entries2); + Assert.assertFalse(entries2.isEmpty()); + Assert.assertTrue(entries2.contains(re1)); + Assert.assertTrue(entries2.contains(re2)); + for(RepositoryEntry entry:entries2) { + if(!entry.equals(re2)) { + Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); + } + } + + //check for identity 1 (re1 accessible to all users) + SearchRepositoryEntryParameters params3 = new SearchRepositoryEntryParameters(); + params3.setIdentity(id2); + params3.setRoles(new Roles(false, false, false, false, false, false, false)); + List<RepositoryEntry> entries3 = repositoryEntryQueries.searchEntries(params3, 0, -1, true); + Assert.assertNotNull(entries3); + Assert.assertFalse(entries3.isEmpty()); + Assert.assertTrue(entries3.contains(re1)); + Assert.assertFalse(entries3.contains(re2)); + for(RepositoryEntry entry:entries3) { + Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); + } + } + + @Test + public void genericANDQueryWithRolesRestrictionMembersOnly() { + //create 2 identities (repo owner and tutor) + Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("re-gen-1-"); + Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("re-gen-2-"); + Identity id3 = JunitTestHelper.createAndPersistIdentityAsRndUser("re-gen-3-"); + RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(true); + repositoryEntryRelationDao.addRole(id1, re, GroupRoles.owner.name()); + BusinessGroup group = businessGroupService.createBusinessGroup(null, "teacherg", "tg", null, null, false, false, re); + businessGroupRelationDao.addRole(id2, group, GroupRoles.coach.name()); + dbInstance.commitAndCloseSession(); + + + //check for id 1 (owner of the repository entry) + SearchRepositoryEntryParameters params1 = new SearchRepositoryEntryParameters(); + params1.setIdentity(id1); + params1.setRoles(new Roles(false, false, false, false, false, false, false)); + params1.setOnlyExplicitMember(true); + List<RepositoryEntry> entries1 = repositoryEntryQueries.searchEntries(params1, 0, -1, true); + Assert.assertNotNull(entries1); + Assert.assertFalse(entries1.isEmpty()); + Assert.assertTrue(entries1.contains(re)); + for(RepositoryEntry entry:entries1) { + if(!entry.equals(re)) { + Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); + } + } + + //check for id2 (tutor) + SearchRepositoryEntryParameters params2 = new SearchRepositoryEntryParameters(); + params2.setIdentity(id2); + params2.setRoles(new Roles(false, false, false, false, false, false, false)); + params2.setOnlyExplicitMember(true); + List<RepositoryEntry> entries2 = repositoryEntryQueries.searchEntries(params2, 0, -1, true); + Assert.assertNotNull(entries2); + Assert.assertFalse(entries2.isEmpty()); + Assert.assertTrue(entries2.contains(re)); + for(RepositoryEntry entry:entries2) { + if(!entry.equals(re)) { + Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); + } + } + + //check for id3 (negative test) + SearchRepositoryEntryParameters params3 = new SearchRepositoryEntryParameters(); + params3.setIdentity(id3); + params3.setRoles(new Roles(false, false, false, false, false, false, false)); + params3.setOnlyExplicitMember(true); + List<RepositoryEntry> entries3 = repositoryEntryQueries.searchEntries(params3, 0, -1, true); + Assert.assertNotNull(entries3); + Assert.assertFalse(entries3.contains(re)); + for(RepositoryEntry entry:entries3) { + Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); + } + } + + @Test + public void queryByTypeLimitAccess() { + Identity id = JunitTestHelper.createAndPersistIdentityAsUser("qbtla-1-" + UUID.randomUUID().toString()); + RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(true); + BusinessGroup group = businessGroupService.createBusinessGroup(null, "qbtla-1", "tg", null, null, false, false, re); + businessGroupRelationDao.addRole(id, group, GroupRoles.coach.name()); + dbInstance.commitAndCloseSession(); + + //check + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(id, Roles.userRoles(), re.getOlatResource().getResourceableTypeName()); + List<RepositoryEntry> entries = repositoryEntryQueries.searchEntries(params, 0, -1, false); + + Assert.assertNotNull(entries); + Assert.assertFalse(entries.isEmpty()); + Assert.assertTrue(entries.contains(re)); + for(RepositoryEntry entry:entries) { + if(!entry.equals(re)) { + Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); + } + } + } + + @Test + public void queryByTypeLimitAccess_withoutInstitution() { + Identity id = JunitTestHelper.createAndPersistIdentityAsUser("qbtla-2-" + UUID.randomUUID().toString()); + RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(true); + BusinessGroup group = businessGroupService.createBusinessGroup(null, "qbtla-2", "tg", null, null, false, false, re); + businessGroupRelationDao.addRole(id, group, GroupRoles.coach.name()); + dbInstance.commitAndCloseSession(); + + //check + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(id, Roles.userRoles(), re.getOlatResource().getResourceableTypeName()); + List<RepositoryEntry> entries = repositoryEntryQueries.searchEntries(params, 0, -1, false); + + Assert.assertNotNull(entries); + Assert.assertFalse(entries.isEmpty()); + Assert.assertTrue(entries.contains(re)); + for(RepositoryEntry entry:entries) { + if(!entry.equals(re)) { + Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); + } + } + } + + @Test + public void queryByTypeLimitAccess_withInstitution() { + Identity id = JunitTestHelper.createAndPersistIdentityAsUser("qbtla-3-" + UUID.randomUUID().toString()); + RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(true); + BusinessGroup group = businessGroupService.createBusinessGroup(null, "qbtla-3", "tg", null, null, false, false, re); + businessGroupRelationDao.addRole(id, group, GroupRoles.coach.name()); + dbInstance.commitAndCloseSession(); + + //promote id to institution resource manager + id.getUser().setProperty(UserConstants.INSTITUTIONALNAME, "openolat.org"); + userManager.updateUserFromIdentity(id); + organisationService.addMember(id, OrganisationRoles.learnresourcemanager); + dbInstance.commitAndCloseSession(); + + //check + Roles learnResourceManagerRoles = new Roles(false, false, false, false, false, true, false); + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters(id, learnResourceManagerRoles, re.getOlatResource().getResourceableTypeName()); + List<RepositoryEntry> entries = repositoryEntryQueries.searchEntries(params, 0, -1, false); + + Assert.assertNotNull(entries); + Assert.assertFalse(entries.isEmpty()); + Assert.assertTrue(entries.contains(re)); + for(RepositoryEntry entry:entries) { + if(!entry.equals(re)) { + Assert.assertTrue(entry.getAccess() >= RepositoryEntry.ACC_USERS); + } + } + } + + private RepositoryEntry createCourseRepositoryEntry(Identity owner, final int i, Organisation organisation) { + OLATResource r = resourceManager.createOLATResourceInstance(TEST_RES_NAME); + resourceManager.saveOLATResource(r); + // now make a repository entry for this course + RepositoryEntry re = repositoryService.create(owner, null, + "Lernen mit OLAT " + i, "JunitTest_RepositoryEntry_" + i, "Description of learning by OLAT " + i, r, RepositoryEntry.ACC_OWNERS, organisation); + return re; + } +} diff --git a/src/test/java/org/olat/repository/manager/RepositoryEntryRelationDAOTest.java b/src/test/java/org/olat/repository/manager/RepositoryEntryRelationDAOTest.java index e3a7e8ba51ad23f5876423f53571d655b8210675..f72ddc06f9025fc4818e69edbfdf385eb506aae8 100644 --- a/src/test/java/org/olat/repository/manager/RepositoryEntryRelationDAOTest.java +++ b/src/test/java/org/olat/repository/manager/RepositoryEntryRelationDAOTest.java @@ -528,7 +528,7 @@ public class RepositoryEntryRelationDAOTest extends OlatTestCase { dbInstance.commitAndCloseSession(); int numOfRelations = repositoryEntryRelationDao.removeRelations(re2); - Assert.assertEquals(2, numOfRelations);//default relation + relation to group + Assert.assertEquals(3, numOfRelations);//default relation + relation to group + default organization dbInstance.commitAndCloseSession(); List<Group> groups = Collections.singletonList(group.getBaseGroup()); @@ -558,4 +558,17 @@ public class RepositoryEntryRelationDAOTest extends OlatTestCase { List<RepositoryEntryToGroupRelation> relations = repositoryEntryRelationDao.getRelations(groups); Assert.assertEquals(0, relations.size()); } + + @Test + public void getOrganisations() { + Organisation defOrganisation = organisationService.getDefaultOrganisation(); + Organisation organisation = organisationService.createOrganisation("Repo-org-1", null, null, defOrganisation, null); + RepositoryEntry re = repositoryService.create(null, "Asuka Langley", "rel", "rel", null, null, 0, organisation); + dbInstance.commitAndCloseSession(); + + List<Organisation> organisations = repositoryEntryRelationDao.getOrganisations(re); + Assert.assertNotNull(organisations); + Assert.assertEquals(1, organisations.size()); + Assert.assertEquals(organisation, organisations.get(0)); + } } diff --git a/src/test/java/org/olat/repository/manager/RepositoryServiceImplTest.java b/src/test/java/org/olat/repository/manager/RepositoryServiceImplTest.java index b9e3a7636fe96b237a810275ca3af9401b5b3602..0646ba586be15c1e40fcfd7cc6996106ccb6d96f 100644 --- a/src/test/java/org/olat/repository/manager/RepositoryServiceImplTest.java +++ b/src/test/java/org/olat/repository/manager/RepositoryServiceImplTest.java @@ -97,7 +97,7 @@ public class RepositoryServiceImplTest extends OlatTestCase { Assert.assertNotNull(re.getLastModified()); Assert.assertNotNull(re.getOlatResource()); Assert.assertNotNull(loadedEntry.getGroups()); - Assert.assertEquals(1, loadedEntry.getGroups().size()); + Assert.assertEquals(2, loadedEntry.getGroups().size());// default group + default organization group //saved? Assert.assertEquals(displayName, re.getDisplayname()); Assert.assertEquals(resourceName, re.getResourcename()); diff --git a/src/test/java/org/olat/restapi/CourseTest.java b/src/test/java/org/olat/restapi/CourseTest.java index 8401a5137eaffc5162cf4c7befe2428521274e43..825703d744d97d1383a5ad0a816bf330be0a5137 100644 --- a/src/test/java/org/olat/restapi/CourseTest.java +++ b/src/test/java/org/olat/restapi/CourseTest.java @@ -239,7 +239,7 @@ public class CourseTest extends OlatJerseyTestCase { courseType.add(CourseModule.getCourseTypeName()); Roles roles = new Roles(true, true, true, true, false, true, false); - SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters("*", "*", "*", courseType, null, roles, ""); + SearchRepositoryEntryParameters params = new SearchRepositoryEntryParameters("*", "*", "*", courseType, null, roles); List<RepositoryEntry> repoEntries = repositoryManager.genericANDQueryWithRolesRestriction(params, 0, -1, true); assertNotNull(repoEntries); diff --git a/src/test/java/org/olat/restapi/OrganisationTypesWebServiceTest.java b/src/test/java/org/olat/restapi/OrganisationTypesWebServiceTest.java new file mode 100644 index 0000000000000000000000000000000000000000..97fae1f35c0a52f9bef35d6b440d6332fda1549b --- /dev/null +++ b/src/test/java/org/olat/restapi/OrganisationTypesWebServiceTest.java @@ -0,0 +1,368 @@ +package org.olat.restapi; + +import static org.junit.Assert.assertTrue; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.UriBuilder; + +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpDelete; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpPut; +import org.apache.http.util.EntityUtils; +import org.codehaus.jackson.map.ObjectMapper; +import org.codehaus.jackson.type.TypeReference; +import org.hamcrest.Matchers; +import org.junit.Assert; +import org.junit.Test; +import org.olat.basesecurity.OrganisationService; +import org.olat.basesecurity.OrganisationType; +import org.olat.basesecurity.OrganisationTypeManagedFlag; +import org.olat.basesecurity.OrganisationTypeToType; +import org.olat.basesecurity.model.OrganisationTypeRefImpl; +import org.olat.core.commons.persistence.DB; +import org.olat.test.OlatJerseyTestCase; +import org.olat.user.restapi.OrganisationTypeVO; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 14 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class OrganisationTypesWebServiceTest extends OlatJerseyTestCase { + + @Autowired + private DB dbInstance; + @Autowired + private OrganisationService organisationService; + + @Test + public void getOrganisationTypes() + throws IOException, URISyntaxException { + OrganisationType type = organisationService.createOrganisationType("REST Type", "rest-type", "A type for REST"); + dbInstance.commitAndCloseSession(); + + RestConnection conn = new RestConnection(); + assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").path("types").build(); + HttpGet method = conn.createGet(request, MediaType.APPLICATION_JSON, true); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + InputStream body = response.getEntity().getContent(); + List<OrganisationTypeVO> organisationTypeVoes = parseOrganisationTypeArray(body); + + boolean found = false; + for(OrganisationTypeVO organisationTypeVo:organisationTypeVoes) { + if(organisationTypeVo.getKey().equals(type.getKey())) { + found = true; + } + } + Assert.assertTrue(found); + } + + @Test + public void getOrganisationType() + throws IOException, URISyntaxException { + OrganisationType type = organisationService.createOrganisationType("REST Type 2", "rest-2-type", "A type for REST"); + dbInstance.commitAndCloseSession(); + + RestConnection conn = new RestConnection(); + assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").path("types").path(type.getKey().toString()).build(); + HttpGet method = conn.createGet(request, MediaType.APPLICATION_JSON, true); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + OrganisationTypeVO organisationTypeVo = conn.parse(response, OrganisationTypeVO.class); + Assert.assertNotNull(organisationTypeVo); + Assert.assertEquals(type.getKey(), organisationTypeVo.getKey()); + Assert.assertEquals(type.getKey(), organisationTypeVo.getKey()); + Assert.assertEquals("REST Type 2", organisationTypeVo.getDisplayName()); + Assert.assertEquals("rest-2-type", organisationTypeVo.getIdentifier()); + Assert.assertEquals("A type for REST", organisationTypeVo.getDescription()); + } + + @Test + public void createOrganisationType() + throws IOException, URISyntaxException { + RestConnection conn = new RestConnection(); + assertTrue(conn.login("administrator", "openolat")); + + + OrganisationTypeVO vo = new OrganisationTypeVO(); + vo.setCssClass("o_icon_rest"); + vo.setDescription("REST created organization type"); + vo.setDisplayName("REST Organisation Type"); + vo.setExternalId("REST1TYP"); + vo.setIdentifier("REST-ID-1-TYP"); + vo.setManagedFlagsString("delete"); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").path("types").build(); + HttpPut method = conn.createPut(request, MediaType.APPLICATION_JSON, true); + conn.addJsonEntity(method, vo); + + HttpResponse response = conn.execute(method); + Assert.assertThat(response.getStatusLine().getStatusCode(), Matchers.either(Matchers.is(200)).or(Matchers.is(201))); + + // checked VO + OrganisationTypeVO savedVo = conn.parse(response, OrganisationTypeVO.class); + Assert.assertNotNull(savedVo); + Assert.assertNotNull(savedVo.getKey()); + Assert.assertEquals("o_icon_rest", savedVo.getCssClass()); + Assert.assertEquals("REST created organization type", savedVo.getDescription()); + Assert.assertEquals("REST Organisation Type", savedVo.getDisplayName()); + Assert.assertEquals("REST1TYP", savedVo.getExternalId()); + Assert.assertEquals("REST-ID-1-TYP", savedVo.getIdentifier()); + Assert.assertEquals("delete", savedVo.getManagedFlagsString()); + + // checked database + OrganisationType savedOrganisationType = organisationService.getOrganisationType(new OrganisationTypeRefImpl(savedVo.getKey())); + Assert.assertNotNull(savedOrganisationType); + Assert.assertEquals(savedVo.getKey(), savedOrganisationType.getKey()); + Assert.assertEquals("o_icon_rest", savedOrganisationType.getCssClass()); + Assert.assertEquals("REST created organization type", savedOrganisationType.getDescription()); + Assert.assertEquals("REST Organisation Type", savedOrganisationType.getDisplayName()); + Assert.assertEquals("REST1TYP", savedOrganisationType.getExternalId()); + Assert.assertEquals("REST-ID-1-TYP", savedOrganisationType.getIdentifier()); + Assert.assertNotNull(savedOrganisationType.getManagedFlags()); + Assert.assertEquals(1, savedOrganisationType.getManagedFlags().length); + Assert.assertEquals(OrganisationTypeManagedFlag.delete, savedOrganisationType.getManagedFlags()[0]); + } + + @Test + public void updateOrganisationType() + throws IOException, URISyntaxException { + RestConnection conn = new RestConnection(); + assertTrue(conn.login("administrator", "openolat")); + + OrganisationType type = organisationService.createOrganisationType("REST Type", "rest-type", "A type for REST"); + dbInstance.commitAndCloseSession(); + + OrganisationTypeVO vo = new OrganisationTypeVO(); + vo.setKey(type.getKey()); + vo.setCssClass("o_icon_restful"); + vo.setDescription("Via REST updated organization type"); + vo.setDisplayName("REST updated organisation type"); + vo.setExternalId("REST2TYP"); + vo.setIdentifier("REST-ID-2-TYP"); + vo.setManagedFlagsString("delete,all"); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").path("types").build(); + HttpPut method = conn.createPut(request, MediaType.APPLICATION_JSON, true); + conn.addJsonEntity(method, vo); + + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + + // checked VO + OrganisationTypeVO savedVo = conn.parse(response, OrganisationTypeVO.class); + Assert.assertNotNull(savedVo); + Assert.assertNotNull(savedVo.getKey()); + Assert.assertEquals("o_icon_restful", savedVo.getCssClass()); + Assert.assertEquals("Via REST updated organization type", savedVo.getDescription()); + Assert.assertEquals("REST updated organisation type", savedVo.getDisplayName()); + Assert.assertEquals("REST2TYP", savedVo.getExternalId()); + Assert.assertEquals("REST-ID-2-TYP", savedVo.getIdentifier()); + Assert.assertEquals("delete,all", savedVo.getManagedFlagsString()); + + // checked database + OrganisationType savedOrganisationType = organisationService.getOrganisationType(new OrganisationTypeRefImpl(savedVo.getKey())); + Assert.assertNotNull(savedOrganisationType); + Assert.assertEquals(savedVo.getKey(), savedOrganisationType.getKey()); + Assert.assertEquals("o_icon_restful", savedOrganisationType.getCssClass()); + Assert.assertEquals("Via REST updated organization type", savedOrganisationType.getDescription()); + Assert.assertEquals("REST updated organisation type", savedOrganisationType.getDisplayName()); + Assert.assertEquals("REST2TYP", savedOrganisationType.getExternalId()); + Assert.assertEquals("REST-ID-2-TYP", savedOrganisationType.getIdentifier()); + Assert.assertNotNull(savedOrganisationType.getManagedFlags()); + Assert.assertEquals(2, savedOrganisationType.getManagedFlags().length); + } + + @Test + public void updateOrganisationWithKey() + throws IOException, URISyntaxException { + RestConnection conn = new RestConnection(); + assertTrue(conn.login("administrator", "openolat")); + + OrganisationType type = organisationService.createOrganisationType("REST Type", "rest-type", "A type for REST"); + dbInstance.commitAndCloseSession(); + + OrganisationTypeVO vo = OrganisationTypeVO.valueOf(type); + vo.setCssClass("o_icon_restfully"); + vo.setExternalId("REST8"); + vo.setIdentifier("REST-ID-8"); + vo.setManagedFlagsString("displayName"); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").path("types").path(type.getKey().toString()).build(); + HttpPost method = conn.createPost(request, MediaType.APPLICATION_JSON); + conn.addJsonEntity(method, vo); + + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + + // checked VO + OrganisationTypeVO savedVo = conn.parse(response, OrganisationTypeVO.class); + Assert.assertNotNull(savedVo); + Assert.assertNotNull(savedVo.getKey()); + Assert.assertEquals("o_icon_restfully", savedVo.getCssClass()); + Assert.assertEquals("REST8", savedVo.getExternalId()); + Assert.assertEquals("REST-ID-8", savedVo.getIdentifier()); + Assert.assertEquals("displayName", savedVo.getManagedFlagsString()); + + // checked database + OrganisationType savedOrganisationType = organisationService.getOrganisationType(new OrganisationTypeRefImpl(savedVo.getKey())); + Assert.assertNotNull(savedOrganisationType); + Assert.assertEquals(savedVo.getKey(), savedOrganisationType.getKey()); + Assert.assertEquals("o_icon_restfully", savedOrganisationType.getCssClass()); + Assert.assertEquals("REST8", savedOrganisationType.getExternalId()); + Assert.assertEquals("REST-ID-8", savedOrganisationType.getIdentifier()); + Assert.assertNotNull(savedOrganisationType.getManagedFlags()); + Assert.assertEquals(1, savedOrganisationType.getManagedFlags().length); + Assert.assertEquals(OrganisationTypeManagedFlag.displayName, savedOrganisationType.getManagedFlags()[0]); + } + + @Test + public void getOrganisationTypeAllowedSubTypes() + throws IOException, URISyntaxException { + OrganisationType type = organisationService.createOrganisationType("REST Type 5", "rest-type", "A type for REST"); + OrganisationType subType1 = organisationService.createOrganisationType("REST Type 5.1", "rest-type", "A type for REST"); + OrganisationType subType2 = organisationService.createOrganisationType("REST Type 5.2", "rest-type", "A type for REST"); + dbInstance.commit(); + List<OrganisationType> subTypes = new ArrayList<>(2); + subTypes.add(subType1); + subTypes.add(subType2); + type = organisationService.updateOrganisationType(type, subTypes); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(type); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").path("types") + .path(type.getKey().toString()).path("allowedSubTypes").build(); + HttpGet method = conn.createGet(request, MediaType.APPLICATION_JSON, true); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + List<OrganisationTypeVO> typeVoList = parseOrganisationTypeArray(response.getEntity().getContent()); + Assert.assertNotNull(typeVoList); + Assert.assertEquals(2, typeVoList.size()); + + boolean found1 = false; + boolean found2 = false; + for(OrganisationTypeVO typeVo:typeVoList) { + if(subType1.getKey().equals(typeVo.getKey())) { + found1 = true; + } else if(subType2.getKey().equals(typeVo.getKey())) { + found2 = true; + } + } + Assert.assertTrue(found1); + Assert.assertTrue(found2); + } + + @Test + public void allowOrganisationTypeSubType() + throws IOException, URISyntaxException { + OrganisationType type = organisationService.createOrganisationType("REST Type 6", "rest-type", "A type for REST"); + OrganisationType subType1 = organisationService.createOrganisationType("REST Type 6.1", "rest-type", "A type for REST"); + OrganisationType subType2 = organisationService.createOrganisationType("REST Type 6.2", "rest-type", "A type for REST"); + dbInstance.commit(); + type = organisationService.updateOrganisationType(type, Collections.singletonList(subType1)); + dbInstance.commitAndCloseSession(); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").path("types").path(type.getKey().toString()) + .path("allowedSubTypes").path(subType2.getKey().toString()).build(); + HttpPut method = conn.createPut(request, MediaType.APPLICATION_JSON, true); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + EntityUtils.consume(response.getEntity()); + + OrganisationType reloadedType = organisationService.getOrganisationType(type); + Set<OrganisationTypeToType> typeToTypes = reloadedType.getAllowedSubTypes(); + Assert.assertEquals(2, typeToTypes.size()); + boolean found1 = false; + boolean found2 = false; + for(OrganisationTypeToType typeToType:typeToTypes) { + OrganisationType subType = typeToType.getAllowedSubOrganisationType(); + if(subType1.getKey().equals(subType.getKey())) { + found1 = true; + } else if(subType2.getKey().equals(subType.getKey())) { + found2 = true; + } + } + Assert.assertTrue(found1); + Assert.assertTrue(found2); + } + + @Test + public void disallowOrganisationTypeSubType() + throws IOException, URISyntaxException { + OrganisationType type = organisationService.createOrganisationType("REST Type 7", "rest-type", "A type for REST"); + OrganisationType subType1 = organisationService.createOrganisationType("REST Type 7.1", "rest-type", "A type for REST"); + OrganisationType subType2 = organisationService.createOrganisationType("REST Type 7.2", "rest-type", "A type for REST"); + OrganisationType subType3 = organisationService.createOrganisationType("REST Type 7.3", "rest-type", "A type for REST"); + dbInstance.commit(); + List<OrganisationType> allowedSubTypes = new ArrayList<>(); + allowedSubTypes.add(subType1); + allowedSubTypes.add(subType2); + allowedSubTypes.add(subType3); + type = organisationService.updateOrganisationType(type, allowedSubTypes); + dbInstance.commitAndCloseSession(); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").path("types").path(type.getKey().toString()) + .path("allowedSubTypes").path(subType2.getKey().toString()).build(); + HttpDelete method = conn.createDelete(request, MediaType.APPLICATION_JSON); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + EntityUtils.consume(response.getEntity()); + + OrganisationType reloadedType = organisationService.getOrganisationType(type); + Set<OrganisationTypeToType> typeToTypes = reloadedType.getAllowedSubTypes(); + Assert.assertEquals(2, typeToTypes.size()); + boolean found1 = false; + boolean found2 = false; + boolean found3 = false; + for(OrganisationTypeToType typeToType:typeToTypes) { + OrganisationType subType = typeToType.getAllowedSubOrganisationType(); + if(subType1.getKey().equals(subType.getKey())) { + found1 = true; + } else if(subType2.getKey().equals(subType.getKey())) { + found2 = true; + } else if(subType3.getKey().equals(subType.getKey())) { + found3 = true; + } + } + Assert.assertTrue(found1); + Assert.assertFalse(found2); + Assert.assertTrue(found3); + } + + protected List<OrganisationTypeVO> parseOrganisationTypeArray(InputStream body) { + try { + ObjectMapper mapper = new ObjectMapper(jsonFactory); + return mapper.readValue(body, new TypeReference<List<OrganisationTypeVO>>(){/* */}); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } +} diff --git a/src/test/java/org/olat/restapi/OrganisationsWebServiceTest.java b/src/test/java/org/olat/restapi/OrganisationsWebServiceTest.java new file mode 100644 index 0000000000000000000000000000000000000000..16de3bb799f79a16c3be813a100a45d576e8acb5 --- /dev/null +++ b/src/test/java/org/olat/restapi/OrganisationsWebServiceTest.java @@ -0,0 +1,318 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.restapi; + +import static org.junit.Assert.assertTrue; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.List; + +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.UriBuilder; + +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpPut; +import org.codehaus.jackson.map.ObjectMapper; +import org.codehaus.jackson.type.TypeReference; +import org.hamcrest.Matchers; +import org.junit.Assert; +import org.junit.Test; +import org.olat.basesecurity.OrganisationManagedFlag; +import org.olat.basesecurity.OrganisationService; +import org.olat.basesecurity.OrganisationType; +import org.olat.basesecurity.model.OrganisationRefImpl; +import org.olat.core.commons.persistence.DB; +import org.olat.core.id.Organisation; +import org.olat.test.OlatJerseyTestCase; +import org.olat.user.restapi.OrganisationVO; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 14 mai 2018<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class OrganisationsWebServiceTest extends OlatJerseyTestCase { + + @Autowired + private DB dbInstance; + @Autowired + private OrganisationService organisationService; + + @Test + public void getOrganisations() + throws IOException, URISyntaxException { + Organisation organisation = organisationService.createOrganisation("REST Organisation", "REST-organisation", "", null, null); + dbInstance.commitAndCloseSession(); + + RestConnection conn = new RestConnection(); + assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").build(); + HttpGet method = conn.createGet(request, MediaType.APPLICATION_JSON, true); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + InputStream body = response.getEntity().getContent(); + List<OrganisationVO> organisationVoes = parseOrganisationArray(body); + + boolean found = false; + for(OrganisationVO organisationVo:organisationVoes) { + if(organisationVo.getKey().equals(organisation.getKey())) { + found = true; + } + } + Assert.assertTrue(found); + } + + @Test + public void getOrganisation() + throws IOException, URISyntaxException { + Organisation organisation = organisationService.createOrganisation("REST Organisation 5", "REST-5-organisation", "", null, null); + dbInstance.commitAndCloseSession(); + + RestConnection conn = new RestConnection(); + assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").path(organisation.getKey().toString()).build(); + HttpGet method = conn.createGet(request, MediaType.APPLICATION_JSON, true); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + OrganisationVO organisationVo = conn.parse(response, OrganisationVO.class); + Assert.assertNotNull(organisationVo); + Assert.assertEquals(organisation.getKey(), organisationVo.getKey()); + Assert.assertEquals("REST-5-organisation", organisationVo.getIdentifier()); + } + + @Test + public void createOrganisation() + throws IOException, URISyntaxException { + RestConnection conn = new RestConnection(); + assertTrue(conn.login("administrator", "openolat")); + + Organisation parentOrganisation = organisationService.createOrganisation("REST Parent Organisation", "REST-p-organisation", "", null, null); + OrganisationType type = organisationService.createOrganisationType("REST Type", "rest-type", "A type for REST"); + dbInstance.commitAndCloseSession(); + + OrganisationVO vo = new OrganisationVO(); + vo.setCssClass("o_icon_rest"); + vo.setDescription("REST created organization"); + vo.setDisplayName("REST Organisation"); + vo.setExternalId("REST1"); + vo.setIdentifier("REST-ID-1"); + vo.setManagedFlagsString("delete"); + vo.setOrganisationTypeKey(type.getKey()); + vo.setParentOrganisationKey(parentOrganisation.getKey()); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").build(); + HttpPut method = conn.createPut(request, MediaType.APPLICATION_JSON, true); + conn.addJsonEntity(method, vo); + + HttpResponse response = conn.execute(method); + Assert.assertThat(response.getStatusLine().getStatusCode(), Matchers.either(Matchers.is(200)).or(Matchers.is(201))); + + // checked VO + OrganisationVO savedVo = conn.parse(response, OrganisationVO.class); + Assert.assertNotNull(savedVo); + Assert.assertNotNull(savedVo.getKey()); + Assert.assertEquals("o_icon_rest", savedVo.getCssClass()); + Assert.assertEquals("REST created organization", savedVo.getDescription()); + Assert.assertEquals("REST Organisation", savedVo.getDisplayName()); + Assert.assertEquals("REST1", savedVo.getExternalId()); + Assert.assertEquals("REST-ID-1", savedVo.getIdentifier()); + Assert.assertEquals("delete", savedVo.getManagedFlagsString()); + Assert.assertEquals(parentOrganisation.getKey(), savedVo.getParentOrganisationKey()); + Assert.assertEquals(parentOrganisation.getKey(), savedVo.getRootOrganisationKey()); + Assert.assertEquals(type.getKey(), savedVo.getOrganisationTypeKey()); + + // checked database + Organisation savedOrganisation = organisationService.getOrganisation(new OrganisationRefImpl(savedVo.getKey())); + Assert.assertNotNull(savedOrganisation); + Assert.assertEquals(savedVo.getKey(), savedOrganisation.getKey()); + Assert.assertEquals("o_icon_rest", savedOrganisation.getCssClass()); + Assert.assertEquals("REST created organization", savedOrganisation.getDescription()); + Assert.assertEquals("REST Organisation", savedOrganisation.getDisplayName()); + Assert.assertEquals("REST1", savedOrganisation.getExternalId()); + Assert.assertEquals("REST-ID-1", savedOrganisation.getIdentifier()); + Assert.assertNotNull(savedOrganisation.getManagedFlags()); + Assert.assertEquals(1, savedOrganisation.getManagedFlags().length); + Assert.assertEquals(OrganisationManagedFlag.delete, savedOrganisation.getManagedFlags()[0]); + Assert.assertEquals(parentOrganisation, savedOrganisation.getParent()); + Assert.assertEquals(parentOrganisation, savedOrganisation.getRoot()); + Assert.assertEquals(type, savedOrganisation.getType()); + } + + @Test + public void updateOrganisation() + throws IOException, URISyntaxException { + RestConnection conn = new RestConnection(); + assertTrue(conn.login("administrator", "openolat")); + + Organisation parentOrganisation = organisationService.createOrganisation("REST Parent Organisation 2 ", "REST-p-2-organisation", "", null, null); + OrganisationType type = organisationService.createOrganisationType("REST Type", "rest-type", "A type for REST"); + Organisation organisation = organisationService.createOrganisation("REST Organisation 3", "REST-p-3-organisation", "", parentOrganisation, type); + dbInstance.commitAndCloseSession(); + + OrganisationVO vo = new OrganisationVO(); + vo.setKey(organisation.getKey()); + vo.setCssClass("o_icon_restful"); + vo.setDescription("Via REST updated organization"); + vo.setDisplayName("REST updated organisation"); + vo.setExternalId("REST2"); + vo.setIdentifier("REST-ID-2"); + vo.setManagedFlagsString("delete,all"); + vo.setOrganisationTypeKey(type.getKey()); + vo.setParentOrganisationKey(parentOrganisation.getKey()); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").build(); + HttpPut method = conn.createPut(request, MediaType.APPLICATION_JSON, true); + conn.addJsonEntity(method, vo); + + HttpResponse response = conn.execute(method); + Assert.assertThat(response.getStatusLine().getStatusCode(), Matchers.either(Matchers.is(200)).or(Matchers.is(201))); + + // checked VO + OrganisationVO savedVo = conn.parse(response, OrganisationVO.class); + Assert.assertNotNull(savedVo); + Assert.assertNotNull(savedVo.getKey()); + Assert.assertEquals("o_icon_restful", savedVo.getCssClass()); + Assert.assertEquals("Via REST updated organization", savedVo.getDescription()); + Assert.assertEquals("REST updated organisation", savedVo.getDisplayName()); + Assert.assertEquals("REST2", savedVo.getExternalId()); + Assert.assertEquals("REST-ID-2", savedVo.getIdentifier()); + Assert.assertEquals("delete,all", savedVo.getManagedFlagsString()); + Assert.assertEquals(parentOrganisation.getKey(), savedVo.getParentOrganisationKey()); + Assert.assertEquals(parentOrganisation.getKey(), savedVo.getRootOrganisationKey()); + Assert.assertEquals(type.getKey(), savedVo.getOrganisationTypeKey()); + + // checked database + Organisation savedOrganisation = organisationService.getOrganisation(new OrganisationRefImpl(savedVo.getKey())); + Assert.assertNotNull(savedOrganisation); + Assert.assertEquals(savedVo.getKey(), savedOrganisation.getKey()); + Assert.assertEquals("o_icon_restful", savedOrganisation.getCssClass()); + Assert.assertEquals("Via REST updated organization", savedOrganisation.getDescription()); + Assert.assertEquals("REST updated organisation", savedOrganisation.getDisplayName()); + Assert.assertEquals("REST2", savedOrganisation.getExternalId()); + Assert.assertEquals("REST-ID-2", savedOrganisation.getIdentifier()); + Assert.assertNotNull(savedOrganisation.getManagedFlags()); + Assert.assertEquals(2, savedOrganisation.getManagedFlags().length); + Assert.assertEquals(parentOrganisation, savedOrganisation.getParent()); + Assert.assertEquals(parentOrganisation, savedOrganisation.getRoot()); + Assert.assertEquals(type, savedOrganisation.getType()); + } + + @Test + public void updateOrganisationWithKey() + throws IOException, URISyntaxException { + RestConnection conn = new RestConnection(); + assertTrue(conn.login("administrator", "openolat")); + + Organisation parentOrganisation = organisationService.createOrganisation("REST Parent Organisation 6", "REST-p-6-organisation", "", null, null); + Organisation organisation = organisationService.createOrganisation("REST Organisation 7", "REST-p-7-organisation", "", parentOrganisation, null); + dbInstance.commitAndCloseSession(); + + OrganisationVO vo = OrganisationVO.valueOf(organisation); + vo.setCssClass("o_icon_restfully"); + vo.setExternalId("REST7"); + vo.setIdentifier("REST-ID-7"); + vo.setManagedFlagsString("move"); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").path(organisation.getKey().toString()).build(); + HttpPost method = conn.createPost(request, MediaType.APPLICATION_JSON); + conn.addJsonEntity(method, vo); + + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + + // checked VO + OrganisationVO savedVo = conn.parse(response, OrganisationVO.class); + Assert.assertNotNull(savedVo); + Assert.assertNotNull(savedVo.getKey()); + Assert.assertEquals("o_icon_restfully", savedVo.getCssClass()); + Assert.assertEquals("REST7", savedVo.getExternalId()); + Assert.assertEquals("REST-ID-7", savedVo.getIdentifier()); + Assert.assertEquals("move", savedVo.getManagedFlagsString()); + + // checked database + Organisation savedOrganisation = organisationService.getOrganisation(new OrganisationRefImpl(savedVo.getKey())); + Assert.assertNotNull(savedOrganisation); + Assert.assertEquals(savedVo.getKey(), savedOrganisation.getKey()); + Assert.assertEquals("o_icon_restfully", savedOrganisation.getCssClass()); + Assert.assertEquals("REST7", savedOrganisation.getExternalId()); + Assert.assertEquals("REST-ID-7", savedOrganisation.getIdentifier()); + Assert.assertNotNull(savedOrganisation.getManagedFlags()); + Assert.assertEquals(1, savedOrganisation.getManagedFlags().length); + Assert.assertEquals(OrganisationManagedFlag.move, savedOrganisation.getManagedFlags()[0]); + } + + @Test + public void updateAndMoveOrganisation() + throws IOException, URISyntaxException { + RestConnection conn = new RestConnection(); + assertTrue(conn.login("administrator", "openolat")); + + Organisation parentOrganisation = organisationService.createOrganisation("REST Parent Organisation 4 ", "REST-p-4-organisation", "", null, null); + OrganisationType type = organisationService.createOrganisationType("REST Type", "rest-type", "A type for REST"); + Organisation organisation1 = organisationService.createOrganisation("REST Organisation 5", "REST-p-5-organisation", "", parentOrganisation, type); + Organisation organisation2 = organisationService.createOrganisation("REST Organisation 6", "REST-p-6-organisation", "", parentOrganisation, type); + dbInstance.commitAndCloseSession(); + + OrganisationVO vo = OrganisationVO.valueOf(organisation1); + vo.setParentOrganisationKey(organisation2.getKey()); + + URI request = UriBuilder.fromUri(getContextURI()).path("organisations").build(); + HttpPut method = conn.createPut(request, MediaType.APPLICATION_JSON, true); + conn.addJsonEntity(method, vo); + + HttpResponse response = conn.execute(method); + Assert.assertThat(response.getStatusLine().getStatusCode(), Matchers.either(Matchers.is(200)).or(Matchers.is(201))); + + // checked VO + OrganisationVO savedVo = conn.parse(response, OrganisationVO.class); + Assert.assertNotNull(savedVo); + Assert.assertNotNull(savedVo.getKey()); + Assert.assertEquals(organisation2.getKey(), savedVo.getParentOrganisationKey()); + Assert.assertEquals(parentOrganisation.getKey(), savedVo.getRootOrganisationKey()); + + // checked database + Organisation savedOrganisation = organisationService.getOrganisation(new OrganisationRefImpl(savedVo.getKey())); + Assert.assertNotNull(savedOrganisation); + Assert.assertEquals(savedVo.getKey(), savedOrganisation.getKey()); + Assert.assertEquals(organisation2, savedOrganisation.getParent()); + Assert.assertEquals(parentOrganisation, savedOrganisation.getRoot()); + } + + + + protected List<OrganisationVO> parseOrganisationArray(InputStream body) { + try { + ObjectMapper mapper = new ObjectMapper(jsonFactory); + return mapper.readValue(body, new TypeReference<List<OrganisationVO>>(){/* */}); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } +} diff --git a/src/test/java/org/olat/restapi/RepositoryEntryResourceTest.java b/src/test/java/org/olat/restapi/RepositoryEntryResourceTest.java index af5a9ff0ae996e769892175b7c2d7f042c107666..2a1682b5d8f9c4998b29d038733249b7bc6d9fa6 100644 --- a/src/test/java/org/olat/restapi/RepositoryEntryResourceTest.java +++ b/src/test/java/org/olat/restapi/RepositoryEntryResourceTest.java @@ -1,3 +1,22 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ package org.olat.restapi; import java.io.File; diff --git a/src/test/java/org/olat/restapi/UserMgmtTest.java b/src/test/java/org/olat/restapi/UserMgmtTest.java index f373ce0d31a457b8a686427078a94caaf0ac11d2..44eba95c7054327aa7fed3e33ae642a377a24f43 100644 --- a/src/test/java/org/olat/restapi/UserMgmtTest.java +++ b/src/test/java/org/olat/restapi/UserMgmtTest.java @@ -1021,7 +1021,7 @@ public class UserMgmtTest extends OlatJerseyTestCase { Assert.assertFalse(reloadRoles.isLearnResourceManager()); Assert.assertFalse(reloadRoles.isInvitee()); Assert.assertFalse(reloadRoles.isOLATAdmin()); - Assert.assertFalse(reloadRoles.isPoolAdmin()); + Assert.assertFalse(reloadRoles.isQPoolManager()); Assert.assertTrue(reloadRoles.isUserManager()); conn.shutdown(); } diff --git a/src/test/java/org/olat/test/AllTestsJunit4.java b/src/test/java/org/olat/test/AllTestsJunit4.java index 6061ede0cbf32e40d394dcf6f5d2a36e6033ff71..4f264db1f9afaca7709840371e8587816fbb5ada 100644 --- a/src/test/java/org/olat/test/AllTestsJunit4.java +++ b/src/test/java/org/olat/test/AllTestsJunit4.java @@ -140,8 +140,8 @@ import org.junit.runners.Suite; org.olat.repository.manager.RepositoryEntryMyCourseQueriesTest.class, org.olat.repository.manager.RepositoryEntryMembershipProcessorTest.class, org.olat.repository.manager.RepositoryEntryToOrganisationDAOTest.class, + org.olat.repository.manager.RepositoryEntryQueriesTest.class, org.olat.repository.RepositoryManagerTest.class, - org.olat.repository.RepositoryManagerQueryTest.class, org.olat.instantMessaging.InstantMessageDAOTest.class, org.olat.instantMessaging.InstantMessagePreferencesDAOTest.class, org.olat.instantMessaging.RosterDAOTest.class, @@ -180,6 +180,7 @@ import org.junit.runners.Suite; org.olat.modules.curriculum.manager.CurriculumDAOTest.class, org.olat.modules.curriculum.manager.CurriculumElementDAOTest.class, org.olat.modules.curriculum.manager.CurriculumElementTypeDAOTest.class, + org.olat.modules.curriculum.manager.CurriculumRepositoryEntryRelationDAOTest.class, org.olat.modules.docpool.manager.DocumentPoolManagerTest.class, org.olat.modules.forms.manager.EvaluationFormParticipationDAOTest.class, org.olat.modules.forms.manager.EvaluationFormReportDAOTest.class, @@ -194,6 +195,7 @@ import org.junit.runners.Suite; org.olat.modules.gotomeeting.GoToTimezoneIDsTest.class, org.olat.basesecurity.manager.OrganisationDAOTest.class, org.olat.basesecurity.manager.OrganisationTypeDAOTest.class, + org.olat.basesecurity.manager.OrganisationTypeToTypeDAOTest.class, org.olat.basesecurity.manager.OrganisationServiceTest.class, org.olat.basesecurity.manager.SecurityGroupDAOTest.class, org.olat.modules.portfolio.manager.BinderDAOTest.class, @@ -344,6 +346,9 @@ import org.junit.runners.Suite; org.olat.restapi.SharedFolderTest.class, org.olat.restapi.SystemTest.class, org.olat.restapi.ChangePasswordTest.class, + org.olat.restapi.QuestionPoolTest.class, + org.olat.restapi.OrganisationsWebServiceTest.class, + org.olat.restapi.OrganisationTypesWebServiceTest.class, org.olat.restapi.RegistrationTest.class, org.olat.restapi.DocumentPoolModuleWebServiceTest.class, org.olat.restapi.TaxonomyWebServiceTest.class, diff --git a/src/test/java/org/olat/test/JunitTestHelper.java b/src/test/java/org/olat/test/JunitTestHelper.java index fa2717fda3272f1a372336e1229c4238b9432869..fc0b697d99e64da2d7b6f633c5e0f04d1776e86d 100644 --- a/src/test/java/org/olat/test/JunitTestHelper.java +++ b/src/test/java/org/olat/test/JunitTestHelper.java @@ -53,6 +53,7 @@ import org.olat.core.util.resource.OresHelper; import org.olat.course.CourseFactory; import org.olat.course.CourseModule; import org.olat.course.ICourse; +import org.olat.fileresource.types.ImageFileResource; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryService; @@ -104,6 +105,15 @@ public class JunitTestHelper { return resource; } + public static final RepositoryEntry createRandomRepositoryEntry(Identity author) { + OLATResource resource = OLATResourceManager.getInstance() + .createOLATResourceInstance(new ImageFileResource()); + Organisation defOrganisation = CoreSpringFactory.getImpl(OrganisationService.class) + .getDefaultOrganisation(); + return CoreSpringFactory.getImpl(RepositoryService.class) + .create(author, "", "-", "Image - " + resource.getResourceableId(), "", resource, 1, defOrganisation); + } + public static final Identity createAndPersistIdentityAsRndUser(String prefixLogin) { if(StringHelper.containsNonWhitespace(prefixLogin)) { if(!prefixLogin.endsWith("-")) {