diff --git a/pom.xml b/pom.xml index 42a9d451122a8327e5c70d6cc9906a766d31fdaf..110ab748185563912765df04968cc37fe9afd475 100644 --- a/pom.xml +++ b/pom.xml @@ -99,7 +99,7 @@ <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> - <artifactId>jaxb2-maven-plugin</artifactId> + <artifactId>jaxb2-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -1522,12 +1522,12 @@ <!-- start rest api documentation: broken: mvn javadoc:javadoc --> <plugin> <groupId>org.codehaus.mojo</groupId> - <artifactId>jaxb2-maven-plugin</artifactId> + <artifactId>jaxb2-maven-plugin</artifactId> <version>2.3.1</version> <executions> - <execution> - <id>schemagen</id> - <goals> + <execution> + <id>schemagen</id> + <goals> <goal>schemagen</goal> </goals> </execution> @@ -1538,6 +1538,7 @@ <source>src/main/java/org/olat/commons/calendar/restapi/</source> <source>src/main/java/org/olat/modules/fo/restapi/</source> <source>src/main/java/org/olat/modules/gotomeeting/restapi/</source> + <source>src/main/java/org/olat/modules/taxonomy/restapi/</source> <source>src/main/java/org/olat/modules/vitero/restapi/</source> <source>src/main/java/org/olat/modules/wiki/restapi/vo/</source> <source>src/main/java/org/olat/restapi/system/vo/</source> @@ -1593,6 +1594,7 @@ org.olat.modules.fo.restapi, org.olat.modules.gotomeeting.restapi, org.olat.modules.openmeetings.restapi, + org.olat.modules.taxonomy.restapi, org.olat.modules.vitero.restapi, org.olat.modules.wiki.restapi, org.olat.registration.restapi, @@ -1654,6 +1656,7 @@ org.olat.modules.fo.restapi; org.olat.modules.gotomeeting.restapi; org.olat.modules.openmeetings.restapi; + org.olat.modules.taxonomy.restapi; org.olat.modules.vitero.restapi; org.olat.modules.wiki.restapi; org.olat.registration.restapi; diff --git a/src/main/java/org/olat/admin/user/UserAdminController.java b/src/main/java/org/olat/admin/user/UserAdminController.java index 2dc96c4be081ae5b43fe044081f23469c8c26708..0060118d97176d24f26621c529a74b03342b4bbc 100644 --- a/src/main/java/org/olat/admin/user/UserAdminController.java +++ b/src/main/java/org/olat/admin/user/UserAdminController.java @@ -63,6 +63,8 @@ import org.olat.ldap.LDAPLoginManager; import org.olat.ldap.LDAPLoginModule; import org.olat.modules.lecture.LectureModule; import org.olat.modules.lecture.ui.ParticipantLecturesOverviewController; +import org.olat.modules.taxonomy.TaxonomyModule; +import org.olat.modules.taxonomy.ui.IdentityCompetencesController; import org.olat.properties.Property; import org.olat.resource.accesscontrol.ui.UserOrderController; import org.olat.user.ChangePrefsController; @@ -88,20 +90,21 @@ public class UserAdminController extends BasicController implements Activateable // NLS support private static final String NLS_ERROR_NOACCESS_TO_USER = "error.noaccess.to.user"; - private static final String NLS_FOUND_PROPERTY = "found.property"; - private static final String NLS_EDIT_UPROFILE = "edit.uprofile"; + private static final String NLS_FOUND_PROPERTY = "found.property"; + private static final String NLS_EDIT_UPROFILE = "edit.uprofile"; private static final String NLS_EDIT_UPREFS = "edit.uprefs"; private static final String NLS_EDIT_UPWD = "edit.upwd"; private static final String NLS_EDIT_UAUTH = "edit.uauth"; private static final String NLS_EDIT_UPROP = "edit.uprop"; private static final String NLS_EDIT_UROLES = "edit.uroles"; private static final String NLS_EDIT_UQUOTA = "edit.uquota"; - private static final String NLS_VIEW_GROUPS = "view.groups"; - private static final String NLS_VIEW_COURSES = "view.courses"; + private static final String NLS_VIEW_GROUPS = "view.groups"; + private static final String NLS_VIEW_COURSES = "view.courses"; private static final String NLS_VIEW_ACCESS = "view.access"; - private static final String NLS_VIEW_EFF_STATEMENTS = "view.effStatements"; + private static final String NLS_VIEW_EFF_STATEMENTS = "view.effStatements"; private static final String NLS_VIEW_SUBSCRIPTIONS = "view.subscriptions"; private static final String NLS_VIEW_LECTURES = "view.lectures"; + private static final String NLS_VIEW_COMPETENCES = "view.competences"; private VelocityContainer myContent; @@ -116,6 +119,7 @@ public class UserAdminController extends BasicController implements Activateable private ProfileAndHomePageEditController userProfileCtr; private CourseOverviewController courseCtr; private GroupOverviewController grpCtr; + private IdentityCompetencesController competencesCtrl; private ParticipantLecturesOverviewController lecturesCtrl; private CertificateAndEfficiencyStatementListController efficicencyCtrl; @@ -129,6 +133,8 @@ public class UserAdminController extends BasicController implements Activateable private LDAPLoginManager ldapLoginManager; @Autowired private LectureModule lectureModule; + @Autowired + private TaxonomyModule taxonomyModule; /** * Constructor that creates a back - link as default @@ -443,6 +449,21 @@ public class UserAdminController extends BasicController implements Activateable } }); } + + if(taxonomyModule.isEnabled()) { + userTabP.addTab(translate(NLS_VIEW_COMPETENCES), new TabCreator() { + @Override + public Component create(UserRequest uureq) { + competencesCtrl = new IdentityCompetencesController(uureq, getWindowControl(), identity); + listenTo(competencesCtrl); + BreadcrumbedStackedPanel stackPanel = new BreadcrumbedStackedPanel("competences", getTranslator(), competencesCtrl); + stackPanel.pushController(translate(NLS_VIEW_COMPETENCES), competencesCtrl); + competencesCtrl.setBreadcrumbPanel(stackPanel); + stackPanel.setInvisibleCrumb(1); + return stackPanel; + } + }); + } // now push to velocity myContent.put("userTabP", userTabP); diff --git a/src/main/java/org/olat/admin/user/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/admin/user/_i18n/LocalStrings_de.properties index e28d44592504a680a0ae52561fe5a087547eb38a..78d5d4c5e6d74ac8dac283d4d90b3b87cd7d0228 100644 --- a/src/main/java/org/olat/admin/user/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/admin/user/_i18n/LocalStrings_de.properties @@ -150,6 +150,7 @@ title.user.search=OLAT-Benutzer suchen title.userlist=Liste der Benutzer title.usersearch=Benutzersuche user.found=Benutzer wurde gefunden +view.competences=Kompetenzen view.courses=Lernressourcen view.access=Buchungen view.effStatements=Statements 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 d27e6e965a04ee63daf5d67e51d11d1d605037e5..db869fed9be229795e0703b1950d70823d92e0a3 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 @@ -150,6 +150,7 @@ title.user.search=Search for an OLAT user title.userlist=User list title.usersearch=User search user.found=User was found +view.competences=Competences view.courses=Learning resources view.access=Bookings view.effStatements=Statements diff --git a/src/main/java/org/olat/core/commons/chiefcontrollers/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/core/commons/chiefcontrollers/_i18n/LocalStrings_de.properties index 833dcbf36501782d2e8074bf50efe1cb78d6a1bc..9f06e7fb5b5b527fbc5e28d76c9ebfdb84f0eccd 100644 --- a/src/main/java/org/olat/core/commons/chiefcontrollers/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/core/commons/chiefcontrollers/_i18n/LocalStrings_de.properties @@ -45,6 +45,7 @@ LibrarySite=Bibliothek PFCourseNode=Drop Box ReturnboxController=R\u00FCckgabeordner SolutionController=Musterl\u00F6sungen +TaxonomyLibrary=Taxonomy Bibliothek User=Benutzer WikiPage=Wiki ajax.show.on=[Ajax-Beta-Mode] diff --git a/src/main/java/org/olat/core/commons/chiefcontrollers/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/core/commons/chiefcontrollers/_i18n/LocalStrings_en.properties index 4e9ecd9657aa77d8980888c328a5465ca528fa2b..e9c46d4b3d60166ac0e96fff2d96a09a2218041d 100644 --- a/src/main/java/org/olat/core/commons/chiefcontrollers/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/core/commons/chiefcontrollers/_i18n/LocalStrings_en.properties @@ -45,6 +45,7 @@ LibrarySite=Library PFCourseNode=Drop Box ReturnboxController=Return box SolutionController=Sample solutions +TaxonomyLibrary=Taxonomy library User=User WikiPage=Wiki ajax.show.on=[Ajax-Beta-Mode] diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java b/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java index c73b6c0d2c46ee59ff0ada99b272f8759f588dc3..5f943511c1c42e746f8314c1317ce427e5adfcc7 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java @@ -711,7 +711,8 @@ public class FormUIFactory { RichTextElement rte = new RichTextElementImpl(name, initialHTMLValue, rows, cols, formLayout.getRootForm(), formLayout.getTranslator().getLocale()); setLabelIfNotNull(i18nLabel, rte); // Now configure editor - rte.getEditorConfiguration().setConfigProfileFormEditorMinimalistic(wControl.getWindowBackOffice().getWindow().getGuiTheme()); + rte.getEditorConfiguration().setConfigProfileFormEditorMinimalistic(wControl.getWindowBackOffice().getWindow().getGuiTheme()); + rte.getEditorConfiguration().setPathInStatusBar(false); // Add to form and finish formLayout.add(rte); return rte; diff --git a/src/main/java/org/olat/core/gui/control/_spring/sitedefContext.xml b/src/main/java/org/olat/core/gui/control/_spring/sitedefContext.xml index 12cc739a38a337b7276a2e3836944b7ee25cbc9e..00c124b141169c41deae3213e80bddd914cfb87e 100644 --- a/src/main/java/org/olat/core/gui/control/_spring/sitedefContext.xml +++ b/src/main/java/org/olat/core/gui/control/_spring/sitedefContext.xml @@ -67,6 +67,12 @@ <property name="defaultSiteSecurityCallbackBeanId" value="registredSiteSecurityCallback"/> </bean> + <bean id="olatsites_taxonomy" class="org.olat.modules.taxonomy.site.TaxonomySiteDef"> + <property name="order" value="8" /> + <property name="enabled" value="${site.taxonomy.enable}"/> + <property name="defaultSiteSecurityCallbackBeanId" value="taxonomySiteSecurityCallback"/> + </bean> + <bean id="olatsites_authenv" class="org.olat.repository.site.RepositorySiteDef"> <property name="order" value="9" /> <property name="enabled" value="${site.repository.enable}"/> diff --git a/src/main/java/org/olat/core/util/nodes/GenericNode.java b/src/main/java/org/olat/core/util/nodes/GenericNode.java index df3cb01c9cef83076e37bf18d03e7d72e47a28a4..98a16686a0e72be1692650934aa5317ef97c9547 100644 --- a/src/main/java/org/olat/core/util/nodes/GenericNode.java +++ b/src/main/java/org/olat/core/util/nodes/GenericNode.java @@ -28,11 +28,14 @@ package org.olat.core.util.nodes; import java.io.Serializable; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; import org.olat.core.logging.AssertException; import org.olat.core.util.CodeHelper; +import edu.emory.mathcs.backport.java.util.Collections; + /** * Description: <br> * @@ -165,10 +168,17 @@ public abstract class GenericNode implements INode, Serializable { /** * @see org.olat.core.util.nodes.INode#addChild(org.olat.core.util.nodes.INode) */ + @Override public void addChild(INode newChild) { if (children == null) children = new ArrayList<INode>(INITIAL_CHILD_SIZE); insert(newChild, children.size()); } + + public void sort(Comparator<INode> comparator) { + if(children != null && children.size() > 1) { + Collections.sort(children, comparator); + } + } /** * @return top-level root of node tree diff --git a/src/main/java/org/olat/core/util/nodes/INode.java b/src/main/java/org/olat/core/util/nodes/INode.java index e85a76ad1162e887376df420b9e6ade14b3e3f69..7793bb805d42fc8b3ebf464f801b5d15134808ff 100644 --- a/src/main/java/org/olat/core/util/nodes/INode.java +++ b/src/main/java/org/olat/core/util/nodes/INode.java @@ -26,6 +26,8 @@ package org.olat.core.util.nodes; +import java.util.Comparator; + /** * Description: <br> * @@ -92,5 +94,12 @@ public interface INode { * @param node */ public void remove(INode node); + + /** + * Sort the children of this node + * + * @param comparator + */ + public void sort(Comparator<INode> comparator); } \ No newline at end of file diff --git a/src/main/java/org/olat/core/util/vfs/callbacks/DefaultVFSSecurityCallback.java b/src/main/java/org/olat/core/util/vfs/callbacks/DefaultVFSSecurityCallback.java new file mode 100644 index 0000000000000000000000000000000000000000..ce02767ebca1aabadbb2fdfc8a97046fb2d4d3a6 --- /dev/null +++ b/src/main/java/org/olat/core/util/vfs/callbacks/DefaultVFSSecurityCallback.java @@ -0,0 +1,84 @@ +/** + * <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.util.vfs.callbacks; + +import org.olat.core.commons.services.notifications.SubscriptionContext; +import org.olat.core.util.vfs.Quota; + +/** + * + * Initial date: 4 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class DefaultVFSSecurityCallback implements VFSSecurityCallback { + + private Quota quota; + + @Override + public boolean canRead() { + return false; + } + + @Override + public boolean canWrite() { + return false; + } + + @Override + public boolean canCreateFolder() { + return false; + } + + @Override + public boolean canDelete() { + return false; + } + + @Override + public boolean canList() { + return false; + } + + @Override + public boolean canCopy() { + return false; + } + + @Override + public boolean canDeleteRevisionsPermanently() { + return false; + } + + @Override + public Quota getQuota() { + return quota; + } + + @Override + public void setQuota(Quota quota) { + this.quota = quota; + } + + @Override + public SubscriptionContext getSubscriptionContext() { + return null; + } +} diff --git a/src/main/java/org/olat/ims/qti/qpool/QTIImportProcessor.java b/src/main/java/org/olat/ims/qti/qpool/QTIImportProcessor.java index 5f1193b0810ea4067ad9c1f666400d4e30f051f9..b70007cfe93e5026cfab13cfc8a1cf6d1d9254b4 100644 --- a/src/main/java/org/olat/ims/qti/qpool/QTIImportProcessor.java +++ b/src/main/java/org/olat/ims/qti/qpool/QTIImportProcessor.java @@ -50,6 +50,7 @@ import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; +import org.olat.core.CoreSpringFactory; import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; import org.olat.core.logging.OLog; @@ -69,19 +70,20 @@ import org.olat.ims.qti.editor.beecom.objects.Question; import org.olat.ims.qti.editor.beecom.parser.ItemParser; import org.olat.ims.qti.questionimport.ItemAndMetadata; import org.olat.ims.resources.IMSEntityResolver; +import org.olat.modules.qpool.QPoolService; import org.olat.modules.qpool.QuestionItem; import org.olat.modules.qpool.QuestionType; -import org.olat.modules.qpool.TaxonomyLevel; import org.olat.modules.qpool.manager.QEducationalContextDAO; import org.olat.modules.qpool.manager.QItemTypeDAO; import org.olat.modules.qpool.manager.QLicenseDAO; import org.olat.modules.qpool.manager.QPoolFileStorage; import org.olat.modules.qpool.manager.QuestionItemDAO; -import org.olat.modules.qpool.manager.TaxonomyLevelDAO; import org.olat.modules.qpool.model.QEducationalContext; import org.olat.modules.qpool.model.QItemType; import org.olat.modules.qpool.model.QLicense; import org.olat.modules.qpool.model.QuestionItemImpl; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.springframework.beans.factory.annotation.Autowired; import org.xml.sax.InputSource; import org.xml.sax.SAXException; @@ -102,41 +104,36 @@ class QTIImportProcessor { private final String importedFilename; private final File importedFile; - private final DB dbInstance; - private final QLicenseDAO qLicenseDao; - private final QItemTypeDAO qItemTypeDao; - private final QPoolFileStorage qpoolFileStorage; - private final QuestionItemDAO questionItemDao; - private final TaxonomyLevelDAO taxonomyLevelDao; - private final QEducationalContextDAO qEduContextDao; + @Autowired + private DB dbInstance; + @Autowired + private QLicenseDAO qLicenseDao; + @Autowired + private QItemTypeDAO qItemTypeDao; + @Autowired + private QPoolFileStorage qpoolFileStorage; + @Autowired + private QuestionItemDAO questionItemDao; + @Autowired + private QPoolService qpoolService; + @Autowired + private QEducationalContextDAO qEduContextDao; - public QTIImportProcessor(Identity owner, Locale defaultLocale, QuestionItemDAO questionItemDao, - QItemTypeDAO qItemTypeDao, QEducationalContextDAO qEduContextDao, - TaxonomyLevelDAO taxonomyLevelDao, QLicenseDAO qLicenseDao, QPoolFileStorage qpoolFileStorage, - DB dbInstance) { - this(owner, defaultLocale, null, null, questionItemDao, qItemTypeDao, qEduContextDao, - taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + public QTIImportProcessor(Identity owner, Locale defaultLocale) { + this(owner, defaultLocale, null, null); } - public QTIImportProcessor(Identity owner, Locale defaultLocale, String importedFilename, File importedFile, - QuestionItemDAO questionItemDao, QItemTypeDAO qItemTypeDao, QEducationalContextDAO qEduContextDao, - TaxonomyLevelDAO taxonomyLevelDao, QLicenseDAO qLicenseDao, QPoolFileStorage qpoolFileStorage, - DB dbInstance) { + public QTIImportProcessor(Identity owner, Locale defaultLocale, String importedFilename, File importedFile) { this.owner = owner; - this.dbInstance = dbInstance; this.defaultLocale = defaultLocale; this.importedFilename = importedFilename; this.importedFile = importedFile; - this.qLicenseDao = qLicenseDao; - this.qItemTypeDao = qItemTypeDao; - this.questionItemDao = questionItemDao; - this.qEduContextDao = qEduContextDao; - this.qpoolFileStorage = qpoolFileStorage; - this.taxonomyLevelDao = taxonomyLevelDao; + + CoreSpringFactory.autowireObject(this); } public List<QuestionItem> process() { - List<QuestionItem> qItems = new ArrayList<QuestionItem>(); + List<QuestionItem> qItems = new ArrayList<>(); try { List<DocInfos> docInfoList = getDocInfos(); if(docInfoList != null) { @@ -170,7 +167,7 @@ class QTIImportProcessor { protected List<ItemInfos> getItemList(DocInfos doc) { Document document = doc.getDocument(); - List<ItemInfos> itemElements = new ArrayList<ItemInfos>(); + List<ItemInfos> itemElements = new ArrayList<>(); Element item = (Element)document.selectSingleNode("/questestinterop/item"); Element assessment = (Element)document.selectSingleNode("/questestinterop/assessment"); if(item != null) { @@ -288,14 +285,14 @@ class QTIImportProcessor { String taxonomyPath = metadata.getTaxonomyPath(); if(StringHelper.containsNonWhitespace(taxonomyPath)) { - QTIMetadataConverter converter = new QTIMetadataConverter(qItemTypeDao, qLicenseDao, taxonomyLevelDao, qEduContextDao); + QTIMetadataConverter converter = new QTIMetadataConverter(qItemTypeDao, qLicenseDao, qEduContextDao, qpoolService); TaxonomyLevel taxonomyLevel = converter.toTaxonomy(taxonomyPath); poolItem.setTaxonomyLevel(taxonomyLevel); } String level = metadata.getLevel(); if(StringHelper.containsNonWhitespace(level)) { - QTIMetadataConverter converter = new QTIMetadataConverter(qItemTypeDao, qLicenseDao, taxonomyLevelDao, qEduContextDao); + QTIMetadataConverter converter = new QTIMetadataConverter(qItemTypeDao, qLicenseDao, qEduContextDao, qpoolService); QEducationalContext educationalContext = converter.toEducationalContext(level); poolItem.setEducationalContext(educationalContext); } @@ -326,7 +323,7 @@ class QTIImportProcessor { String license = metadata.getLicense(); if(StringHelper.containsNonWhitespace(license)) { - QTIMetadataConverter converter = new QTIMetadataConverter(qItemTypeDao, qLicenseDao, taxonomyLevelDao, qEduContextDao); + QTIMetadataConverter converter = new QTIMetadataConverter(qItemTypeDao, qLicenseDao, qEduContextDao, qpoolService); QLicense qLicense = converter.toLicense(license); poolItem.setLicense(qLicense); } @@ -585,7 +582,7 @@ class QTIImportProcessor { SAXReader reader = new SAXReader(); Document document = reader.read(metadataIn); Element rootElement = document.getRootElement(); - QTIMetadataConverter enricher = new QTIMetadataConverter(rootElement, qItemTypeDao, qLicenseDao, taxonomyLevelDao, qEduContextDao); + QTIMetadataConverter enricher = new QTIMetadataConverter(rootElement, qItemTypeDao, qLicenseDao, qEduContextDao, qpoolService); enricher.toQuestion(item); } return true; diff --git a/src/main/java/org/olat/ims/qti/qpool/QTIMetadataConverter.java b/src/main/java/org/olat/ims/qti/qpool/QTIMetadataConverter.java index 132cfd9ff2cc0df025715ea875acb8751014ac7e..d1a5b07395155f6a29f4f20abde6b7fe441081ec 100644 --- a/src/main/java/org/olat/ims/qti/qpool/QTIMetadataConverter.java +++ b/src/main/java/org/olat/ims/qti/qpool/QTIMetadataConverter.java @@ -26,17 +26,17 @@ import java.util.UUID; import org.dom4j.Element; import org.olat.core.util.StringHelper; +import org.olat.modules.qpool.QPoolService; import org.olat.modules.qpool.QuestionItemFull; import org.olat.modules.qpool.QuestionStatus; -import org.olat.modules.qpool.TaxonomyLevel; import org.olat.modules.qpool.manager.QEducationalContextDAO; import org.olat.modules.qpool.manager.QItemTypeDAO; import org.olat.modules.qpool.manager.QLicenseDAO; -import org.olat.modules.qpool.manager.TaxonomyLevelDAO; import org.olat.modules.qpool.model.QEducationalContext; import org.olat.modules.qpool.model.QItemType; import org.olat.modules.qpool.model.QLicense; import org.olat.modules.qpool.model.QuestionItemImpl; +import org.olat.modules.taxonomy.TaxonomyLevel; /** * @@ -53,7 +53,7 @@ public class QTIMetadataConverter { private QLicenseDAO licenseDao; private QItemTypeDAO itemTypeDao; - private TaxonomyLevelDAO taxonomyLevelDao; + private QPoolService qpoolService; private QEducationalContextDAO educationalContextDao; QTIMetadataConverter(Element qtimetadata) { @@ -61,19 +61,19 @@ public class QTIMetadataConverter { } QTIMetadataConverter(Element qtimetadata, QItemTypeDAO itemTypeDao, QLicenseDAO licenseDao, - TaxonomyLevelDAO taxonomyLevelDao, QEducationalContextDAO educationalContextDao) { + QEducationalContextDAO educationalContextDao, QPoolService qpoolService) { this.qtimetadata = qtimetadata; this.licenseDao = licenseDao; this.itemTypeDao = itemTypeDao; - this.taxonomyLevelDao = taxonomyLevelDao; + this.qpoolService = qpoolService; this.educationalContextDao = educationalContextDao; } public QTIMetadataConverter(QItemTypeDAO itemTypeDao, QLicenseDAO licenseDao, - TaxonomyLevelDAO taxonomyLevelDao, QEducationalContextDAO educationalContextDao) { + QEducationalContextDAO educationalContextDao, QPoolService qpoolService) { this.licenseDao = licenseDao; this.itemTypeDao = itemTypeDao; - this.taxonomyLevelDao = taxonomyLevelDao; + this.qpoolService = qpoolService; this.educationalContextDao = educationalContextDao; } @@ -109,9 +109,13 @@ public class QTIMetadataConverter { TaxonomyLevel lowerLevel = null; if(path != null && path.length > 0) { for(String field :cleanedPath) { - TaxonomyLevel level = taxonomyLevelDao.loadLevelBy(lowerLevel, field); - if(level == null) { - level = taxonomyLevelDao.createAndPersist(lowerLevel, field); + List<TaxonomyLevel> levels = qpoolService.getTaxonomyLevelBy(lowerLevel, field); + + TaxonomyLevel level; + if(levels.isEmpty()) { + level = qpoolService.createTaxonomyLevel(lowerLevel, field, field); + } else { + level = levels.get(0); } lowerLevel = level; } diff --git a/src/main/java/org/olat/ims/qti/qpool/QTIQPoolServiceProvider.java b/src/main/java/org/olat/ims/qti/qpool/QTIQPoolServiceProvider.java index 69dccd96f711a4b53bd0c12f4127c953db971a60..a2c0d19048cc3226e11d9a85ad04096929267c98 100644 --- a/src/main/java/org/olat/ims/qti/qpool/QTIQPoolServiceProvider.java +++ b/src/main/java/org/olat/ims/qti/qpool/QTIQPoolServiceProvider.java @@ -71,12 +71,8 @@ import org.olat.modules.qpool.QPoolSPI; import org.olat.modules.qpool.QuestionItem; import org.olat.modules.qpool.QuestionItemFull; import org.olat.modules.qpool.QuestionItemShort; -import org.olat.modules.qpool.manager.QEducationalContextDAO; -import org.olat.modules.qpool.manager.QItemTypeDAO; -import org.olat.modules.qpool.manager.QLicenseDAO; import org.olat.modules.qpool.manager.QPoolFileStorage; import org.olat.modules.qpool.manager.QuestionItemDAO; -import org.olat.modules.qpool.manager.TaxonomyLevelDAO; import org.olat.modules.qpool.model.DefaultExportFormat; import org.olat.modules.qpool.model.QuestionItemImpl; import org.olat.repository.RepositoryEntry; @@ -106,15 +102,7 @@ public class QTIQPoolServiceProvider implements QPoolSPI { @Autowired private QPoolFileStorage qpoolFileStorage; @Autowired - private QLicenseDAO qLicenseDao; - @Autowired - private QItemTypeDAO qItemTypeDao; - @Autowired private QuestionItemDAO questionItemDao; - @Autowired - private QEducationalContextDAO qEduContextDao; - @Autowired - private TaxonomyLevelDAO taxonomyLevelDao; private static final List<ExportFormatOptions> formats = new ArrayList<ExportFormatOptions>(2); static { @@ -198,8 +186,7 @@ public class QTIQPoolServiceProvider implements QPoolSPI { @Override public List<QuestionItem> importItems(Identity owner, Locale defaultLocale, String filename, File file) { - QTIImportProcessor processor = new QTIImportProcessor(owner, defaultLocale, filename, file, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + QTIImportProcessor processor = new QTIImportProcessor(owner, defaultLocale, filename, file); return processor.process(); } @@ -228,8 +215,7 @@ public class QTIQPoolServiceProvider implements QPoolSPI { item.setLabel(title); item.setTitle(title); - QTIImportProcessor processor = new QTIImportProcessor(owner, defaultLocale, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + QTIImportProcessor processor = new QTIImportProcessor(owner, defaultLocale); Document doc = QTIEditHelper.itemToXml(item); Element itemEl = (Element)doc.selectSingleNode("questestinterop/item"); @@ -242,8 +228,7 @@ public class QTIQPoolServiceProvider implements QPoolSPI { } public QuestionItemImpl importBeecomItem(Identity owner, ItemAndMetadata itemAndMetadata, VFSContainer sourceDir, Locale defaultLocale) { - QTIImportProcessor processor = new QTIImportProcessor(owner, defaultLocale, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + QTIImportProcessor processor = new QTIImportProcessor(owner, defaultLocale); String editor = null; String editorVersion = null; diff --git a/src/main/java/org/olat/ims/qti21/pool/QTI21ImportProcessor.java b/src/main/java/org/olat/ims/qti21/pool/QTI21ImportProcessor.java index 2cdd962474834b781c4ba9ae3de88d0eb7b82966..45b2943d2efacf4335c383ecbdbfe1266b39f133 100644 --- a/src/main/java/org/olat/ims/qti21/pool/QTI21ImportProcessor.java +++ b/src/main/java/org/olat/ims/qti21/pool/QTI21ImportProcessor.java @@ -40,6 +40,7 @@ import javax.xml.parsers.SAXParserFactory; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamWriter; +import org.olat.core.CoreSpringFactory; import org.olat.core.id.Identity; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; @@ -52,27 +53,28 @@ import org.olat.ims.qti21.QTI21Constants; import org.olat.ims.qti21.QTI21Service; import org.olat.ims.qti21.model.IdentifierGenerator; import org.olat.ims.qti21.model.QTI21QuestionType; +import org.olat.ims.qti21.model.xml.AssessmentItemChecker; import org.olat.ims.qti21.model.xml.AssessmentItemMetadata; import org.olat.ims.qti21.model.xml.ManifestBuilder; import org.olat.ims.qti21.model.xml.ManifestMetadataBuilder; -import org.olat.ims.qti21.model.xml.AssessmentItemChecker; import org.olat.ims.qti21.model.xml.OnyxToQtiWorksHandler; import org.olat.ims.qti21.model.xml.QTI21Infos; import org.olat.ims.qti21.repository.handlers.QTI21IMSManifestExplorerVisitor; import org.olat.imscp.xml.manifest.ResourceType; +import org.olat.modules.qpool.QPoolService; import org.olat.modules.qpool.QuestionItem; import org.olat.modules.qpool.QuestionType; -import org.olat.modules.qpool.TaxonomyLevel; import org.olat.modules.qpool.manager.QEducationalContextDAO; import org.olat.modules.qpool.manager.QItemTypeDAO; import org.olat.modules.qpool.manager.QLicenseDAO; import org.olat.modules.qpool.manager.QPoolFileStorage; import org.olat.modules.qpool.manager.QuestionItemDAO; -import org.olat.modules.qpool.manager.TaxonomyLevelDAO; import org.olat.modules.qpool.model.QEducationalContext; import org.olat.modules.qpool.model.QItemType; import org.olat.modules.qpool.model.QLicense; import org.olat.modules.qpool.model.QuestionItemImpl; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.springframework.beans.factory.annotation.Autowired; import uk.ac.ed.ph.jqtiplus.node.item.AssessmentItem; import uk.ac.ed.ph.jqtiplus.reading.AssessmentObjectXmlLoader; @@ -94,26 +96,26 @@ public class QTI21ImportProcessor { private final Identity owner; private final Locale defaultLocale; - private final QItemTypeDAO qItemTypeDao; - private final QLicenseDAO qLicenseDao; - private final QTI21Service qtiService; - private final QuestionItemDAO questionItemDao; - private final QPoolFileStorage qpoolFileStorage; - private final TaxonomyLevelDAO taxonomyLevelDao; - private final QEducationalContextDAO qEduContextDao; + @Autowired + private QItemTypeDAO qItemTypeDao; + @Autowired + private QLicenseDAO qLicenseDao; + @Autowired + private QTI21Service qtiService; + @Autowired + private QuestionItemDAO questionItemDao; + @Autowired + private QPoolFileStorage qpoolFileStorage; + @Autowired + private QPoolService qpoolService; + @Autowired + private QEducationalContextDAO qEduContextDao; - public QTI21ImportProcessor(Identity owner, Locale defaultLocale, - QuestionItemDAO questionItemDao, QItemTypeDAO qItemTypeDao, QEducationalContextDAO qEduContextDao, - TaxonomyLevelDAO taxonomyLevelDao, QLicenseDAO qLicenseDao, QPoolFileStorage qpoolFileStorage, QTI21Service qtiService) { + public QTI21ImportProcessor(Identity owner, Locale defaultLocale) { this.owner = owner; - this.qtiService = qtiService; this.defaultLocale = defaultLocale; - this.qLicenseDao = qLicenseDao; - this.qItemTypeDao = qItemTypeDao; - this.qEduContextDao = qEduContextDao; - this.questionItemDao = questionItemDao; - this.qpoolFileStorage = qpoolFileStorage; - this.taxonomyLevelDao = taxonomyLevelDao; + + CoreSpringFactory.autowireObject(this); } public List<QuestionItem> process(File file) { @@ -343,14 +345,14 @@ public class QTI21ImportProcessor { String taxonomyPath = metadata.getTaxonomyPath(); if(StringHelper.containsNonWhitespace(taxonomyPath)) { - QTIMetadataConverter converter = new QTIMetadataConverter(qItemTypeDao, qLicenseDao, taxonomyLevelDao, qEduContextDao); + QTIMetadataConverter converter = new QTIMetadataConverter(qItemTypeDao, qLicenseDao, qEduContextDao, qpoolService); TaxonomyLevel taxonomyLevel = converter.toTaxonomy(taxonomyPath); poolItem.setTaxonomyLevel(taxonomyLevel); } String level = metadata.getLevel(); if(StringHelper.containsNonWhitespace(level)) { - QTIMetadataConverter converter = new QTIMetadataConverter(qItemTypeDao, qLicenseDao, taxonomyLevelDao, qEduContextDao); + QTIMetadataConverter converter = new QTIMetadataConverter(qItemTypeDao, qLicenseDao, qEduContextDao, qpoolService); QEducationalContext educationalContext = converter.toEducationalContext(level); poolItem.setEducationalContext(educationalContext); } @@ -381,7 +383,7 @@ public class QTI21ImportProcessor { String license = metadata.getLicense(); if(StringHelper.containsNonWhitespace(license)) { - QTIMetadataConverter converter = new QTIMetadataConverter(qItemTypeDao, qLicenseDao, taxonomyLevelDao, qEduContextDao); + QTIMetadataConverter converter = new QTIMetadataConverter(qItemTypeDao, qLicenseDao, qEduContextDao, qpoolService); QLicense qLicense = converter.toLicense(license); poolItem.setLicense(qLicense); } diff --git a/src/main/java/org/olat/ims/qti21/pool/QTI21QPoolServiceProvider.java b/src/main/java/org/olat/ims/qti21/pool/QTI21QPoolServiceProvider.java index e1f8f7674c4445d1b4a88ddb89e0b653044bf417..c4c19e158f3db933436e38195f3cfe0cf5be5ef2 100644 --- a/src/main/java/org/olat/ims/qti21/pool/QTI21QPoolServiceProvider.java +++ b/src/main/java/org/olat/ims/qti21/pool/QTI21QPoolServiceProvider.java @@ -92,12 +92,8 @@ import org.olat.modules.qpool.QPoolService; import org.olat.modules.qpool.QuestionItem; import org.olat.modules.qpool.QuestionItemFull; import org.olat.modules.qpool.QuestionItemShort; -import org.olat.modules.qpool.manager.QEducationalContextDAO; -import org.olat.modules.qpool.manager.QItemTypeDAO; -import org.olat.modules.qpool.manager.QLicenseDAO; import org.olat.modules.qpool.manager.QPoolFileStorage; import org.olat.modules.qpool.manager.QuestionItemDAO; -import org.olat.modules.qpool.manager.TaxonomyLevelDAO; import org.olat.modules.qpool.model.DefaultExportFormat; import org.olat.modules.qpool.model.QuestionItemImpl; import org.olat.repository.RepositoryEntry; @@ -134,15 +130,7 @@ public class QTI21QPoolServiceProvider implements QPoolSPI { @Autowired private QPoolFileStorage qpoolFileStorage; @Autowired - private QLicenseDAO qLicenseDao; - @Autowired - private QItemTypeDAO qItemTypeDao; - @Autowired private QuestionItemDAO questionItemDao; - @Autowired - private QEducationalContextDAO qEduContextDao; - @Autowired - private TaxonomyLevelDAO taxonomyLevelDao; private static final List<ExportFormatOptions> formats = new ArrayList<ExportFormatOptions>(4); static { @@ -234,8 +222,7 @@ public class QTI21QPoolServiceProvider implements QPoolSPI { @Override public List<QuestionItem> importItems(Identity owner, Locale defaultLocale, String filename, File file) { - QTI21ImportProcessor processor = new QTI21ImportProcessor(owner, defaultLocale, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, qtiService); + QTI21ImportProcessor processor = new QTI21ImportProcessor(owner, defaultLocale); return processor.process(file); } @@ -363,8 +350,7 @@ public class QTI21QPoolServiceProvider implements QPoolSPI { AssessmentItemMetadata itemMetadata = new AssessmentItemMetadata(); itemMetadata.setQuestionType(type); - QTI21ImportProcessor processor = new QTI21ImportProcessor(identity, locale, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, qtiService); + QTI21ImportProcessor processor = new QTI21ImportProcessor(identity, locale); QuestionItemImpl qitem = processor.processItem(assessmentItem, "", null, "OpenOLAT", Settings.getVersion(), itemMetadata); VFSContainer baseDir = qpoolFileStorage.getContainer(qitem.getDirectory()); @@ -380,8 +366,7 @@ public class QTI21QPoolServiceProvider implements QPoolSPI { } public QuestionItemImpl importExcelItem(Identity owner, AssessmentItemAndMetadata itemAndMetadata, Locale defaultLocale) { - QTI21ImportProcessor processor = new QTI21ImportProcessor(owner, defaultLocale, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, qtiService); + QTI21ImportProcessor processor = new QTI21ImportProcessor(owner, defaultLocale); String editor = itemAndMetadata.getEditor(); String editorVersion = itemAndMetadata.getEditorVersion(); @@ -419,8 +404,7 @@ public class QTI21QPoolServiceProvider implements QPoolSPI { */ public QuestionItem importAssessmentItemRef(Identity owner, AssessmentItem assessmentItem, File itemFile, ManifestMetadataBuilder clonedMetadataBuilder, Locale defaultLocale) { - QTI21ImportProcessor processor = new QTI21ImportProcessor(owner, defaultLocale, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, qtiService); + QTI21ImportProcessor processor = new QTI21ImportProcessor(owner, defaultLocale); AssessmentItemMetadata metadata = new AssessmentItemMetadata(clonedMetadataBuilder); diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties index 4d3eea13b7d16daf7ea8c8f411c0388d4ebb7d4c..49c6939e9ebb971426f51d33e895713adc313d43 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties @@ -1,4 +1,6 @@ -#Mon Sep 04 21:47:18 CEST 2017 +#Mon Oct 30 09:56:22 CET 2017 +MULTIPLE=Multiple choice +SINGLE=Single choice add=Hinzuf\u00FCgen add.additional.feedback=Bedingte Feedback hinzuf\u00FCgen add.answered.feedback=Feedback bei Antwort hinzuf\u00FCgen @@ -14,13 +16,14 @@ answers=Antworten change.elements=Elemente \u00E4ndern convert=Konvertieren convert.alien=Konvertieren -convert.to=Umwandeln in: +convert.to=Umwandeln in\: correct.answers=Korrekt cut.value=Notwendige Punktzahl f\u00FCr "Bestanden" delete=L\u00F6schen delete.item=$org.olat.ims.qti.editor\:delete.item delete.section=$org.olat.ims.qti.editor\:delete.section delete.testPart=Wollen Sie den Test-Part mit allen Fragen wirklich l\u00F6schen? +dy=dx editor.sc.title=Single choice editor.unkown.title=Unbekanntes interaction error.assessment.test=Die Datei konnte nicht gelesen werden. Sie ist entweder korrupt oder mit dem falschen Format gespeichert. @@ -32,7 +35,7 @@ error.import.question=Die Frage konnte wegen eine unerwartete Fehler nicht impor error.integer=$org.olat.ims.qti21.ui\:error.integer error.lock=Dieser Test/Fragebogen wird momentan vom Benutzer {0} editiert und ist deshalb gesperrt. error.lock.title=Test gesperrt -error.lower.tolerance=Die untere Schranke muss kleiner als die Lösung sein. +error.lower.tolerance=Die untere Schranke muss kleiner als die L\u00F6sung sein. error.mimetype=$org.olat.core.commons.modules.bc\:WrongMimeType error.min.score.bigger.max=Minimal erreichbare Punktzahl muss kleiner als then maximal erreichbare Punktzahl sein. error.missing.fib=Die Frage mussen mindestens einen L\u00FCckentext oder eine Numerische Eingabe enthalten. @@ -40,11 +43,11 @@ error.missing.hottext=Die Frage mussen mindestens einen Hottext enthalten. error.need.correct.answer=Sie m\u00FCssen mindestens eine Antwort als korrekt markieren. error.positive.double=Falsches Zahlenformat, nur positive Nummer sind erlaubt. Beispiele\: 15.0, 5.5, 10 error.singlechoice=Genau ein ausw\u00E4hlen +error.upper.tolerance=Die obere Schranke muss gr\u00F6sser als die L\u00F6sung sein. essay.expectedLength=Anzahl Buchstaben essay.max.strings=Max Anzahl W\u00F6rter essay.min.strings=Min Anzahl W\u00F6rter essay.rows=H\u00F6he (Anzahl Zeilen) -error.upper.tolerance=Die obere Schranke muss grösser als die Lösung sein. export.qpool.successful=$org.olat.ims.qti.editor\:export.qpool.successful feedback.answered.help=Feedback bei Antwort\: Dieses Feedback erscheint sobald der Benutzer eine Antwort gibt. feedback.correct.help=Feedback bei Wahl aller korrekten Antworten\: Dieses Feedback erscheint nur dann, wenn alle Antworten korrekt sind. @@ -154,6 +157,13 @@ form.testPart.navigationMode.linear=Linear form.testPart.navigationMode.nonlinear=Nicht linear form.unkown=Unbekannt form.upload=Datei hochladen +hotspot.layout=Hotspot Farbe +hotspot.layout.green=Gr\u00FCn +hotspot.layout.inverted=Invertiert +hotspot.layout.light=Hell +hotspot.layout.purple=Violett +hotspot.layout.shadow=Schraffierung aktivieren +hotspot.layout.standard=Standard blau hour.short=h inherit=Vererbt item.session.control.allow.comment=Kommentar erlauben @@ -172,21 +182,13 @@ math.operator.equals=\= math.operator.notEquals=\!\= math.operator.smaller=< math.operator.smallerEquals=<\=\t\t\t\t -max.choices=Max. Anzahl von mögliche Antworten +max.choices=Max. Anzahl von m\u00F6gliche Antworten max.choices.unlimited=Beliebig max.score=Maximal erreichbare Punktzahl -min.choices=Min. Anzahl von mögliche Antworten +min.choices=Min. Anzahl von m\u00F6gliche Antworten min.choices.unlimited=Nicht begrenzet min.score=Minimal erreichbare Punktzahl -hotspot.layout=Hotspot Farbe -hotspot.layout.standard=Standard blau -hotspot.layout.inverted=Invertiert -hotspot.layout.light=Hell -hotspot.layout.green=Gr\u00FCn -hotspot.layout.purple=Violett -hotspot.layout.shadow=Schraffierung aktivieren minute.short=m -MULTIPLE=Multiple choice new.answer=Neue Antwort new.circle=Kreis new.drawing=Zeichnen @@ -210,7 +212,6 @@ new.testpart=Test-Part new.upload=Datei hochladen preview=Vorschau preview.solution=Vorschau L\u00F6sung -SINGLE=Single choice time.limit.max=Zeitbeschr\u00E4nkung title.add=$org.olat.ims.qti.editor\:title.add tools.change.copy=$org.olat.ims.qti.editor\:tools.change.copy diff --git a/src/main/java/org/olat/modules/_spring/modulesContext.xml b/src/main/java/org/olat/modules/_spring/modulesContext.xml index 7ea6f1f3f7159d7bea4bd2a5382177e7c3468292..c1f1f7023e26b1a5f0fd132c47d812dacdb7eeb5 100644 --- a/src/main/java/org/olat/modules/_spring/modulesContext.xml +++ b/src/main/java/org/olat/modules/_spring/modulesContext.xml @@ -164,4 +164,24 @@ </property> </bean> + <!-- Taxonomy admin. panel --> + <bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints"> + <property name="order" value="7212" /> + <property name="actionController"> + <bean class="org.olat.core.gui.control.creator.AutoCreator" scope="prototype"> + <property name="className" value="org.olat.modules.taxonomy.ui.TaxonomyAdminController"/> + </bean> + </property> + <property name="navigationKey" value="taxonomy" /> + <property name="parentTreeNodeIdentifier" value="modulesParent" /> + <property name="i18nActionKey" value="admin.menu.title"/> + <property name="i18nDescriptionKey" value="admin.menu.title.alt"/> + <property name="translationPackage" value="org.olat.modules.taxonomy.ui"/> + <property name="extensionPoints"> + <list> + <value>org.olat.admin.SystemAdminMainController</value> + </list> + </property> + </bean> + </beans> \ No newline at end of file diff --git a/src/main/java/org/olat/modules/qpool/QPoolService.java b/src/main/java/org/olat/modules/qpool/QPoolService.java index 24707c2d169a6d02919cfd774bdc11fdfa55a879..8785a1f24e236d68b4a2aea09157bf07abcae13d 100644 --- a/src/main/java/org/olat/modules/qpool/QPoolService.java +++ b/src/main/java/org/olat/modules/qpool/QPoolService.java @@ -38,6 +38,7 @@ import org.olat.modules.qpool.model.QEducationalContext; import org.olat.modules.qpool.model.QItemType; import org.olat.modules.qpool.model.QLicense; import org.olat.modules.qpool.model.SearchQuestionItemParams; +import org.olat.modules.taxonomy.TaxonomyLevel; import org.olat.resource.OLATResource; /** @@ -166,12 +167,20 @@ public interface QPoolService { //study field admin public List<TaxonomyLevel> getTaxonomyLevels(); - public TaxonomyLevel createTaxonomyLevel(TaxonomyLevel parent, String field); + /** + * + * @param parent + * @param displayName + * @return + */ + public List<TaxonomyLevel> getTaxonomyLevelBy(TaxonomyLevel parent, String displayName); - public TaxonomyLevel updateTaxonomyLevel(String newField, TaxonomyLevel level); + public TaxonomyLevel createTaxonomyLevel(TaxonomyLevel parent, String identifier, String displayName); - public boolean delete(TaxonomyLevel level); + public TaxonomyLevel updateTaxonomyLevel(TaxonomyLevel level, String identifier, String displayName); + public boolean deleteTaxonomyLevel(TaxonomyLevel level); + //pool administration public void createPool(Identity identity, String name, boolean publicPool); diff --git a/src/main/java/org/olat/modules/qpool/QuestionPoolModule.java b/src/main/java/org/olat/modules/qpool/QuestionPoolModule.java index f5c3522c3555c1daf446f61237835fe0fe013353..cc38a3685009fafff088935ac17a15eb616f4299 100644 --- a/src/main/java/org/olat/modules/qpool/QuestionPoolModule.java +++ b/src/main/java/org/olat/modules/qpool/QuestionPoolModule.java @@ -26,12 +26,16 @@ import java.util.List; import org.olat.NewControllerFactory; import org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl; +import org.olat.core.commons.persistence.DB; import org.olat.core.configuration.AbstractSpringModule; import org.olat.core.configuration.ConfigOnOff; import org.olat.core.id.context.SiteContextEntryControllerCreator; +import org.olat.core.util.StringHelper; import org.olat.core.util.coordinate.CoordinatorManager; import org.olat.core.util.vfs.VFSContainer; import org.olat.modules.qpool.site.QuestionPoolSite; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.manager.TaxonomyDAO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -43,7 +47,16 @@ import org.springframework.stereotype.Service; */ @Service("qpoolModule") public class QuestionPoolModule extends AbstractSpringModule implements ConfigOnOff { + + private static final String TAXONOMY_QPOOL_KEY = "taxonomy.qpool.key"; + public static final String DEFAULT_TAXONOMY_QPOOL_IDENTIFIER = "QPOOL"; + + private String taxonomyQPoolKey; + @Autowired + private DB dbInstance; + @Autowired + private TaxonomyDAO taxonomyDao; @Autowired private List<QPoolSPI> questionPoolProviders; @@ -59,11 +72,28 @@ public class QuestionPoolModule extends AbstractSpringModule implements ConfigOn NewControllerFactory.getInstance().addContextEntryControllerCreator("QPool", new SiteContextEntryControllerCreator(QuestionPoolSite.class)); + updateProperties(); + initTaxonomy(); } @Override protected void initFromChangedProperties() { - // + updateProperties(); + } + + private void initTaxonomy() { + if(!StringHelper.isLong(taxonomyQPoolKey)) { + Taxonomy taxonomy = taxonomyDao.createTaxonomy(DEFAULT_TAXONOMY_QPOOL_IDENTIFIER, "Question pool", "taxonomy for the question pool", DEFAULT_TAXONOMY_QPOOL_IDENTIFIER); + dbInstance.commitAndCloseSession(); + setTaxonomyQPoolKey(taxonomy.getKey().toString()); + } + } + + private void updateProperties() { + String taxonomyQPoolKeyObj = getStringPropertyValue(TAXONOMY_QPOOL_KEY, true); + if(StringHelper.containsNonWhitespace(taxonomyQPoolKeyObj)) { + taxonomyQPoolKey = taxonomyQPoolKeyObj; + } } @Override @@ -109,4 +139,13 @@ public class QuestionPoolModule extends AbstractSpringModule implements ConfigOn questionPoolProviders.add(provider); } } + + public String getTaxonomyQPoolKey() { + return taxonomyQPoolKey; + } + + public void setTaxonomyQPoolKey(String taxonomyQPoolKey) { + this.taxonomyQPoolKey = taxonomyQPoolKey; + setStringProperty(TAXONOMY_QPOOL_KEY, taxonomyQPoolKey, true); + } } diff --git a/src/main/java/org/olat/modules/qpool/manager/MetadataConverterHelper.java b/src/main/java/org/olat/modules/qpool/manager/MetadataConverterHelper.java index 953ddf6a515f5de5a136740fd640968582086877..c85f155d0f1d86f3c46d5079de2ad898cf712fa0 100644 --- a/src/main/java/org/olat/modules/qpool/manager/MetadataConverterHelper.java +++ b/src/main/java/org/olat/modules/qpool/manager/MetadataConverterHelper.java @@ -27,7 +27,7 @@ import org.olat.modules.qpool.model.QEducationalContext; import org.olat.modules.qpool.model.QItemType; import org.olat.modules.qpool.model.QLicense; import org.olat.modules.qpool.model.QuestionItemImpl; -import org.olat.modules.qpool.model.TaxonomyLevelImpl; +import org.olat.modules.taxonomy.model.TaxonomyLevelImpl; import com.thoughtworks.xstream.XStream; diff --git a/src/main/java/org/olat/modules/qpool/manager/QuestionItemDAO.java b/src/main/java/org/olat/modules/qpool/manager/QuestionItemDAO.java index e94021a0bde370ae650c14c4e5909b748b08ec6d..55bb4831455fed082fd4100cd69e2690acf29b94 100644 --- a/src/main/java/org/olat/modules/qpool/manager/QuestionItemDAO.java +++ b/src/main/java/org/olat/modules/qpool/manager/QuestionItemDAO.java @@ -43,10 +43,10 @@ import org.olat.modules.qpool.QuestionItem2Resource; import org.olat.modules.qpool.QuestionItemFull; import org.olat.modules.qpool.QuestionItemShort; import org.olat.modules.qpool.QuestionStatus; -import org.olat.modules.qpool.TaxonomyLevel; import org.olat.modules.qpool.model.QItemType; import org.olat.modules.qpool.model.QuestionItemImpl; import org.olat.modules.qpool.model.ResourceShareImpl; +import org.olat.modules.taxonomy.TaxonomyLevel; import org.olat.resource.OLATResource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java b/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java index bae904c8fa6e7cb63205acd9be1f364128b9eea3..1380350f3bcf176c1c8a67000b502fd678680e0b 100644 --- a/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java +++ b/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java @@ -1,4 +1,5 @@ /** + * <a href="http://www.openolat.org"> * OpenOLAT - Online Learning and Training</a><br> * <p> @@ -56,7 +57,6 @@ import org.olat.modules.qpool.QuestionItemFull; import org.olat.modules.qpool.QuestionItemShort; import org.olat.modules.qpool.QuestionItemView; import org.olat.modules.qpool.QuestionPoolModule; -import org.olat.modules.qpool.TaxonomyLevel; import org.olat.modules.qpool.model.DefaultExportFormat; import org.olat.modules.qpool.model.PoolImpl; import org.olat.modules.qpool.model.QEducationalContext; @@ -65,6 +65,12 @@ import org.olat.modules.qpool.model.QItemType; import org.olat.modules.qpool.model.QLicense; import org.olat.modules.qpool.model.QuestionItemImpl; import org.olat.modules.qpool.model.SearchQuestionItemParams; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyRef; +import org.olat.modules.taxonomy.manager.TaxonomyDAO; +import org.olat.modules.taxonomy.manager.TaxonomyLevelDAO; +import org.olat.modules.taxonomy.model.TaxonomyRefImpl; import org.olat.resource.OLATResource; import org.olat.search.model.AbstractOlatDocument; import org.olat.search.service.indexer.LifeFullIndexer; @@ -100,8 +106,6 @@ public class QuestionPoolServiceImpl implements QPoolService { @Autowired private QEducationalContextDAO qEduContextDao; @Autowired - private TaxonomyLevelDAO taxonomyLevelDao; - @Autowired private QuestionItemDAO questionItemDao; @Autowired private QuestionPoolModule qpoolModule; @@ -113,6 +117,12 @@ public class QuestionPoolServiceImpl implements QPoolService { private LifeFullIndexer lifeIndexer; + @Autowired + private TaxonomyDAO taxonomyDao; + @Autowired + private TaxonomyLevelDAO taxonomyLevelDao; + + @Override public void deleteItems(List<? extends QuestionItemShort> items) { if(items == null || items.isEmpty()) { @@ -796,24 +806,52 @@ public class QuestionPoolServiceImpl implements QPoolService { public boolean deleteLicense(QLicense license) { return qpoolLicenseDao.delete(license); } + + public TaxonomyRef getQPoolTaxonomy() { + String key = qpoolModule.getTaxonomyQPoolKey(); + try { + return new TaxonomyRefImpl(new Long(key)); + } catch (NumberFormatException e) { + log.error("", e); + return null; + } + } @Override public List<TaxonomyLevel> getTaxonomyLevels() { - return taxonomyLevelDao.loadAllLevels(); + TaxonomyRef qpoolTaxonomy = getQPoolTaxonomy(); + if(qpoolTaxonomy == null) { + return new ArrayList<>(); + } + return taxonomyLevelDao.getLevels(qpoolTaxonomy); } @Override - public TaxonomyLevel createTaxonomyLevel(TaxonomyLevel parentField, String field) { - return taxonomyLevelDao.createAndPersist(parentField, field); + public List<TaxonomyLevel> getTaxonomyLevelBy(TaxonomyLevel parent, String displayName) { + TaxonomyRef qpoolTaxonomy = getQPoolTaxonomy(); + if(qpoolTaxonomy == null) { + return new ArrayList<>(); + } + return taxonomyLevelDao.getLevelsByDisplayName(qpoolTaxonomy, displayName); + } + + @Override + public TaxonomyLevel createTaxonomyLevel(TaxonomyLevel parent, String identifier, String displayName) { + TaxonomyRef qpoolTaxonomy = getQPoolTaxonomy(); + if(qpoolTaxonomy == null) { + return null; + } + Taxonomy taxonomy = taxonomyDao.loadByKey(qpoolTaxonomy.getKey()); + return taxonomyLevelDao.createTaxonomyLevel(identifier, displayName, "", null, null, parent, null, taxonomy); } @Override - public TaxonomyLevel updateTaxonomyLevel(String newField, TaxonomyLevel level) { - return taxonomyLevelDao.update(newField, level); + public TaxonomyLevel updateTaxonomyLevel(TaxonomyLevel level, String identifier, String displayName) { + return null;//taxonomy taxonomyLevelDao.updateTaxonomyLevel(level).update(newField, level); } @Override - public boolean delete(TaxonomyLevel level) { - return taxonomyLevelDao.delete(level); + public boolean deleteTaxonomyLevel(TaxonomyLevel level) { + return false;//TODO taxonomy taxonomyLevelDao.delete(level); } } \ No newline at end of file diff --git a/src/main/java/org/olat/modules/qpool/manager/TaxonomyLevelDAO.java b/src/main/java/org/olat/modules/qpool/manager/TaxonomyLevelDAO.java deleted file mode 100644 index 17a31c996eeb3ff3be0f55358821b332b7358fb7..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/modules/qpool/manager/TaxonomyLevelDAO.java +++ /dev/null @@ -1,179 +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.modules.qpool.manager; - -import java.util.Date; -import java.util.List; - -import javax.persistence.TypedQuery; - -import org.olat.core.commons.persistence.DB; -import org.olat.modules.qpool.TaxonomyLevel; -import org.olat.modules.qpool.model.TaxonomyLevelImpl; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -/** - * - * Initial date: 20.02.2013<br> - * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com - * - */ -@Service("taxonomyLevelDao") -public class TaxonomyLevelDAO { - - @Autowired - private DB dbInstance; - - public TaxonomyLevel createAndPersist(TaxonomyLevel parentField, String field) { - TaxonomyLevelImpl newStudyField = new TaxonomyLevelImpl(); - newStudyField.setCreationDate(new Date()); - newStudyField.setLastModified(new Date()); - newStudyField.setField(field); - if(parentField != null) { - newStudyField.setParentField(parentField); - - String parentPathOfKeys = parentField.getMaterializedPathKeys(); - if(parentPathOfKeys == null || "/".equals(parentPathOfKeys)) { - parentPathOfKeys = ""; - } - String parentPathOfNames = parentField.getMaterializedPathNames(); - if(parentPathOfNames == null || "/".equals(parentPathOfNames)) { - parentPathOfNames = ""; - } - - newStudyField.setMaterializedPathKeys(parentPathOfKeys + "/" + parentField.getKey()); - newStudyField.setMaterializedPathNames(parentPathOfNames + "/" + parentField.getField()); - } else { - newStudyField.setMaterializedPathKeys("/"); - newStudyField.setMaterializedPathNames("/"); - } - dbInstance.getCurrentEntityManager().persist(newStudyField); - return newStudyField; - } - - public TaxonomyLevel update(String name, TaxonomyLevel field) { - TaxonomyLevel reloadedField = loadLevelById(field.getKey()); - String path = reloadedField.getMaterializedPathNames() + "/" + reloadedField.getField(); - String newPath = reloadedField.getMaterializedPathNames() + "/" + name; - - ((TaxonomyLevelImpl)reloadedField).setField(name); - TaxonomyLevel mergedField = dbInstance.getCurrentEntityManager().merge(reloadedField); - List<TaxonomyLevel> descendants = getDescendants(mergedField); - - for(TaxonomyLevel descendant:descendants) { - String descendantPath = descendant.getMaterializedPathNames(); - if(descendantPath.indexOf(path) == 0) { - String end = descendantPath.substring(path.length(), descendantPath.length()); - String updatedPath = newPath + end; - ((TaxonomyLevelImpl)descendant).setMaterializedPathNames(updatedPath); - } - dbInstance.getCurrentEntityManager().merge(descendant); - } - return mergedField; - } - - public boolean delete(TaxonomyLevel field) { - int used = countItemUsing(field); - int children = countChildren(field); - if(used == 0 && children == 0) { - TaxonomyLevel impl = loadLevelById(field.getKey()); - if(impl != null) { - dbInstance.getCurrentEntityManager().remove(impl); - } - return true; - } - return false; - } - - public int countChildren(TaxonomyLevel field) { - StringBuilder sb = new StringBuilder(); - sb.append("select count(taxonomyLevel) from qtaxonomylevel taxonomyLevel where taxonomyLevel.parentField.key=:taxonomyLevelKey"); - return dbInstance.getCurrentEntityManager() - .createQuery(sb.toString(), Number.class) - .setParameter("taxonomyLevelKey", field.getKey()) - .getSingleResult().intValue(); - } - - public int countItemUsing(TaxonomyLevel field) { - StringBuilder sb = new StringBuilder(); - sb.append("select count(item) from questionitem item where item.taxonomyLevel.key=:taxonomyLevelKey"); - return dbInstance.getCurrentEntityManager() - .createQuery(sb.toString(), Number.class) - .setParameter("taxonomyLevelKey", field.getKey()) - .getSingleResult().intValue(); - } - - public List<TaxonomyLevel> getDescendants(TaxonomyLevel field) { - String path = field.getMaterializedPathKeys() + "/" + field.getKey(); - return dbInstance.getCurrentEntityManager() - .createNamedQuery("loadTaxonomyDescendants", TaxonomyLevel.class) - .setParameter("path", path + "%") - .getResultList(); - } - - public TaxonomyLevel loadLevelBy(TaxonomyLevel parent, String field) { - TypedQuery<TaxonomyLevel> query; - if(parent == null) { - String q = "select f from qtaxonomylevel f where f.field=:field and f.parentField is null"; - query = dbInstance.getCurrentEntityManager() - .createQuery(q, TaxonomyLevel.class); - - } else { - String q = "select f from qtaxonomylevel f where f.field=:field and f.parentField=:parent"; - query = dbInstance.getCurrentEntityManager() - .createQuery(q, TaxonomyLevel.class) - .setParameter("parent", parent); - } - List<TaxonomyLevel> fields = query - .setParameter("field", field) - .getResultList(); - if(fields.isEmpty()) { - return null; - } - return fields.get(0); - } - - - public TaxonomyLevel loadLevelById(Long key) { - List<TaxonomyLevel> fields = dbInstance.getCurrentEntityManager() - .createNamedQuery("loadTaxonomyLevelByKey", TaxonomyLevel.class) - .setParameter("key", key) - .getResultList(); - - if(fields.isEmpty()) { - return null; - } - return fields.get(0); - } - - public List<TaxonomyLevel> loadAllLevels() { - return dbInstance.getCurrentEntityManager() - .createNamedQuery("loadAllTaxonomyLevels", TaxonomyLevel.class) - .getResultList(); - } - - public List<TaxonomyLevel> loadTaxonomicPath(TaxonomyLevel parent) { - return dbInstance.getCurrentEntityManager() - .createNamedQuery("loadTaxonomicPath", TaxonomyLevel.class) - .setParameter("parentKey", parent.getKey()) - .getResultList(); - } -} diff --git a/src/main/java/org/olat/modules/qpool/model/QuestionItemImpl.java b/src/main/java/org/olat/modules/qpool/model/QuestionItemImpl.java index bf2ad730823630d2ba70c01222df8747e9630b4e..941b8deffd7eac5dca13bd1dc6f8c9ca1872acbf 100644 --- a/src/main/java/org/olat/modules/qpool/model/QuestionItemImpl.java +++ b/src/main/java/org/olat/modules/qpool/model/QuestionItemImpl.java @@ -46,7 +46,8 @@ import org.olat.core.id.Persistable; import org.olat.core.util.StringHelper; import org.olat.modules.qpool.QuestionItemFull; import org.olat.modules.qpool.QuestionStatus; -import org.olat.modules.qpool.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.model.TaxonomyLevelImpl; /** * @@ -95,7 +96,7 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI //classification @ManyToOne(targetEntity=TaxonomyLevelImpl.class) - @JoinColumn(name="fk_taxonomy_level", nullable=true, insertable=true, updatable=true) + @JoinColumn(name="fk_taxonomy_level_v2", nullable=true, insertable=true, updatable=true) private TaxonomyLevel taxonomyLevel; //educational @@ -166,11 +167,13 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI public void setKey(Long key) { this.key = key; } - + + @Override public String getResourceableTypeName() { return "QuestionItem"; } + @Override public Long getResourceableId() { return getKey(); } @@ -211,6 +214,7 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI this.description = description; } + @Override public String getCoverage() { return coverage; } @@ -219,6 +223,7 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI this.coverage = coverage; } + @Override public String getAdditionalInformations() { return additionalInformations; } @@ -239,11 +244,7 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI @Override public String getTaxonomicPath() { if(taxonomyLevel != null) { - String path = taxonomyLevel.getMaterializedPathNames(); - if(StringHelper.containsNonWhitespace(path)) { - return path + "/" + taxonomyLevel.getField(); - } - return "/" + taxonomyLevel.getField(); + return taxonomyLevel.getMaterializedPathIdentifiers(); } return null; } @@ -251,7 +252,7 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI @Override public String getTaxonomyLevelName() { if(taxonomyLevel != null) { - return taxonomyLevel.getField(); + return taxonomyLevel.getDisplayName(); } return null; } @@ -335,14 +336,8 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI public void setAssessmentType(String assessmentType) { this.assessmentType = assessmentType; } - - - - - - - + @Override public Date getCreationDate() { return creationDate; } @@ -404,8 +399,7 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI this.status = status; } - - + @Override public String getKeywords() { return keywords; } @@ -423,6 +417,7 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI return null; } + @Override public QLicense getLicense() { return license; } @@ -439,7 +434,7 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI this.ownerGroup = ownerGroup; } - + @Override public String getEditor() { return editor; } @@ -448,6 +443,7 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI this.editor = editor; } + @Override public String getEditorVersion() { return editorVersion; } @@ -456,6 +452,7 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI this.editorVersion = editorVersion; } + @Override public String getItemVersion() { return itemVersion; } @@ -464,6 +461,7 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI this.itemVersion = itemVersion; } + @Override public String getDirectory() { return directory; } @@ -472,6 +470,7 @@ public class QuestionItemImpl implements QuestionItemFull, CreateInfo, ModifiedI this.directory = directory; } + @Override public String getRootFilename() { return rootFilename; } diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyAdminController.java b/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyAdminController.java index 94dc4a5361c3e09f1d3a7f98bd46c93057642c89..f4fa014c3e4bfaf827ec3c9511b52448cc039117 100644 --- a/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyAdminController.java +++ b/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyAdminController.java @@ -34,8 +34,8 @@ import org.olat.core.gui.control.controller.BasicController; import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; import org.olat.core.util.Util; import org.olat.core.util.tree.TreeHelper; -import org.olat.modules.qpool.TaxonomyLevel; import org.olat.modules.qpool.ui.QuestionsController; +import org.olat.modules.taxonomy.TaxonomyLevel; /** * diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyLevelController.java b/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyLevelController.java index bc43784a4e058b16429794b25174adfe98886536..a0f24b453e0f7de41a4b59d7f62874fdb31fbf04 100644 --- a/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyLevelController.java +++ b/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyLevelController.java @@ -36,8 +36,8 @@ import org.olat.core.gui.control.generic.modal.DialogBoxController; import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory; import org.olat.core.util.Util; import org.olat.modules.qpool.QPoolService; -import org.olat.modules.qpool.TaxonomyLevel; import org.olat.modules.qpool.ui.QuestionsController; +import org.olat.modules.taxonomy.TaxonomyLevel; import org.springframework.beans.factory.annotation.Autowired; /** @@ -95,12 +95,12 @@ public class TaxonomyLevelController extends FormBasicController { if(taxonomyLevel != null) { String parentLine = null; if(this.taxonomyLevel != null) { - parentLine = taxonomyLevel.getMaterializedPathNames(); + parentLine = taxonomyLevel.getMaterializedPathIdentifiers(); } else { parentLine = "/"; } pathEl.setValue(parentLine); - fieldEl.setValue(taxonomyLevel.getField()); + fieldEl.setValue(taxonomyLevel.getDisplayName()); } initialPanel.setDirty(true); } @@ -147,12 +147,12 @@ public class TaxonomyLevelController extends FormBasicController { private void doConfirmDelete(UserRequest ureq) { String title = translate("delete.taxonomyLevel"); - String text = translate("delete.taxonomyLevel.confirm", new String[]{ taxonomyLevel.getField() }); + String text = translate("delete.taxonomyLevel.confirm", new String[]{ taxonomyLevel.getDisplayName() }); confirmDeleteCtrl = activateOkCancelDialog(ureq, title, text, confirmDeleteCtrl); } private void doDelete(UserRequest ureq) { - if(qpoolService.delete(taxonomyLevel)) { + if(qpoolService.deleteTaxonomyLevel(taxonomyLevel)) { showInfo("taxonomyLevel.deleted"); fireEvent(ureq, Event.CHANGED_EVENT); } else { @@ -163,7 +163,7 @@ public class TaxonomyLevelController extends FormBasicController { private void doEditLevel(UserRequest ureq) { if(taxonomyLevel == null) return; - TaxonomyLevel parentLevel = taxonomyLevel.getParentField(); + TaxonomyLevel parentLevel = taxonomyLevel.getParent(); removeAsListenerAndDispose(editCtrl); editCtrl = new TaxonomyLevelEditController(ureq, getWindowControl(), parentLevel, taxonomyLevel); listenTo(editCtrl); diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyLevelEditController.java b/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyLevelEditController.java index 735544978362c9e4e6c3cc0057b196d8dc451df3..9024ba1dcf0cb9187511729da50043cf5ffd3da0 100644 --- a/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyLevelEditController.java +++ b/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyLevelEditController.java @@ -30,8 +30,8 @@ import org.olat.core.gui.control.WindowControl; import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.modules.qpool.QPoolService; -import org.olat.modules.qpool.TaxonomyLevel; import org.olat.modules.qpool.ui.QuestionsController; +import org.olat.modules.taxonomy.TaxonomyLevel; import org.springframework.beans.factory.annotation.Autowired; /** @@ -46,6 +46,7 @@ public class TaxonomyLevelEditController extends FormBasicController { private TaxonomyLevel taxonomyLevel; private final TaxonomyLevel parentLevel; + @Autowired private QPoolService qpoolService; @@ -54,7 +55,6 @@ public class TaxonomyLevelEditController extends FormBasicController { this.parentLevel = parentLevel; this.taxonomyLevel = taxonomyLevel; - initForm(ureq); } @@ -65,23 +65,24 @@ public class TaxonomyLevelEditController extends FormBasicController { @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { - String parentLine = null; - if(parentLevel != null) { - parentLine = parentLevel.getMaterializedPathNames(); - parentLine += "/" + parentLevel.getField(); + String parentLine; + if(taxonomyLevel != null) { + parentLine = taxonomyLevel.getMaterializedPathIdentifiers(); + } else if(parentLevel != null) { + parentLine = parentLevel.getMaterializedPathIdentifiers(); } else { parentLine = "/"; } uifactory.addStaticExampleText("parentLine", "classification.taxonomy.parents", parentLine, formLayout); - String name = taxonomyLevel == null ? "" : taxonomyLevel.getField(); + String name = taxonomyLevel == null ? "" : taxonomyLevel.getDisplayName(); nameEl = uifactory.addTextElement("classification.taxonomy.level", "classification.taxonomy.level", 128, name, formLayout); FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator()); buttonsCont.setRootForm(mainForm); formLayout.add(buttonsCont); - uifactory.addFormSubmitButton("ok", "ok", buttonsCont); uifactory.addFormCancelButton("cancel", buttonsCont, ureq, getWindowControl()); + uifactory.addFormSubmitButton("ok", "ok", buttonsCont); } public TaxonomyLevel getTaxonomyLevel() { @@ -104,10 +105,10 @@ public class TaxonomyLevelEditController extends FormBasicController { @Override protected void formOK(UserRequest ureq) { if(taxonomyLevel == null) { - taxonomyLevel = qpoolService.createTaxonomyLevel(parentLevel, nameEl.getValue()); + taxonomyLevel = qpoolService.createTaxonomyLevel(parentLevel, nameEl.getValue(), nameEl.getValue()); } else { String newField = nameEl.getValue(); - taxonomyLevel = qpoolService.updateTaxonomyLevel(newField, taxonomyLevel); + taxonomyLevel = qpoolService.updateTaxonomyLevel(taxonomyLevel, newField, newField); } fireEvent(ureq, Event.DONE_EVENT); } diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyTreeModel.java b/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyTreeModel.java index b411add02dfc619047c6a5441c3a8b24fd87e126..8dbfdab537f1ad6161bab48c4a32b8690adb689c 100644 --- a/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyTreeModel.java +++ b/src/main/java/org/olat/modules/qpool/ui/admin/TaxonomyTreeModel.java @@ -27,7 +27,7 @@ import org.olat.core.CoreSpringFactory; import org.olat.core.gui.components.tree.GenericTreeModel; import org.olat.core.gui.components.tree.GenericTreeNode; import org.olat.modules.qpool.QPoolService; -import org.olat.modules.qpool.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevel; /** * @@ -57,11 +57,11 @@ public class TaxonomyTreeModel extends GenericTreeModel { Long key = field.getKey(); GenericTreeNode node = fieldKeyToNode.get(key); if(node == null) { - node = new GenericTreeNode(field.getField(), field); + node = new GenericTreeNode(field.getDisplayName(), field); fieldKeyToNode.put(key, node); } - TaxonomyLevel parentField = field.getParentField(); + TaxonomyLevel parentField = field.getParent(); if(parentField == null) { //this is a root rootNode.addChild(node); @@ -69,7 +69,7 @@ public class TaxonomyTreeModel extends GenericTreeModel { Long parentKey = parentField.getKey(); GenericTreeNode parentNode = fieldKeyToNode.get(parentKey); if(parentNode == null) { - parentNode = new GenericTreeNode(parentField.getField(), parentField); + parentNode = new GenericTreeNode(parentField.getDisplayName(), parentField); fieldKeyToNode.put(parentKey, parentNode); } parentNode.addChild(node); diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/ExtendedSearchController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/ExtendedSearchController.java index 29962b87a461ae2597d78ab3a15b29f5517932ea..f40d18c85add1aa4b2b35e6413ab8998e03bcf35 100644 --- a/src/main/java/org/olat/modules/qpool/ui/metadata/ExtendedSearchController.java +++ b/src/main/java/org/olat/modules/qpool/ui/metadata/ExtendedSearchController.java @@ -45,12 +45,12 @@ import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.core.util.nodes.INode; import org.olat.modules.qpool.QPoolService; -import org.olat.modules.qpool.TaxonomyLevel; import org.olat.modules.qpool.model.QItemDocument; import org.olat.modules.qpool.model.QLicense; import org.olat.modules.qpool.ui.QuestionsController; import org.olat.modules.qpool.ui.admin.TaxonomyTreeModel; import org.olat.modules.qpool.ui.metadata.MetaUIFactory.KeyValues; +import org.olat.modules.taxonomy.TaxonomyLevel; import org.olat.search.model.AbstractOlatDocument; import org.springframework.beans.factory.annotation.Autowired; @@ -413,7 +413,7 @@ public class ExtendedSearchController extends FormBasicController implements Ext if(child instanceof GenericTreeNode) { GenericTreeNode gChild = (GenericTreeNode)child; TaxonomyLevel level = (TaxonomyLevel)gChild.getUserObject(); - String field = level.getField(); + String field = level.getDisplayName(); keys.add(level.getKey().toString()); values.add(path + "" + field); flatTree(gChild, path + "\u00A0\u00A0\u00A0\u00A0", keys, values); diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/GeneralMetadataEditController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/GeneralMetadataEditController.java index d3cae28639c89313c64a2803ded052290eecb6fd..59fedc4281a50b5a0e5ade28a860e87c1e36faf8 100644 --- a/src/main/java/org/olat/modules/qpool/ui/metadata/GeneralMetadataEditController.java +++ b/src/main/java/org/olat/modules/qpool/ui/metadata/GeneralMetadataEditController.java @@ -39,10 +39,10 @@ import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.modules.qpool.QPoolService; import org.olat.modules.qpool.QuestionItem; -import org.olat.modules.qpool.TaxonomyLevel; import org.olat.modules.qpool.model.QuestionItemImpl; import org.olat.modules.qpool.ui.QuestionsController; import org.olat.modules.qpool.ui.events.QItemEdited; +import org.olat.modules.taxonomy.TaxonomyLevel; import org.springframework.beans.factory.annotation.Autowired; /** * @@ -133,12 +133,12 @@ public class GeneralMetadataEditController extends FormBasicController { if(selectedTaxonomicPath == null) { selectContextCont.contextPut("path", ""); } else { - String path = selectedTaxonomicPath.getMaterializedPathNames(); + String path = selectedTaxonomicPath.getMaterializedPathIdentifiers(); if(StringHelper.containsNonWhitespace(path)) { if(!path.endsWith("/")) { path += "/"; } - path += selectedTaxonomicPath.getField(); + path += selectedTaxonomicPath.getDisplayName(); } selectContextCont.contextPut("path", path); } diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/MetadataBulkChangeController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/MetadataBulkChangeController.java index 98c1de5b91e34ff3823b8409ed918ec21f4afa52..03ff679b04d640af4702d1fab5ae1264a710f237 100644 --- a/src/main/java/org/olat/modules/qpool/ui/metadata/MetadataBulkChangeController.java +++ b/src/main/java/org/olat/modules/qpool/ui/metadata/MetadataBulkChangeController.java @@ -56,12 +56,12 @@ import org.olat.core.util.Util; import org.olat.modules.qpool.QPoolService; import org.olat.modules.qpool.QuestionItem; import org.olat.modules.qpool.QuestionItemShort; -import org.olat.modules.qpool.TaxonomyLevel; import org.olat.modules.qpool.manager.MetadataConverterHelper; import org.olat.modules.qpool.model.QEducationalContext; import org.olat.modules.qpool.model.QuestionItemImpl; import org.olat.modules.qpool.ui.QuestionsController; import org.olat.modules.qpool.ui.metadata.MetaUIFactory.KeyValues; +import org.olat.modules.taxonomy.TaxonomyLevel; import org.springframework.beans.factory.annotation.Autowired; /** @@ -332,12 +332,12 @@ public class MetadataBulkChangeController extends FormBasicController { if(selectedTaxonomicPath == null) { selectContextCont.contextPut("path", ""); } else { - String path = selectedTaxonomicPath.getMaterializedPathNames(); + String path = selectedTaxonomicPath.getMaterializedPathIdentifiers(); if(StringHelper.containsNonWhitespace(path)) { if(!path.endsWith("/")) { path += "/"; } - path += selectedTaxonomicPath.getField(); + path += selectedTaxonomicPath.getDisplayName(); } selectContextCont.contextPut("path", path); } diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/TaxonomySelectionController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/TaxonomySelectionController.java index 9f8bef908b78015d30c2655f32eefcd37bd8ad06..b5612dcea40a5f7b9232520aad52303d108af128 100644 --- a/src/main/java/org/olat/modules/qpool/ui/metadata/TaxonomySelectionController.java +++ b/src/main/java/org/olat/modules/qpool/ui/metadata/TaxonomySelectionController.java @@ -30,9 +30,9 @@ 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.tree.TreeHelper; -import org.olat.modules.qpool.TaxonomyLevel; import org.olat.modules.qpool.model.QuestionItemImpl; import org.olat.modules.qpool.ui.admin.TaxonomyTreeModel; +import org.olat.modules.taxonomy.TaxonomyLevel; /** * diff --git a/src/main/java/org/olat/modules/taxonomy/Taxonomy.java b/src/main/java/org/olat/modules/taxonomy/Taxonomy.java new file mode 100644 index 0000000000000000000000000000000000000000..cb919efcf3a125618f96887e22c46ebd1a26bcbf --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/Taxonomy.java @@ -0,0 +1,60 @@ +/** + * <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.taxonomy; + +import org.olat.core.id.CreateInfo; +import org.olat.core.id.ModifiedInfo; +import org.olat.core.id.OLATResourceable; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public interface Taxonomy extends TaxonomyRef, CreateInfo, ModifiedInfo, OLATResourceable { + + public String getIdentifier(); + + public void setIdentifier(String identifier); + + public String getDisplayName(); + + public void setDisplayName(String displayName); + + public String getDescription(); + + public void setDescription(String description); + + public String getExternalId(); + + public void setExternalId(String externalId); + + public String getManagedFlagsString(); + + public TaxonomyManagedFlag[] getManagedFlags(); + + public void setManagedFlags(TaxonomyManagedFlag[] flags); + + public boolean isDocumentsLibraryEnabled(); + + public void setDocumentsLibraryEnabled(boolean documentsLibraryEnabled); + +} diff --git a/src/main/java/org/olat/modules/taxonomy/TaxonomyCompetence.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyCompetence.java new file mode 100644 index 0000000000000000000000000000000000000000..ce8de3721d5010c09d8791557fb45e08d2f392e4 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyCompetence.java @@ -0,0 +1,54 @@ +/** + * <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.taxonomy; + +import java.math.BigDecimal; +import java.util.Date; + +import org.olat.core.id.CreateInfo; +import org.olat.core.id.Identity; + +/** + * + * Initial date: 22 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public interface TaxonomyCompetence extends TaxonomyCompetenceRef, CreateInfo { + + public TaxonomyCompetenceTypes getCompetenceType(); + + public BigDecimal getReliability(); + + public BigDecimal getAchievement(); + + public Date getExpiration(); + + public String getExternalId(); + + public String getSourceText(); + + public String getSourceUrl(); + + public Identity getIdentity(); + + public TaxonomyLevel getTaxonomyLevel(); + +} diff --git a/src/main/java/org/olat/modules/taxonomy/TaxonomyCompetenceAuditLog.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyCompetenceAuditLog.java new file mode 100644 index 0000000000000000000000000000000000000000..24678479eb6cbb06ec53abae30f775339f5176a5 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyCompetenceAuditLog.java @@ -0,0 +1,54 @@ +/** + * <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.taxonomy; + +import java.util.Date; + +/** + * + * Initial date: 30 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public interface TaxonomyCompetenceAuditLog { + + public Date getCreationDate(); + + public String getAction(); + + public String getBefore(); + + public String getAfter(); + + public String getMessage(); + + public Long getTaxonomyKey(); + + public Long getTaxonomyCompetenceKey(); + + public Long getIdentityKey(); + + public Long getAuthorKey(); + + public enum Action { + addCompetence, + removeCompetence + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/TaxonomyCompetenceRef.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyCompetenceRef.java new file mode 100644 index 0000000000000000000000000000000000000000..93cf0a9ef6a423f9a353a338a949d3e0902e89e8 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyCompetenceRef.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.taxonomy; + +/** + * + * Initial date: 30 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public interface TaxonomyCompetenceRef { + + public Long getKey(); + +} diff --git a/src/main/java/org/olat/modules/taxonomy/TaxonomyCompetenceTypes.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyCompetenceTypes.java new file mode 100644 index 0000000000000000000000000000000000000000..6a11de33213235fb00a521be6b4c42c812ac8cc7 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyCompetenceTypes.java @@ -0,0 +1,35 @@ +/** + * <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.taxonomy; + +/** + * + * Initial date: 22 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public enum TaxonomyCompetenceTypes { + + target, + have, + teach, + manage + +} diff --git a/src/main/java/org/olat/modules/taxonomy/TaxonomyLevel.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevel.java new file mode 100644 index 0000000000000000000000000000000000000000..6fb2e4978afa23bd04483f1e8a3e7ec3b9749559 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevel.java @@ -0,0 +1,72 @@ +/** + * <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.taxonomy; + +import org.olat.core.id.CreateInfo; +import org.olat.core.id.ModifiedInfo; +import org.olat.core.id.OLATResourceable; + +/** + * + * Initial date: 22 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public interface TaxonomyLevel extends TaxonomyLevelRef, CreateInfo, ModifiedInfo, OLATResourceable { + + public String getIdentifier(); + + public void setIdentifier(String identifier); + + public String getDisplayName(); + + public void setDisplayName(String displayName); + + public String getDescription(); + + public void setDescription(String description); + + public String getExternalId(); + + public void setExternalId(String externalId); + + public Integer getSortOrder(); + + public void setSortOrder(Integer order); + + public String getManagedFlagsString(); + + public TaxonomyLevelManagedFlag[] getManagedFlags(); + + public void setManagedFlags(TaxonomyLevelManagedFlag[] flags); + + public String getMaterializedPathKeys(); + + public String getMaterializedPathIdentifiers(); + + public Taxonomy getTaxonomy(); + + public TaxonomyLevel getParent(); + + public TaxonomyLevelType getType(); + + public void setType(TaxonomyLevelType type); + +} diff --git a/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelManagedFlag.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelManagedFlag.java new file mode 100644 index 0000000000000000000000000000000000000000..935f6b30608ba88dee892e802290fc872559a9ae --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelManagedFlag.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.taxonomy; + +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: 16 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public enum TaxonomyLevelManagedFlag { + + all, + identifier(all), + displayName(all), + description(all), + externalId(all), + sortOrder(all), + type(all), + competences(all), + manageComptence(competences, all), + teachComptence(competences, all), + haveComptence(competences, all), + targetComptence(competences, all); + + private TaxonomyLevelManagedFlag[] parents; + private static final OLog log = Tracing.createLoggerFor(TaxonomyLevelManagedFlag.class); + public static final TaxonomyLevelManagedFlag[] EMPTY_ARRAY = new TaxonomyLevelManagedFlag[0]; + + private static TaxonomyModule taxonomyModule; + + private TaxonomyLevelManagedFlag() { + // + } + + private TaxonomyLevelManagedFlag(TaxonomyLevelManagedFlag... parents) { + if(parents == null) { + this.parents = new TaxonomyLevelManagedFlag[0]; + } else { + this.parents = parents; + } + } + + public static TaxonomyLevelManagedFlag[] toEnum(String flags) { + if(StringHelper.containsNonWhitespace(flags)) { + String[] flagArr = flags.split(","); + TaxonomyLevelManagedFlag[] flagEnums = new TaxonomyLevelManagedFlag[flagArr.length]; + + int count = 0; + for(String flag:flagArr) { + if(StringHelper.containsNonWhitespace(flag)) { + try { + TaxonomyLevelManagedFlag 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; + } else { + return EMPTY_ARRAY; + } + } + + public static String toString(TaxonomyLevelManagedFlag... flags) { + StringBuilder sb = new StringBuilder(); + if(flags != null && flags.length > 0 && flags[0] != null) { + for(TaxonomyLevelManagedFlag 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(TaxonomyLevel level, TaxonomyLevelManagedFlag marker) { + if(taxonomyModule == null) { + taxonomyModule = CoreSpringFactory.getImpl(TaxonomyModule.class); + } + if(!taxonomyModule.isManagedTaxonomyLevels()) { + return false; + } + + if(level != null && (contains(level, marker) || contains(level, marker.parents))) { + return true; + } + return false; + } + + public static boolean isManaged(TaxonomyLevelManagedFlag[] flags, TaxonomyLevelManagedFlag marker) { + if(taxonomyModule == null) { + taxonomyModule = CoreSpringFactory.getImpl(TaxonomyModule.class); + } + if(!taxonomyModule.isManagedTaxonomyLevels()) { + return false; + } + + if(flags != null && (contains(flags, marker) || contains(flags, marker.parents))) { + return true; + } + return false; + } + + private static boolean contains(TaxonomyLevel level, TaxonomyLevelManagedFlag... markers) { + if(level == null) return false; + TaxonomyLevelManagedFlag[] flags = level.getManagedFlags(); + return contains(flags, markers); + } + + private static boolean contains(TaxonomyLevelManagedFlag[] flags, TaxonomyLevelManagedFlag... markers) { + if(flags == null || flags.length == 0) return false; + + for(TaxonomyLevelManagedFlag flag:flags) { + for(TaxonomyLevelManagedFlag 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/taxonomy/TaxonomyLevelRef.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelRef.java new file mode 100644 index 0000000000000000000000000000000000000000..b242f9995a2a7cc29fe5ca8d37768b09e8554729 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelRef.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.taxonomy; + +/** + * + * Initial date: 27 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public interface TaxonomyLevelRef { + + public Long getKey(); + +} diff --git a/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelType.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelType.java new file mode 100644 index 0000000000000000000000000000000000000000..6eec7e99c09fb6721fb1cf5d957adc5e25792d21 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelType.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.taxonomy; + +import java.util.Set; + +import org.olat.core.id.CreateInfo; + +/** + * + * Initial date: 22 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public interface TaxonomyLevelType extends TaxonomyLevelTypeRef, CreateInfo { + + public String getIdentifier(); + + public void setIdentifier(String identifier); + + public String getDisplayName(); + + public void setDisplayName(String displayName); + + public String getDescription(); + + public void setDescription(String description); + + public String getExternalId(); + + public void setExternalId(String externalId); + + public String getManagedFlagsString(); + + public TaxonomyLevelTypeManagedFlag[] getManagedFlags(); + + public void setManagedFlags(TaxonomyLevelTypeManagedFlag[] flags); + + public String getCssClass(); + + public void setCssClass(String cssClass); + + public boolean isVisible(); + + public void setVisible(boolean visible); + + public boolean isDocumentsLibraryEnabled(); + + public void setDocumentsLibraryEnabled(boolean documentsLibraryEnabled); + + public boolean isDocumentsLibraryManageCompetenceEnabled(); + + public void setDocumentsLibraryManageCompetenceEnabled(boolean enable); + + public boolean isDocumentsLibraryTeachCompetenceReadEnabled(); + + public void setDocumentsLibraryTeachCompetenceReadEnabled(boolean enable); + + public int getDocumentsLibraryTeachCompetenceReadParentLevels(); + + public void setDocumentsLibraryTeachCompetenceReadParentLevels(int parentLevels); + + public boolean isDocumentsLibraryTeachCompetenceWriteEnabled(); + + public void setDocumentsLibraryTeachCompetenceWriteEnabled(boolean enable); + + public boolean isDocumentsLibraryHaveCompetenceReadEnabled(); + + public void setDocumentsLibraryHaveCompetenceReadEnabled(boolean enable); + + public boolean isDocumentsLibraryTargetCompetenceReadEnabled(); + + public void setDocumentsLibraryTargetCompetenceReadEnabled(boolean enable); + + public Taxonomy getTaxonomy(); + + public Set<TaxonomyLevelTypeToType> getAllowedTaxonomyLevelSubTypes(); + +} diff --git a/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelTypeManagedFlag.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelTypeManagedFlag.java new file mode 100644 index 0000000000000000000000000000000000000000..570f5469d7ba31dce76c9882619b5dbd52291835 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelTypeManagedFlag.java @@ -0,0 +1,150 @@ +/** + * <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.taxonomy; + +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: 25 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public enum TaxonomyLevelTypeManagedFlag { + + all, + identifier(all), + displayName(all), + description(all), + cssClass(all), + externalId(all), + visibility(all), + subTypes(all), + librarySettings(all); + + private TaxonomyLevelTypeManagedFlag[] parents; + private static final OLog log = Tracing.createLoggerFor(TaxonomyLevelTypeManagedFlag.class); + public static final TaxonomyLevelTypeManagedFlag[] EMPTY_ARRAY = new TaxonomyLevelTypeManagedFlag[0]; + + private static TaxonomyModule taxonomyModule; + + private TaxonomyLevelTypeManagedFlag() { + // + } + + private TaxonomyLevelTypeManagedFlag(TaxonomyLevelTypeManagedFlag... parents) { + if(parents == null) { + this.parents = new TaxonomyLevelTypeManagedFlag[0]; + } else { + this.parents = parents; + } + } + + public static TaxonomyLevelTypeManagedFlag[] toEnum(String flags) { + if(StringHelper.containsNonWhitespace(flags)) { + String[] flagArr = flags.split(","); + TaxonomyLevelTypeManagedFlag[] flagEnums = new TaxonomyLevelTypeManagedFlag[flagArr.length]; + + int count = 0; + for(String flag:flagArr) { + if(StringHelper.containsNonWhitespace(flag)) { + try { + TaxonomyLevelTypeManagedFlag 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; + } else { + return EMPTY_ARRAY; + } + } + + public static String toString(TaxonomyLevelTypeManagedFlag... flags) { + StringBuilder sb = new StringBuilder(); + if(flags != null && flags.length > 0 && flags[0] != null) { + for(TaxonomyLevelTypeManagedFlag 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(TaxonomyLevelType type, TaxonomyLevelTypeManagedFlag marker) { + if(taxonomyModule == null) { + taxonomyModule = CoreSpringFactory.getImpl(TaxonomyModule.class); + } + if(!taxonomyModule.isManagedTaxonomyLevels()) { + return false; + } + + if(type != null && (contains(type, marker) || contains(type, marker.parents))) { + return true; + } + return false; + } + + public static boolean isManaged(TaxonomyLevelTypeManagedFlag[] flags, TaxonomyLevelTypeManagedFlag marker) { + if(taxonomyModule == null) { + taxonomyModule = CoreSpringFactory.getImpl(TaxonomyModule.class); + } + if(!taxonomyModule.isManagedTaxonomyLevels()) { + return false; + } + + if(flags != null && (contains(flags, marker) || contains(flags, marker.parents))) { + return true; + } + return false; + } + + private static boolean contains(TaxonomyLevelType type, TaxonomyLevelTypeManagedFlag... markers) { + if(type == null) return false; + TaxonomyLevelTypeManagedFlag[] flags = type.getManagedFlags(); + return contains(flags, markers); + } + + private static boolean contains(TaxonomyLevelTypeManagedFlag[] flags, TaxonomyLevelTypeManagedFlag... markers) { + if(flags == null || flags.length == 0) return false; + + for(TaxonomyLevelTypeManagedFlag flag:flags) { + for(TaxonomyLevelTypeManagedFlag 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/taxonomy/TaxonomyLevelTypeRef.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelTypeRef.java new file mode 100644 index 0000000000000000000000000000000000000000..46a1d9ea96872b024867661e78b1b4648b02c2c7 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelTypeRef.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.taxonomy; + +/** + * + * Initial date: 2 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public interface TaxonomyLevelTypeRef { + + public Long getKey(); + +} diff --git a/src/main/java/org/olat/modules/qpool/TaxonomyLevel.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelTypeToType.java similarity index 73% rename from src/main/java/org/olat/modules/qpool/TaxonomyLevel.java rename to src/main/java/org/olat/modules/taxonomy/TaxonomyLevelTypeToType.java index 56a1e17d1de073a3d368db929b13a1b86e0f7f69..2b9ed16245bd88198b12e4fcc89e77c373273b71 100644 --- a/src/main/java/org/olat/modules/qpool/TaxonomyLevel.java +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyLevelTypeToType.java @@ -17,29 +17,20 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.modules.qpool; - -import java.util.Date; +package org.olat.modules.taxonomy; /** * - * Initial date: 20.02.2013<br> + * Initial date: 2 oct. 2017<br> * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com * */ -public interface TaxonomyLevel { +public interface TaxonomyLevelTypeToType { public Long getKey(); - - public Date getCreationDate(); - - public Date getLastModified(); - - public String getField(); - public TaxonomyLevel getParentField(); + public TaxonomyLevelType getTaxonomyLevelType(); - public String getMaterializedPathKeys(); + public TaxonomyLevelType getAllowedSubTaxonomyLevelType(); - public String getMaterializedPathNames(); } diff --git a/src/main/java/org/olat/modules/taxonomy/TaxonomyManagedFlag.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyManagedFlag.java new file mode 100644 index 0000000000000000000000000000000000000000..d65e6675ad05e7efec5bdb44202d7c22d1cb3e60 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyManagedFlag.java @@ -0,0 +1,147 @@ +/** + * <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.taxonomy; + +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: 25 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public enum TaxonomyManagedFlag { + + all, + identifier(all), + displayName(all), + description(all), + externalId(all), + librarySettings(all); + + private TaxonomyManagedFlag[] parents; + private static final OLog log = Tracing.createLoggerFor(TaxonomyManagedFlag.class); + public static final TaxonomyManagedFlag[] EMPTY_ARRAY = new TaxonomyManagedFlag[0]; + + private static TaxonomyModule taxonomyModule; + + private TaxonomyManagedFlag() { + // + } + + private TaxonomyManagedFlag(TaxonomyManagedFlag... parents) { + if(parents == null) { + this.parents = new TaxonomyManagedFlag[0]; + } else { + this.parents = parents; + } + } + + public static TaxonomyManagedFlag[] toEnum(String flags) { + if(StringHelper.containsNonWhitespace(flags)) { + String[] flagArr = flags.split(","); + TaxonomyManagedFlag[] flagEnums = new TaxonomyManagedFlag[flagArr.length]; + + int count = 0; + for(String flag:flagArr) { + if(StringHelper.containsNonWhitespace(flag)) { + try { + TaxonomyManagedFlag 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; + } else { + return EMPTY_ARRAY; + } + } + + public static String toString(TaxonomyManagedFlag... flags) { + StringBuilder sb = new StringBuilder(); + if(flags != null && flags.length > 0 && flags[0] != null) { + for(TaxonomyManagedFlag 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(Taxonomy taxonomy, TaxonomyManagedFlag marker) { + if(taxonomyModule == null) { + taxonomyModule = CoreSpringFactory.getImpl(TaxonomyModule.class); + } + if(!taxonomyModule.isManagedTaxonomyLevels()) { + return false; + } + + if(taxonomy != null && (contains(taxonomy, marker) || contains(taxonomy, marker.parents))) { + return true; + } + return false; + } + + public static boolean isManaged(TaxonomyManagedFlag[] flags, TaxonomyManagedFlag marker) { + if(taxonomyModule == null) { + taxonomyModule = CoreSpringFactory.getImpl(TaxonomyModule.class); + } + if(!taxonomyModule.isManagedTaxonomyLevels()) { + return false; + } + + if(flags != null && (contains(flags, marker) || contains(flags, marker.parents))) { + return true; + } + return false; + } + + private static boolean contains(Taxonomy taxonomy, TaxonomyManagedFlag... markers) { + if(taxonomy == null) return false; + TaxonomyManagedFlag[] flags = taxonomy.getManagedFlags(); + return contains(flags, markers); + } + + private static boolean contains(TaxonomyManagedFlag[] flags, TaxonomyManagedFlag... markers) { + if(flags == null || flags.length == 0) return false; + + for(TaxonomyManagedFlag flag:flags) { + for(TaxonomyManagedFlag 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/taxonomy/TaxonomyModule.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyModule.java new file mode 100644 index 0000000000000000000000000000000000000000..1cd8e7d44612a236c5d6819f330e4cdc17d26394 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyModule.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.taxonomy; + +import org.olat.NewControllerFactory; +import org.olat.core.configuration.AbstractSpringModule; +import org.olat.core.configuration.ConfigOnOff; +import org.olat.core.util.StringHelper; +import org.olat.core.util.coordinate.CoordinatorManager; +import org.olat.modules.taxonomy.site.TaxonomyContextEntryControllerCreator; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service +public class TaxonomyModule extends AbstractSpringModule implements ConfigOnOff { + + private static final String TAXONOMY_ENABLED = "taxonomy.enabled"; + private static final String TAXONOMY_TREE_KEY = "taxonomy.tree.key"; + + @Value("${taxonomy.enabled:true}") + private boolean enabled; + private String taxonomyTreeKey; + + @Autowired + public TaxonomyModule(CoordinatorManager coordinatorManager) { + super(coordinatorManager); + } + + @Override + public void init() { + // Add controller factory extension point to launch groups + NewControllerFactory.getInstance().addContextEntryControllerCreator("HFM", + new TaxonomyContextEntryControllerCreator()); + NewControllerFactory.getInstance().addContextEntryControllerCreator("TaxonomySite", + new TaxonomyContextEntryControllerCreator()); + NewControllerFactory.getInstance().addContextEntryControllerCreator("Taxonomy", + new TaxonomyContextEntryControllerCreator()); + + updateProperties(); + } + + @Override + protected void initFromChangedProperties() { + updateProperties(); + } + + private void updateProperties() { + String enabledObj = getStringPropertyValue(TAXONOMY_ENABLED, true); + if(StringHelper.containsNonWhitespace(enabledObj)) { + enabled = "true".equals(enabledObj); + } + + String taxonomyTreeKeyObj = getStringPropertyValue(TAXONOMY_TREE_KEY, true); + if(StringHelper.containsNonWhitespace(taxonomyTreeKeyObj)) { + taxonomyTreeKey = taxonomyTreeKeyObj; + } + } + + @Override + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + setStringProperty(TAXONOMY_ENABLED, Boolean.toString(enabled), true); + } + + public String getTaxonomyTreeKey() { + return taxonomyTreeKey; + } + + public void setTaxonomyTreeKey(String taxonomyTreeKey) { + this.taxonomyTreeKey = taxonomyTreeKey; + setStringProperty(TAXONOMY_TREE_KEY, taxonomyTreeKey, true); + } + + public boolean isManagedTaxonomyLevels() { + return true; + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/TaxonomyRef.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyRef.java new file mode 100644 index 0000000000000000000000000000000000000000..9dd200a1d12d4dcd6e413101442940e7fe8ef1c2 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyRef.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.taxonomy; + +/** + * + * Initial date: 27 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public interface TaxonomyRef { + + public Long getKey(); + +} diff --git a/src/main/java/org/olat/modules/taxonomy/TaxonomyService.java b/src/main/java/org/olat/modules/taxonomy/TaxonomyService.java new file mode 100644 index 0000000000000000000000000000000000000000..059ba632c64e84227f73d959f1d2aece51f48efe --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/TaxonomyService.java @@ -0,0 +1,186 @@ +/** + * <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.taxonomy; + +import java.util.List; + +import org.olat.basesecurity.IdentityRef; +import org.olat.core.id.Identity; +import org.olat.core.util.vfs.VFSContainer; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public interface TaxonomyService { + + public Taxonomy createTaxonomy(String identifier, String displayName, String description, String externalId); + + /** + * Reload a taxonomy + * @param ref The reference of the taxonomy + * @return A freshly loaded taxonomy with its base group + */ + public Taxonomy getTaxonomy(TaxonomyRef ref); + + public Taxonomy updateTaxonomy(Taxonomy taxonomy); + + /** + * @return The list of taxonomy trees available in the system. + */ + public List<Taxonomy> getRootTaxonomyList(); + + + public TaxonomyLevel createTaxonomyLevel(String identifier, String displayName, String description, String externalId, + TaxonomyLevelManagedFlag[] flags, TaxonomyLevel parent, Taxonomy taxonomy); + + /** + * @param ref The root taxonomy (optional) + * @return A list of levels + */ + public List<TaxonomyLevel> getTaxonomyLevels(TaxonomyRef ref); + + public TaxonomyLevel getTaxonomyLevel(TaxonomyLevelRef ref); + + public List<TaxonomyLevel> getTaxonomyLevelParentLine(TaxonomyLevel taxonomyLevel, Taxonomy taxonomy); + + public TaxonomyLevel updateTaxonomyLevel(TaxonomyLevel level); + + + public VFSContainer getDocumentsLibrary(TaxonomyLevel level); + + public VFSContainer getDocumentsLibrary(Taxonomy taxonomy); + + public VFSContainer getTaxonomyInfoPageContainer(Taxonomy taxonomy); + + + + public TaxonomyLevelType createTaxonomyLevelType(String identifier, String displayName, String description, String externalId, Taxonomy taxonomy); + + public TaxonomyLevelType getTaxonomyLevelType(TaxonomyLevelTypeRef ref); + + public TaxonomyLevelType updateTaxonomyLevelType(TaxonomyLevelType levelType); + + public TaxonomyLevelType updateTaxonomyLevelType(TaxonomyLevelType levelType, List<TaxonomyLevelType> allowSubTypes); + + /** + * Add directly an allowed taxonomy level type to the specified taxonomy level type. + * @param levelType The taxonomy level type to enhance + * @param allowSubType The taxonomy level type to allow + */ + public void taxonomyLevelTypeAllowSubType(TaxonomyLevelType levelType, TaxonomyLevelType allowSubType); + + /** + * Remove directly an allowed sub type. + * + * @param levelType The parent taxonomy level type + * @param disallowSubType The taxonomy level type to remove from the allowed list + */ + public void taxonomyLevelTypeDisallowSubType(TaxonomyLevelType levelType, TaxonomyLevelType disallowSubType); + + /** + * The available types for a specific taxonomy. + * + * @param taxonomy The taxonomy (mandatory) + * @return A list of taxonomy level types + */ + public List<TaxonomyLevelType> getTaxonomyLevelTypes(TaxonomyRef taxonomy); + + /** + * Has some competence in a taxonomy. + * + * @param taxonomy The taxonomy (mandatory) + * @return true if some competence was found. + */ + public boolean hasTaxonomyCompetences(TaxonomyRef taxonomy, IdentityRef identity); + + + public TaxonomyCompetence getTaxonomyCompetence(TaxonomyCompetenceRef competence); + + public List<TaxonomyCompetence> getTaxonomyCompetences(IdentityRef identity, TaxonomyCompetenceTypes... types); + + /** + * Get the competences in a taxonomy tree of the specified user. + * + * @param taxonomy The taxonomy (mandatory) + * @return true if some competence was found. + */ + public List<TaxonomyCompetence> getTaxonomyCompetences(TaxonomyRef taxonomy, IdentityRef identity); + + /** + * @param taxonomy The taxonomy (mandatory) + * @param identity The user to check (mandatory) + * @param competences The list of competences to search + * @return true if the user has some of the specified competence in the taxonomy tree + */ + public boolean hasCompetence(TaxonomyRef taxonomy, IdentityRef identity, TaxonomyCompetenceTypes... competences); + + /** + * The competence at a specified level of the taxonomy tree. + * @param taxonomyLevel The taxonomy level (mandatory) + * @return A list of competences + */ + public List<TaxonomyCompetence> getTaxonomyLevelCompetences(TaxonomyLevel taxonomyLevel); + + /** + * The competences at a specific level for the specified user. + * + * @param taxonomyLevel The taxonomy level (mandatory) + * @param identity The user (mandatory) + * @return A list of taxonomy competences + */ + public List<TaxonomyCompetence> getTaxonomyLevelCompetences(TaxonomyLevelRef taxonomyLevel, IdentityRef identity); + + /** + * Add a specific competence to a user. + * + * @param taxonomyLevel + * @param identities + * @param comptence + */ + public TaxonomyCompetence addTaxonomyLevelCompetences(TaxonomyLevel taxonomyLevel, Identity identity, TaxonomyCompetenceTypes competence); + + /** + * Delete the competence + * + * @param competence The competence to remove + */ + public void removeTaxonomyLevelCompetence(TaxonomyCompetence competence); + + /** + * + * @param action + * @param before + * @param after + * @param message + * @param taxonomy + * @param competence + * @param assessedIdentity + * @param author + */ + public void auditLog(TaxonomyCompetenceAuditLog.Action action, String before, String after, String message, + TaxonomyRef taxonomy, TaxonomyCompetence competence, + IdentityRef assessedIdentity, IdentityRef author); + + public String toAuditXml(TaxonomyCompetence competence); + +} diff --git a/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyAllTreesBuilder.java b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyAllTreesBuilder.java new file mode 100644 index 0000000000000000000000000000000000000000..5bc509b4676a5e2b3ff4fc579f146502bfb2eef2 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyAllTreesBuilder.java @@ -0,0 +1,103 @@ +/** + * <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.taxonomy.manager; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.olat.core.CoreSpringFactory; +import org.olat.core.gui.components.tree.GenericTreeModel; +import org.olat.core.gui.components.tree.GenericTreeNode; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyService; + +/** + * + * Initial date: 27 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyAllTreesBuilder { + + public static final String ROOT = "root"; + public static final String LEVEL_PREFIX = "level-"; + + private final TaxonomyService taxonomyService; + + public TaxonomyAllTreesBuilder() { + taxonomyService = CoreSpringFactory.getImpl(TaxonomyService.class); + } + + public GenericTreeModel buildTreeModel() { + GenericTreeModel taxonomyTreesModel = new GenericTreeModel(); + loadTreeModel(taxonomyTreesModel); + return taxonomyTreesModel; + } + + public void loadTreeModel(GenericTreeModel taxonomyTreesModel) { + List<Taxonomy> taxonomyList = taxonomyService.getRootTaxonomyList(); + GenericTreeNode rootNode = new GenericTreeNode("Root", ROOT); + taxonomyTreesModel.setRootNode(rootNode); + Map<Taxonomy, GenericTreeNode> rootNodesMap = new HashMap<>(); + for(Taxonomy taxonomy:taxonomyList) { + GenericTreeNode node = new GenericTreeNode("taxonomy-" + taxonomy.getKey()); + node.setTitle(taxonomy.getDisplayName()); + node.setIconCssClass("o_icon_taxonomy"); + node.setUserObject(taxonomy); + rootNode.addChild(node); + rootNodesMap.put(taxonomy, node); + } + + List<TaxonomyLevel> taxonomyLevels = taxonomyService.getTaxonomyLevels(null); + Map<Long,GenericTreeNode> fieldKeyToNode = new HashMap<Long, GenericTreeNode>(); + for(TaxonomyLevel taxonomyLevel:taxonomyLevels) { + Long key = taxonomyLevel.getKey(); + GenericTreeNode node = fieldKeyToNode.get(key); + if(node == null) { + node = new GenericTreeNode(LEVEL_PREFIX + taxonomyLevel.getKey()); + node.setTitle(taxonomyLevel.getDisplayName()); + node.setIconCssClass("o_icon_taxonomy_level"); + node.setUserObject(taxonomyLevel); + fieldKeyToNode.put(key, node); + } + + TaxonomyLevel parentLevel = taxonomyLevel.getParent(); + if(parentLevel == null) { + //this is a root + GenericTreeNode taxonomyNode = rootNodesMap.get(taxonomyLevel.getTaxonomy()); + taxonomyNode.addChild(node); + } else { + Long parentKey = parentLevel.getKey(); + GenericTreeNode parentNode = fieldKeyToNode.get(parentKey); + if(parentNode == null) { + parentNode = new GenericTreeNode("level-" + parentLevel.getKey()); + parentNode.setTitle(parentLevel.getDisplayName()); + parentNode.setIconCssClass("o_icon_taxonomy_level"); + parentNode.setUserObject(parentLevel); + fieldKeyToNode.put(parentKey, parentNode); + } + parentNode.addChild(node); + } + } + } + +} diff --git a/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyCompetenceAuditLogDAO.java b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyCompetenceAuditLogDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..1e0c1c651cb44bd3f92a89e37a21b9934693421a --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyCompetenceAuditLogDAO.java @@ -0,0 +1,89 @@ +/** + * <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.taxonomy.manager; + +import java.util.Date; + +import org.olat.basesecurity.IdentityRef; +import org.olat.core.commons.persistence.DB; +import org.olat.core.util.xml.XStreamHelper; +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceAuditLog; +import org.olat.modules.taxonomy.TaxonomyRef; +import org.olat.modules.taxonomy.model.TaxonomyCompetenceAuditLogImpl; +import org.olat.modules.taxonomy.model.TaxonomyCompetenceImpl; +import org.olat.modules.taxonomy.model.TaxonomyLevelImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.thoughtworks.xstream.XStream; + +/** + * + * Initial date: 30 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service +public class TaxonomyCompetenceAuditLogDAO { + + private static final XStream competenceXStream = XStreamHelper.createXStreamInstanceForDBObjects(); + static { + competenceXStream.alias("competence", TaxonomyCompetenceImpl.class); + competenceXStream.alias("taxonomyLevel", TaxonomyLevelImpl.class); + competenceXStream.ignoreUnknownElements(); + competenceXStream.omitField(TaxonomyCompetenceImpl.class, "identity"); + competenceXStream.omitField(TaxonomyCompetenceImpl.class, "lastModified"); + competenceXStream.omitField(TaxonomyCompetenceImpl.class, "taxonomy"); + competenceXStream.omitField(TaxonomyLevelImpl.class, "taxonomy"); + } + + @Autowired + private DB dbInstance; + + public void auditLog(TaxonomyCompetenceAuditLog.Action action, String before, String after, String message, + TaxonomyRef taxonomy, TaxonomyCompetence competence, + IdentityRef assessedIdentity, IdentityRef author) { + TaxonomyCompetenceAuditLogImpl auditLog = new TaxonomyCompetenceAuditLogImpl(); + auditLog.setCreationDate(new Date()); + auditLog.setAction(action.name()); + auditLog.setBefore(before); + auditLog.setAfter(after); + auditLog.setMessage(message); + if(taxonomy != null) { + auditLog.setTaxonomyKey(taxonomy.getKey()); + } + if(competence != null) { + auditLog.setTaxonomyCompetenceKey(competence.getKey()); + } + if(assessedIdentity != null) { + auditLog.setIdentityKey(assessedIdentity.getKey()); + } + if(author != null) { + auditLog.setAuthorKey(author.getKey()); + } + dbInstance.getCurrentEntityManager().persist(auditLog); + } + + public String toXml(TaxonomyCompetence competence) { + if(competence == null) return null; + return competenceXStream.toXML(competence); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyCompetenceDAO.java b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyCompetenceDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..c7d6bc850dddddc7773c8341984e6929008953b8 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyCompetenceDAO.java @@ -0,0 +1,204 @@ +/** + * <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.taxonomy.manager; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import javax.persistence.FlushModeType; +import javax.persistence.TypedQuery; + +import org.olat.basesecurity.IdentityRef; +import org.olat.core.commons.persistence.DB; +import org.olat.core.id.Identity; +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevelRef; +import org.olat.modules.taxonomy.TaxonomyRef; +import org.olat.modules.taxonomy.model.TaxonomyCompetenceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 22 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service +public class TaxonomyCompetenceDAO { + + @Autowired + private DB dbInstance; + + public TaxonomyCompetence createTaxonomyCompetence(TaxonomyCompetenceTypes type, TaxonomyLevel taxonomyLevel, Identity identity) { + TaxonomyCompetenceImpl competence = new TaxonomyCompetenceImpl(); + competence.setCreationDate(new Date()); + competence.setLastModified(competence.getCreationDate()); + competence.setType(type.name()); + competence.setTaxonomyLevel(taxonomyLevel); + competence.setIdentity(identity); + dbInstance.getCurrentEntityManager().persist(competence); + return competence; + } + + public TaxonomyCompetence loadCompetenceByKey(Long key) { + StringBuilder sb = new StringBuilder(256); + sb.append("select competence from ctaxonomycompetence competence") + .append(" left join fetch competence.identity ident") + .append(" left join fetch competence.taxonomyLevel taxonomyLevel") + .append(" where competence.key=:competenceKey"); + + List<TaxonomyCompetence> competences = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), TaxonomyCompetence.class) + .setParameter("competenceKey", key) + .getResultList(); + return competences == null || competences.isEmpty() ? null : competences.get(0); + } + + public List<TaxonomyCompetence> getCompetenceByLevel(TaxonomyLevelRef taxonomyLevel) { + StringBuilder sb = new StringBuilder(256); + sb.append("select competence from ctaxonomycompetence competence") + .append(" inner join fetch competence.identity ident") + .append(" inner join fetch competence.taxonomyLevel taxonomyLevel") + .append(" where taxonomyLevel.key=:taxonomyLevelKey"); + + return dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), TaxonomyCompetence.class) + .setParameter("taxonomyLevelKey", taxonomyLevel.getKey()) + .getResultList(); + } + + public List<TaxonomyCompetence> getCompetences(IdentityRef identity, TaxonomyCompetenceTypes... competenceTypes) { + List<String> typeList = new ArrayList<>(4); + if(competenceTypes != null && competenceTypes.length > 0 && competenceTypes[0] != null) { + for(TaxonomyCompetenceTypes competenceType: competenceTypes) { + if(competenceType != null) { + typeList.add(competenceType.name()); + } + } + } + + StringBuilder sb = new StringBuilder(256); + sb.append("select competence from ctaxonomycompetence competence") + .append(" inner join competence.identity ident") + .append(" inner join fetch competence.taxonomyLevel taxonomyLevel") + .append(" inner join fetch taxonomyLevel.taxonomy taxonomy") + .append(" where ident.key=:identityKey"); + if(typeList.size() > 0) { + sb.append(" and competence.type in (:types)"); + } + + TypedQuery<TaxonomyCompetence> query = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), TaxonomyCompetence.class) + .setParameter("identityKey", identity.getKey()); + if(typeList.size() > 0) { + query.setParameter("types", typeList); + } + return query.getResultList(); + } + + public List<TaxonomyCompetence> getCompetenceByLevel(TaxonomyLevelRef taxonomyLevel, IdentityRef identity) { + StringBuilder sb = new StringBuilder(256); + sb.append("select competence from ctaxonomycompetence competence") + .append(" inner join fetch competence.identity ident") + .append(" inner join fetch competence.taxonomyLevel taxonomyLevel") + .append(" where taxonomyLevel.key=:taxonomyLevelKey and ident.key=:identityKey"); + + return dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), TaxonomyCompetence.class) + .setParameter("taxonomyLevelKey", taxonomyLevel.getKey()) + .setParameter("identityKey", identity.getKey()) + .getResultList(); + } + + public boolean hasCompetenceByTaxonomy(TaxonomyRef taxonomy, IdentityRef identity) { + StringBuilder sb = new StringBuilder(256); + sb.append("select competence.key from ctaxonomycompetence competence") + .append(" inner join competence.identity ident") + .append(" inner join competence.taxonomyLevel taxonomyLevel") + .append(" inner join taxonomyLevel.taxonomy taxonomy") + .append(" where taxonomy.key=:taxonomyKey and ident.key=:identityKey"); + + List<Long> competenceKeys = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), Long.class) + .setFlushMode(FlushModeType.COMMIT)//don't flush for this query + .setParameter("taxonomyKey", taxonomy.getKey()) + .setParameter("identityKey", identity.getKey()) + .setFirstResult(0) + .setMaxResults(1) + .getResultList(); + return competenceKeys != null && competenceKeys.size() > 0 + && competenceKeys.get(0) != null && competenceKeys.get(0).longValue() > 0; + } + + public List<TaxonomyCompetence> getCompetenceByTaxonomy(TaxonomyRef taxonomy, IdentityRef identity) { + StringBuilder sb = new StringBuilder(256); + sb.append("select competence from ctaxonomycompetence competence") + .append(" inner join competence.identity ident") + .append(" inner join fetch competence.taxonomyLevel taxonomyLevel") + .append(" where taxonomyLevel.taxonomy.key=:taxonomyKey and ident.key=:identityKey"); + + return dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), TaxonomyCompetence.class) + .setFlushMode(FlushModeType.COMMIT)//don't flush for this query + .setParameter("taxonomyKey", taxonomy.getKey()) + .setParameter("identityKey", identity.getKey()) + .getResultList(); + } + + public boolean hasCompetenceByTaxonomy(TaxonomyRef taxonomy, IdentityRef identity, TaxonomyCompetenceTypes... competences) { + List<String> competenceList = new ArrayList<>(5); + if(competences != null && competences.length > 0 && competences[0] != null) { + for(TaxonomyCompetenceTypes competence:competences) { + competenceList.add(competence.name()); + } + } + + StringBuilder sb = new StringBuilder(256); + sb.append("select competence.key from ctaxonomycompetence competence") + .append(" inner join competence.taxonomyLevel taxonomyLevel") + .append(" where taxonomyLevel.taxonomy.key=:taxonomyKey and competence.identity.key=:identityKey"); + if(competenceList.size() > 0) { + sb.append(" and competence.type in (:types)"); + } + + TypedQuery<Long> query = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), Long.class) + .setParameter("taxonomyKey", taxonomy.getKey()) + .setParameter("identityKey", identity.getKey()) + .setFirstResult(0) + .setMaxResults(1); + if(competenceList.size() > 0) { + query.setParameter("types", competenceList); + } + + List<Long> keys = query.getResultList(); + return keys != null && keys.size() > 0 && keys.get(0) != null && keys.get(0).intValue() > 0; + } + + public void deleteCompetence(TaxonomyCompetence competence) { + TaxonomyCompetence reloadedCompetence = dbInstance.getCurrentEntityManager() + .getReference(TaxonomyCompetenceImpl.class, competence.getKey()); + dbInstance.getCurrentEntityManager().remove(reloadedCompetence); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyDAO.java b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..3b86a60cb13d0de3dfd5b716bc976cfe7c7eacd5 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyDAO.java @@ -0,0 +1,128 @@ +/** + * <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.taxonomy.manager; + +import java.io.File; +import java.nio.file.Path; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +import org.olat.basesecurity.Group; +import org.olat.basesecurity.manager.GroupDAO; +import org.olat.core.commons.modules.bc.FolderConfig; +import org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl; +import org.olat.core.commons.persistence.DB; +import org.olat.core.util.StringHelper; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.model.TaxonomyImpl; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service +public class TaxonomyDAO implements InitializingBean{ + + private File rootDirectory, taxonomyDirectory; + + @Autowired + private DB dbInstance; + @Autowired + private GroupDAO groupDao; + + @Override + public void afterPropertiesSet() { + File bcrootDirectory = new File(FolderConfig.getCanonicalRoot()); + rootDirectory = new File(bcrootDirectory, "taxonomy"); + taxonomyDirectory = new File(rootDirectory, "taxonomy"); + if(!taxonomyDirectory.exists()) { + taxonomyDirectory.mkdirs(); + } + } + + public Taxonomy createTaxonomy(String identifier, String displayName, String description, String externalId) { + TaxonomyImpl taxonomy = new TaxonomyImpl(); + taxonomy.setCreationDate(new Date()); + taxonomy.setLastModified(taxonomy.getCreationDate()); + if(StringHelper.containsNonWhitespace(identifier)) { + taxonomy.setIdentifier(identifier); + } else { + taxonomy.setIdentifier(UUID.randomUUID().toString()); + } + taxonomy.setDisplayName(displayName); + taxonomy.setDescription(description); + taxonomy.setExternalId(externalId); + taxonomy.setDocumentsLibraryEnabled(true); + Group group = groupDao.createGroup(); + taxonomy.setGroup(group); + dbInstance.getCurrentEntityManager().persist(taxonomy); + String storage = createStorage(taxonomy, "directory"); + taxonomy.setDirectoryPath(storage); + String infoStorage = createStorage(taxonomy, "infopage"); + taxonomy.setDirectoryInfoPagePath(infoStorage); + taxonomy = dbInstance.getCurrentEntityManager().merge(taxonomy); + taxonomy.getGroup(); + return taxonomy; + } + + public Taxonomy loadByKey(Long key) { + List<Taxonomy> taxonomies = dbInstance.getCurrentEntityManager() + .createNamedQuery("loadTaxonomyByKey", Taxonomy.class) + .setParameter("taxonomyKey", key) + .getResultList(); + return taxonomies == null || taxonomies.isEmpty() ? null : taxonomies.get(0); + } + + public Taxonomy updateTaxonomy(Taxonomy taxonomy) { + ((TaxonomyImpl)taxonomy).setLastModified(new Date()); + return dbInstance.getCurrentEntityManager().merge(taxonomy); + } + + public List<Taxonomy> getTaxonomyList() { + return dbInstance.getCurrentEntityManager() + .createNamedQuery("loadAllTaxonomy", Taxonomy.class) + .getResultList(); + } + + public String createStorage(Taxonomy taxonomy, String type) { + File storage = new File(taxonomyDirectory, taxonomy.getKey().toString()); + File directory = new File(storage, type); + Path relativePath = rootDirectory.toPath().relativize(directory.toPath()); + String relativePathString = relativePath.toString(); + return relativePathString; + } + + public VFSContainer getDocumentsLibrary(Taxonomy taxonomy) { + String path = ((TaxonomyImpl)taxonomy).getDirectoryPath(); + return new OlatRootFolderImpl(path, null); + } + + public VFSContainer getTaxonomyInfoPageContainer(Taxonomy taxonomy) { + String path = ((TaxonomyImpl)taxonomy).getDirectoryInfoPagePath(); + return new OlatRootFolderImpl(path, null); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyDocumentsLibraryNotificationsHandler.java b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyDocumentsLibraryNotificationsHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..0fe7428a254dc2d600f0a373818baafa30c24b54 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyDocumentsLibraryNotificationsHandler.java @@ -0,0 +1,200 @@ +/** + * <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.taxonomy.manager; + +import java.util.Date; +import java.util.List; +import java.util.Locale; + +import org.olat.basesecurity.BaseSecurity; +import org.olat.core.commons.modules.bc.FileInfo; +import org.olat.core.commons.modules.bc.FolderManager; +import org.olat.core.commons.modules.bc.meta.MetaInfo; +import org.olat.core.commons.services.notifications.NotificationHelper; +import org.olat.core.commons.services.notifications.NotificationsHandler; +import org.olat.core.commons.services.notifications.NotificationsManager; +import org.olat.core.commons.services.notifications.Publisher; +import org.olat.core.commons.services.notifications.PublisherData; +import org.olat.core.commons.services.notifications.Subscriber; +import org.olat.core.commons.services.notifications.SubscriptionContext; +import org.olat.core.commons.services.notifications.SubscriptionInfo; +import org.olat.core.commons.services.notifications.model.SubscriptionListItem; +import org.olat.core.commons.services.notifications.model.TitleItem; +import org.olat.core.gui.components.tree.TreeModel; +import org.olat.core.gui.translator.Translator; +import org.olat.core.id.Identity; +import org.olat.core.id.Roles; +import org.olat.core.id.context.BusinessControlFactory; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; +import org.olat.core.util.FileUtils; +import org.olat.core.util.StringHelper; +import org.olat.core.util.Util; +import org.olat.core.util.nodes.INode; +import org.olat.core.util.tree.TreeVisitor; +import org.olat.core.util.tree.Visitor; +import org.olat.core.util.vfs.OlatRelPathImpl; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyRef; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.model.TaxonomyRefImpl; +import org.olat.modules.taxonomy.model.TaxonomyTreeNode; +import org.olat.modules.taxonomy.ui.TaxonomyMainController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 20 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service +public class TaxonomyDocumentsLibraryNotificationsHandler implements NotificationsHandler { + + private static final OLog log = Tracing.createLoggerFor(TaxonomyDocumentsLibraryNotificationsHandler.class); + public static final String TYPE_NAME = "TaxonomyLibrary"; + + @Autowired + private BaseSecurity securityManager; + @Autowired + private TaxonomyService taxonomyService; + @Autowired + private NotificationsManager notificationsManager; + + @Override + public String getType() { + return TYPE_NAME; + } + + public PublisherData getTaxonomyDocumentsLibraryPublisherData(TaxonomyRef taxonomy) { + String businessPath = "[Taxonomy:" + taxonomy.getKey() + "]"; + return new PublisherData(TaxonomyDocumentsLibraryNotificationsHandler.TYPE_NAME, String.valueOf(taxonomy.getKey()), businessPath); + } + + public SubscriptionContext getTaxonomyDocumentsLibrarySubscriptionContext(TaxonomyRef taxonomy) { + return new SubscriptionContext(TaxonomyDocumentsLibraryNotificationsHandler.TYPE_NAME, taxonomy.getKey(), TaxonomyDocumentsLibraryNotificationsHandler.TYPE_NAME); + } + + @Override + public SubscriptionInfo createSubscriptionInfo(Subscriber subscriber, Locale locale, Date compareDate) { + Publisher p = subscriber.getPublisher(); + Date latestNews = p.getLatestNewsDate(); + + try { + SubscriptionInfo si; + if (notificationsManager.isPublisherValid(p) && compareDate.before(latestNews)) { + Taxonomy taxonomy = taxonomyService.getTaxonomy(new TaxonomyRefImpl(p.getResId())); + if(taxonomy == null) { + return notificationsManager.getNoSubscriptionInfo(); + } + + Identity identity = subscriber.getIdentity(); + Roles roles = securityManager.getRoles(identity); + boolean isTaxonomyAdmin = roles.isOLATAdmin(); + + TaxonomyTreeBuilder builder = new TaxonomyTreeBuilder(taxonomy, identity, null, isTaxonomyAdmin); + TreeModel model = builder.buildTreeModel(); + Translator translator = Util.createPackageTranslator(TaxonomyMainController.class, locale); + si = new SubscriptionInfo(subscriber.getKey(), p.getType(), getTitleItemForPublisher(p), null); + + new TreeVisitor(new Visitor() { + @Override + public void visit(INode node) { + TaxonomyTreeNode tNode = (TaxonomyTreeNode)node; + if(tNode.getTaxonomyLevel() != null && tNode.isDocumentsLibraryEnabled() && tNode.isCanRead()) { + VFSContainer container = taxonomyService.getDocumentsLibrary(tNode.getTaxonomyLevel()); + List<FileInfo> fInfos = FolderManager.getFileInfos(((OlatRelPathImpl)container).getRelPath(), compareDate); + + String prefixBusinessPath = "[Taxonomy:" + taxonomy.getKey() + "][TaxonomyLevel:" + tNode.getTaxonomyLevel().getKey() + "][path="; + for (FileInfo infos:fInfos) { + String title = infos.getRelPath(); + + // don't show changes in meta-directories. first quick check + // for any dot files and then compare with our black list of + // known exclude prefixes + if (title != null && title.indexOf("/.") != -1 && FileUtils.isMetaFilename(title)) { + // skip this file, continue with next item in folder + continue; + } + MetaInfo metaInfo = infos.getMetaInfo(); + String iconCssClass = null; + if (metaInfo != null) { + if (metaInfo.getTitle() != null) { + title += " (" + metaInfo.getTitle() + ")"; + } + iconCssClass = metaInfo.getIconCssClass(); + } + Identity ident = infos.getAuthor(); + Date modDate = infos.getLastModified(); + + String desc = translator.translate("notifications.document.entry", new String[] { title, NotificationHelper.getFormatedName(ident) }); + String urlToSend = null; + String businessPath = null; + if(p.getBusinessPath() != null) { + businessPath = prefixBusinessPath + infos.getRelPath() + "]"; + urlToSend = BusinessControlFactory.getInstance().getURLFromBusinessPathString(businessPath); + } + si.addSubscriptionListItem(new SubscriptionListItem(desc, urlToSend, businessPath, modDate, iconCssClass)); + } + } + } + }, model.getRootNode(), false).visitAll(); + } else { + si = NotificationsManager.getInstance().getNoSubscriptionInfo(); + } + return si; + } catch (Exception e) { + log.error("Error creating task notifications for subscriber: " + subscriber.getKey(), e); + return notificationsManager.getNoSubscriptionInfo(); + } + } + + @Override + public String createTitleInfo(Subscriber subscriber, Locale locale) { + TitleItem title = getTitleItemForPublisher(subscriber.getPublisher()); + return title.getInfoContent("text/plain"); + } + + /** + * It returns a TitleItem instance for the given Publisher p if you already + * have a reference to the taxonomy, use + * <code>getTitleItemForTaxonomy(Taxonomy taxonomy)</code> + * + * @param p The publisher + * @return The title + */ + private TitleItem getTitleItemForPublisher(Publisher p) { + Taxonomy taxonomy = taxonomyService.getTaxonomy(new TaxonomyRefImpl(p.getResId())); + return getTitleItemForTaxonomy(taxonomy); + } + + /** + * It returns a TitleItem instance for the given taxonomy. + * + * @param taxonomy The taxonomy + * @return The title + */ + private TitleItem getTitleItemForTaxonomy(Taxonomy taxonomy) { + String title = StringHelper.escapeHtml(taxonomy.getDisplayName()); + return new TitleItem(title, "o_icon_taxonomy"); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyLevelDAO.java b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyLevelDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..fc10109c651e088e635d4ecfb4c4ee0fa81b6c47 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyLevelDAO.java @@ -0,0 +1,222 @@ +/** + * <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.taxonomy.manager; + +import java.io.File; +import java.nio.file.Path; +import java.util.Comparator; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +import javax.persistence.TypedQuery; + +import org.olat.core.commons.modules.bc.FolderConfig; +import org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl; +import org.olat.core.commons.persistence.DB; +import org.olat.core.util.StringHelper; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevelManagedFlag; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyRef; +import org.olat.modules.taxonomy.model.TaxonomyLevelImpl; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import edu.emory.mathcs.backport.java.util.Collections; + +/** + * + * Initial date: 22 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service +public class TaxonomyLevelDAO implements InitializingBean { + + private File rootDirectory, taxonomyLevelDirectory; + + @Autowired + private DB dbInstance; + + @Override + public void afterPropertiesSet() { + File bcrootDirectory = new File(FolderConfig.getCanonicalRoot()); + rootDirectory = new File(bcrootDirectory, "taxonomy"); + taxonomyLevelDirectory = new File(rootDirectory, "levels"); + if(!taxonomyLevelDirectory.exists()) { + taxonomyLevelDirectory.mkdirs(); + } + } + + public TaxonomyLevel createTaxonomyLevel(String identifier, String displayName, String description, + String externalId, TaxonomyLevelManagedFlag[] flags, + TaxonomyLevel parent, TaxonomyLevelType type, Taxonomy taxonomy) { + TaxonomyLevelImpl level = new TaxonomyLevelImpl(); + level.setCreationDate(new Date()); + level.setLastModified(level.getCreationDate()); + level.setEnabled(true); + if(StringHelper.containsNonWhitespace(identifier)) { + level.setIdentifier(identifier); + } else { + level.setIdentifier(UUID.randomUUID().toString()); + } + level.setManagedFlagsString(TaxonomyLevelManagedFlag.toString(flags)); + level.setDisplayName(displayName); + level.setDescription(description); + level.setExternalId(externalId); + level.setTaxonomy(taxonomy); + level.setType(type); + + dbInstance.getCurrentEntityManager().persist(level); + String storage = createLevelStorage(taxonomy, level); + level.setDirectoryPath(storage); + + if(parent != null) { + level.setParent(parent); + + String parentPathOfKeys = ((TaxonomyLevelImpl)parent).getMaterializedPathKeys(); + if(parentPathOfKeys == null || "/".equals(parentPathOfKeys)) { + parentPathOfKeys = ""; + } + String parentPathOfIdentifiers = ((TaxonomyLevelImpl)parent).getMaterializedPathIdentifiers(); + if(parentPathOfIdentifiers == null || "/".equals(parentPathOfIdentifiers)) { + parentPathOfIdentifiers = ""; + } + + level.setMaterializedPathKeys(parentPathOfKeys + level.getKey() + "/"); + level.setMaterializedPathIdentifiers(parentPathOfIdentifiers + level.getIdentifier() + "/"); + } else { + level.setMaterializedPathKeys("/" + level.getKey() + "/"); + level.setMaterializedPathIdentifiers("/" + level.getIdentifier() + "/"); + } + + level = dbInstance.getCurrentEntityManager().merge(level); + level.getTaxonomy(); + return level; + } + + public TaxonomyLevel loadByKey(Long key) { + List<TaxonomyLevel> levels = dbInstance.getCurrentEntityManager() + .createNamedQuery("loadTaxonomyLevelsByKey", TaxonomyLevel.class) + .setParameter("levelKey", key) + .getResultList(); + return levels == null || levels.isEmpty() ? null : levels.get(0); + } + + public List<TaxonomyLevel> getLevels(TaxonomyRef taxonomy) { + StringBuilder sb = new StringBuilder(256); + sb.append("select level from ctaxonomylevel as level") + .append(" left join fetch level.parent as parent") + .append(" left join fetch level.type as type") + .append(" inner join fetch level.taxonomy as taxonomy"); + if(taxonomy != null) { + sb.append(" where level.taxonomy.key=:taxonomyKey"); + } + + TypedQuery<TaxonomyLevel> query = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), TaxonomyLevel.class); + if(taxonomy != null) { + query.setParameter("taxonomyKey", taxonomy.getKey()); + } + return query.getResultList(); + } + + public List<TaxonomyLevel> getLevelsByExternalId(TaxonomyRef taxonomy, String externalId) { + StringBuilder sb = new StringBuilder(256); + sb.append("select level from ctaxonomylevel as level") + .append(" left join fetch level.parent as parent") + .append(" left join fetch level.type as type") + .append(" inner join fetch level.taxonomy as taxonomy") + .append(" where level.taxonomy.key=:taxonomyKey and level.externalId=:externalId"); + + return dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), TaxonomyLevel.class) + .setParameter("taxonomyKey", taxonomy.getKey()) + .setParameter("externalId", externalId) + .getResultList(); + } + + public List<TaxonomyLevel> getLevelsByDisplayName(TaxonomyRef taxonomy, String displayName) { + StringBuilder sb = new StringBuilder(256); + sb.append("select level from ctaxonomylevel as level") + .append(" left join fetch level.parent as parent") + .append(" left join fetch level.type as type") + .append(" inner join fetch level.taxonomy as taxonomy") + .append(" where level.taxonomy.key=:taxonomyKey and level.displayName=:displayName"); + return dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), TaxonomyLevel.class) + .setParameter("taxonomyKey", taxonomy.getKey()) + .setParameter("displayName", displayName) + .getResultList(); + } + + // Perhaps replace it with a select in ( materializedPathKeys.split("[/]") ) would be better + public List<TaxonomyLevel> getParentLine(TaxonomyLevel taxonomyLevel, Taxonomy taxonomy) { + StringBuilder sb = new StringBuilder(256); + sb.append("select level from ctaxonomylevel as level") + .append(" left join fetch level.parent as parent") + .append(" left join fetch level.type as type") + .append(" where level.taxonomy.key=:taxonomyKey") + .append(" and locate(level.materializedPathKeys,:materializedPath) = 1"); + + List<TaxonomyLevel> levels = dbInstance.getCurrentEntityManager() + .createQuery(sb.toString(), TaxonomyLevel.class) + .setParameter("materializedPath", taxonomyLevel.getMaterializedPathKeys() + "%") + .setParameter("taxonomyKey", taxonomy.getKey()) + .getResultList(); + Collections.sort(levels, new PathMaterializedPathLengthComparator()); + return levels; + } + + public TaxonomyLevel updateTaxonomyLevel(TaxonomyLevel level) { + ((TaxonomyLevelImpl)level).setLastModified(new Date()); + return dbInstance.getCurrentEntityManager().merge(level); + } + + public VFSContainer getDocumentsLibrary(TaxonomyLevel level) { + String path = ((TaxonomyLevelImpl)level).getDirectoryPath(); + return new OlatRootFolderImpl(path, null); + } + + public String createLevelStorage(Taxonomy taxonomy, TaxonomyLevel level) { + File taxonomyDirectory = new File(taxonomyLevelDirectory, taxonomy.getKey().toString()); + File storage = new File(taxonomyDirectory, level.getKey().toString()); + + Path relativePath = rootDirectory.toPath().relativize(storage.toPath()); + String relativePathString = relativePath.toString(); + return relativePathString; + } + + private static class PathMaterializedPathLengthComparator implements Comparator<TaxonomyLevel> { + @Override + public int compare(TaxonomyLevel l1, TaxonomyLevel 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/modules/taxonomy/manager/TaxonomyLevelTypeDAO.java b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyLevelTypeDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..e835dfaf382338c066060d75ea6a7584168e1f90 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyLevelTypeDAO.java @@ -0,0 +1,88 @@ +/** + * <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.taxonomy.manager; + +import java.util.Date; +import java.util.List; +import java.util.UUID; + +import org.olat.core.commons.persistence.DB; +import org.olat.core.util.StringHelper; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyRef; +import org.olat.modules.taxonomy.model.TaxonomyLevelTypeImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class TaxonomyLevelTypeDAO { + + @Autowired + private DB dbInstance; + + public TaxonomyLevelType createTaxonomyLevelType(String identifier, String displayName, String description, String externalId, + Taxonomy taxonomy) { + TaxonomyLevelTypeImpl type = new TaxonomyLevelTypeImpl(); + type.setCreationDate(new Date()); + type.setLastModified(type.getCreationDate()); + if(StringHelper.containsNonWhitespace(identifier)) { + type.setIdentifier(identifier); + } else { + type.setIdentifier(UUID.randomUUID().toString()); + } + type.setDisplayName(displayName); + type.setDescription(description); + type.setExternalId(externalId); + // default settings + type.setDocumentsLibraryManageCompetenceEnabled(true); + type.setDocumentsLibraryTeachCompetenceReadEnabled(true); + type.setDocumentsLibraryTeachCompetenceReadParentLevels(0); + type.setDocumentsLibraryTeachCompetenceWriteEnabled(false); + type.setDocumentsLibraryHaveCompetenceReadEnabled(true); + type.setDocumentsLibraryTargetCompetenceReadEnabled(true); + // root + type.setTaxonomy(taxonomy); + + dbInstance.getCurrentEntityManager().persist(type); + return type; + } + + public TaxonomyLevelType loadTaxonomyLevelTypeByKey(Long key) { + List<TaxonomyLevelType> types = dbInstance.getCurrentEntityManager() + .createNamedQuery("loadTaxonomyLevelTypeByKey", TaxonomyLevelType.class) + .setParameter("typeKey", key) + .getResultList(); + return types == null || types.isEmpty() ? null : types.get(0); + } + + public TaxonomyLevelType updateTaxonomyLevelType(TaxonomyLevelType type) { + ((TaxonomyLevelTypeImpl)type).setLastModified(new Date()); + return dbInstance.getCurrentEntityManager().merge(type); + } + + public List<TaxonomyLevelType> loadTaxonomyLevelTypeByTaxonomy(TaxonomyRef taxonomy) { + String q = "select type from ctaxonomyleveltype type inner join fetch type.taxonomy taxonomy where taxonomy.key=:taxonomyKey"; + return dbInstance.getCurrentEntityManager() + .createQuery(q, TaxonomyLevelType.class) + .setParameter("taxonomyKey", taxonomy.getKey()) + .getResultList(); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyLevelTypeToTypeDAO.java b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyLevelTypeToTypeDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..7539f866d8bd7441b6ed6d5b0b3e32e3c4703db7 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyLevelTypeToTypeDAO.java @@ -0,0 +1,109 @@ +/** + * <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.taxonomy.manager; + +import java.util.List; + +import org.olat.core.commons.persistence.DB; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyLevelTypeToType; +import org.olat.modules.taxonomy.model.TaxonomyLevelTypeToTypeImpl; +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 TaxonomyLevelTypeToTypeDAO { + + @Autowired + private DB dbInstance; + + + + + public int disallowedSubType(TaxonomyLevelType parentType, TaxonomyLevelType disallowedSubType) { + String q = "delete from ctaxonomyleveltypetotype type2type where type2type.taxonomyLevelType.key=:typeKey and type2type.allowedSubTaxonomyLevelType.key=:subTypeKey"; + return dbInstance.getCurrentEntityManager() + .createQuery(q) + .setParameter("typeKey", parentType.getKey()) + .setParameter("subTypeKey", disallowedSubType.getKey()) + .executeUpdate(); + } + + public void setAllowedSubType(TaxonomyLevelType parentType, List<TaxonomyLevelType> allowSubTypes) { + List<TaxonomyLevelTypeToType> typeToTypes = getAllowedSubTypes(parentType); + for(TaxonomyLevelTypeToType typeToType:typeToTypes) { + boolean found = false; + for(TaxonomyLevelType allowSubType:allowSubTypes) { + if(typeToType.getAllowedSubTaxonomyLevelType().equals(allowSubType)) { + found = true; + break; + } + } + + if(!found) { + dbInstance.getCurrentEntityManager().remove(typeToType); + } + } + + for(TaxonomyLevelType allowSubType:allowSubTypes) { + boolean found = false; + for(TaxonomyLevelTypeToType typeToType:typeToTypes) { + if(typeToType.getAllowedSubTaxonomyLevelType().equals(allowSubType)) { + found = true; + break; + } + } + + if(!found) { + addAllowedSubType(parentType, allowSubType); + } + } + } + + public List<TaxonomyLevelTypeToType> getAllowedSubTypes(TaxonomyLevelType parentType) { + String q = "select type2type from ctaxonomyleveltypetotype type2type inner join fetch type2type.allowedSubTaxonomyLevelType subType where type2type.taxonomyLevelType.key=:typeKey"; + return dbInstance.getCurrentEntityManager() + .createQuery(q, TaxonomyLevelTypeToType.class) + .setParameter("typeKey", parentType.getKey()) + .getResultList(); + } + + public List<TaxonomyLevelTypeToType> getAllowedSubTypes(TaxonomyLevelType parentType, TaxonomyLevelType allowedSubType) { + String q = "select type2type from ctaxonomyleveltypetotype type2type where type2type.taxonomyLevelType.key=:typeKey and type2type.allowedSubTaxonomyLevelType.key=:subTypeKey"; + return dbInstance.getCurrentEntityManager() + .createQuery(q, TaxonomyLevelTypeToType.class) + .setParameter("typeKey", parentType.getKey()) + .setParameter("subTypeKey", allowedSubType.getKey()) + .getResultList(); + } + + public void addAllowedSubType(TaxonomyLevelType parentType, TaxonomyLevelType allowedSubType) { + TaxonomyLevelTypeToTypeImpl reloadedParentType = new TaxonomyLevelTypeToTypeImpl(); + reloadedParentType.setTaxonomyLevelType(parentType); + reloadedParentType.setAllowedSubTaxonomyLevelType(allowedSubType); + dbInstance.getCurrentEntityManager().persist(reloadedParentType); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyServiceImpl.java b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..e1bd4b0a628c9ffa8c07faef35441e30b3f31d71 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyServiceImpl.java @@ -0,0 +1,224 @@ +/** + * <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.taxonomy.manager; + +import java.util.List; + +import org.olat.basesecurity.IdentityRef; +import org.olat.core.id.Identity; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceAuditLog.Action; +import org.olat.modules.taxonomy.TaxonomyCompetenceRef; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevelManagedFlag; +import org.olat.modules.taxonomy.TaxonomyLevelRef; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyLevelTypeRef; +import org.olat.modules.taxonomy.TaxonomyLevelTypeToType; +import org.olat.modules.taxonomy.TaxonomyRef; +import org.olat.modules.taxonomy.TaxonomyService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service +public class TaxonomyServiceImpl implements TaxonomyService { + + @Autowired + private TaxonomyDAO taxonomyDao; + @Autowired + private TaxonomyLevelDAO taxonomyLevelDao; + @Autowired + private TaxonomyLevelTypeDAO taxonomyLevelTypeDao; + @Autowired + private TaxonomyCompetenceDAO taxonomyCompetenceDao; + @Autowired + private TaxonomyLevelTypeToTypeDAO taxonomyLevelTypeToTypeDao; + @Autowired + private TaxonomyCompetenceAuditLogDAO taxonomyCompetenceAuditLogDao; + + public Taxonomy createTaxonomy(String identifier, String displayName, String description, String externalId) { + return taxonomyDao.createTaxonomy(identifier, displayName, description, externalId); + } + + @Override + public Taxonomy getTaxonomy(TaxonomyRef ref) { + return taxonomyDao.loadByKey(ref.getKey()); + } + + @Override + public Taxonomy updateTaxonomy(Taxonomy taxonomy) { + return taxonomyDao.updateTaxonomy(taxonomy); + } + + @Override + public VFSContainer getDocumentsLibrary(Taxonomy taxonomy) { + return taxonomyDao.getDocumentsLibrary(taxonomy); + } + + @Override + public VFSContainer getTaxonomyInfoPageContainer(Taxonomy taxonomy) { + return taxonomyDao.getTaxonomyInfoPageContainer(taxonomy); + } + + @Override + public List<Taxonomy> getRootTaxonomyList() { + return taxonomyDao.getTaxonomyList(); + } + + @Override + public TaxonomyLevel createTaxonomyLevel(String identifier, String displayName, String description, + String externalId, TaxonomyLevelManagedFlag[] flags, TaxonomyLevel parent, Taxonomy taxonomy) { + return taxonomyLevelDao.createTaxonomyLevel(identifier, displayName, description, + externalId, flags, + parent, null, taxonomy); + } + + @Override + public List<TaxonomyLevel> getTaxonomyLevels(TaxonomyRef ref) { + return taxonomyLevelDao.getLevels(ref); + } + + @Override + public TaxonomyLevel getTaxonomyLevel(TaxonomyLevelRef ref) { + if(ref == null || ref.getKey() == null) return null; + return taxonomyLevelDao.loadByKey(ref.getKey()); + } + + @Override + public List<TaxonomyLevel> getTaxonomyLevelParentLine(TaxonomyLevel taxonomyLevel, Taxonomy taxonomy) { + return taxonomyLevelDao.getParentLine(taxonomyLevel, taxonomy); + } + + @Override + public TaxonomyLevel updateTaxonomyLevel(TaxonomyLevel level) { + return taxonomyLevelDao.updateTaxonomyLevel(level); + } + + @Override + public VFSContainer getDocumentsLibrary(TaxonomyLevel level) { + return taxonomyLevelDao.getDocumentsLibrary(level); + } + + @Override + public TaxonomyLevelType createTaxonomyLevelType(String identifier, String displayName, String description, + String externalId, Taxonomy taxonomy) { + return taxonomyLevelTypeDao.createTaxonomyLevelType(identifier, displayName, description, externalId, taxonomy); + } + + @Override + public TaxonomyLevelType getTaxonomyLevelType(TaxonomyLevelTypeRef ref) { + if(ref == null || ref.getKey() == null) return null; + return taxonomyLevelTypeDao.loadTaxonomyLevelTypeByKey(ref.getKey()); + } + + @Override + public TaxonomyLevelType updateTaxonomyLevelType(TaxonomyLevelType leveltype) { + return taxonomyLevelTypeDao.updateTaxonomyLevelType(leveltype); + } + + @Override + public TaxonomyLevelType updateTaxonomyLevelType(TaxonomyLevelType leveltype, List<TaxonomyLevelType> allowSubTypes) { + taxonomyLevelTypeToTypeDao.setAllowedSubType(leveltype, allowSubTypes); + return taxonomyLevelTypeDao.updateTaxonomyLevelType(leveltype); + } + + @Override + public void taxonomyLevelTypeAllowSubType(TaxonomyLevelType levelType, TaxonomyLevelType allowSubType) { + List<TaxonomyLevelTypeToType> typeToTypes = taxonomyLevelTypeToTypeDao.getAllowedSubTypes(levelType, allowSubType); + if(typeToTypes.isEmpty()) { + taxonomyLevelTypeToTypeDao.addAllowedSubType(levelType, allowSubType); + } + } + + @Override + public void taxonomyLevelTypeDisallowSubType(TaxonomyLevelType levelType, TaxonomyLevelType disallowSubType) { + taxonomyLevelTypeToTypeDao.disallowedSubType(levelType, disallowSubType); + } + + @Override + public List<TaxonomyLevelType> getTaxonomyLevelTypes(TaxonomyRef taxonomy) { + return taxonomyLevelTypeDao.loadTaxonomyLevelTypeByTaxonomy(taxonomy); + } + + @Override + public boolean hasTaxonomyCompetences(TaxonomyRef taxonomy, IdentityRef identity) { + return taxonomyCompetenceDao.hasCompetenceByTaxonomy(taxonomy, identity); + } + + @Override + public List<TaxonomyCompetence> getTaxonomyCompetences(TaxonomyRef taxonomy, IdentityRef identity) { + return taxonomyCompetenceDao.getCompetenceByTaxonomy(taxonomy, identity); + } + + @Override + public boolean hasCompetence(TaxonomyRef taxonomy, IdentityRef identity, TaxonomyCompetenceTypes... competences) { + return taxonomyCompetenceDao.hasCompetenceByTaxonomy(taxonomy, identity, competences); + } + + @Override + public List<TaxonomyCompetence> getTaxonomyLevelCompetences(TaxonomyLevel taxonomyLevel) { + return taxonomyCompetenceDao.getCompetenceByLevel(taxonomyLevel); + } + + @Override + public TaxonomyCompetence getTaxonomyCompetence(TaxonomyCompetenceRef competence) { + return taxonomyCompetenceDao.loadCompetenceByKey(competence.getKey()); + } + + @Override + public List<TaxonomyCompetence> getTaxonomyCompetences(IdentityRef identity, TaxonomyCompetenceTypes... types) { + return taxonomyCompetenceDao.getCompetences(identity, types); + } + + @Override + public List<TaxonomyCompetence> getTaxonomyLevelCompetences(TaxonomyLevelRef taxonomyLevel, IdentityRef identity) { + return taxonomyCompetenceDao.getCompetenceByLevel(taxonomyLevel, identity); + } + + @Override + public TaxonomyCompetence addTaxonomyLevelCompetences(TaxonomyLevel taxonomyLevel, Identity identity, TaxonomyCompetenceTypes competence) { + return taxonomyCompetenceDao.createTaxonomyCompetence(competence, taxonomyLevel, identity); + } + + @Override + public void removeTaxonomyLevelCompetence(TaxonomyCompetence competence) { + taxonomyCompetenceDao.deleteCompetence(competence); + } + + @Override + public void auditLog(Action action, String before, String after, String message, TaxonomyRef taxonomy, + TaxonomyCompetence competence, IdentityRef assessedIdentity, IdentityRef author) { + taxonomyCompetenceAuditLogDao.auditLog(action, before, after, message, taxonomy, competence, assessedIdentity, author); + } + + @Override + public String toAuditXml(TaxonomyCompetence competence) { + return taxonomyCompetenceAuditLogDao.toXml(competence); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyTreeBuilder.java b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyTreeBuilder.java new file mode 100644 index 0000000000000000000000000000000000000000..11e3ebd75055247fefcd1aa68464fa31e942831e --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyTreeBuilder.java @@ -0,0 +1,292 @@ +/** + * <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.taxonomy.manager; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.stream.Collectors; + +import org.olat.core.CoreSpringFactory; +import org.olat.core.gui.components.tree.GenericTreeModel; +import org.olat.core.gui.components.tree.TreeModel; +import org.olat.core.gui.translator.Translator; +import org.olat.core.id.Identity; +import org.olat.core.util.StringHelper; +import org.olat.core.util.Util; +import org.olat.core.util.i18n.I18nManager; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.model.TaxonomyTreeNode; +import org.olat.modules.taxonomy.ui.TaxonomyMainController; + +/** + * Build the tree of taxonomy + * + * Initial date: 20 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyTreeBuilder { + + public static final String LEVEL_PREFIX = "level-"; + + private Locale locale; + private Taxonomy taxonomy; + private final Identity identity; + private final boolean isTaxonomyAdmin; + + private final TaxonomyService taxonomyService; + + public TaxonomyTreeBuilder(Taxonomy taxonomy, Identity identity, Locale locale, boolean isTaxonomyAdmin) { + taxonomyService = CoreSpringFactory.getImpl(TaxonomyService.class); + this.locale = locale; + this.taxonomy = taxonomy; + this.identity = identity; + this.isTaxonomyAdmin = isTaxonomyAdmin; + } + + public TreeModel buildTreeModel() { + GenericTreeModel gtm = new GenericTreeModel(); + TaxonomyTreeNode root = new TaxonomyTreeNode(taxonomy); + root.setTitle("ROOT competence"); + gtm.setRootNode(root); + + if(taxonomy != null) { + taxonomy = taxonomyService.getTaxonomy(taxonomy); + root.setTitle(taxonomy.getDisplayName()); + root.setUserObject(taxonomy); + + //taxonomy directory + VFSContainer taxonomyDirectory = taxonomyService.getDocumentsLibrary(taxonomy); + TaxonomyTreeNode taxonomyDirectorNode = new TaxonomyTreeNode(taxonomy, taxonomyDirectory); + if(locale == null) { + locale = CoreSpringFactory.getImpl(I18nManager.class).getCurrentThreadLocale(); + } + Translator translator = Util.createPackageTranslator(TaxonomyMainController.class, locale); + taxonomyDirectorNode.setTitle(translator.translate("taxonomy.templates")); + + taxonomyDirectorNode.setUserObject(taxonomyDirectory); + root.addChild(taxonomyDirectorNode); + + //taxonomy levels + List<TaxonomyLevel> levels = taxonomyService.getTaxonomyLevels(taxonomy); + Map<Long,TaxonomyLevel> keytoLevels = levels.stream() + .collect(Collectors.toMap(l -> l.getKey(), l -> l)); + + Map<Long,TaxonomyTreeNode> fieldKeyToNode = new HashMap<>(); + for(TaxonomyLevel taxonomyLevel:levels) { + Long key = taxonomyLevel.getKey(); + TaxonomyTreeNode node = fieldKeyToNode.get(key); + if(node == null) { + node = new TaxonomyTreeNode(taxonomy, taxonomyLevel); + TaxonomyLevelType type = taxonomyLevel.getType(); + if(type != null && StringHelper.containsNonWhitespace(type.getCssClass())) { + node.setIconCssClass(type.getCssClass()); + } + fieldKeyToNode.put(key, node); + } + + TaxonomyLevel parentLevel = taxonomyLevel.getParent(); + if(parentLevel == null) { + //this is a root + root.addChild(node); + } else { + Long parentKey = parentLevel.getKey(); + TaxonomyTreeNode parentNode = fieldKeyToNode.get(parentKey); + if(parentNode == null) { + parentLevel = keytoLevels.get(parentKey);//to use the fetched type + parentNode = new TaxonomyTreeNode(taxonomy, parentLevel); + TaxonomyLevelType type = parentLevel.getType(); + if(type != null && StringHelper.containsNonWhitespace(type.getCssClass())) { + parentNode.setIconCssClass(type.getCssClass()); + } + fieldKeyToNode.put(parentKey, parentNode); + } + parentNode.addChild(node); + } + } + + computePermissions(root); + trimVisiblity(root); + sort(root); + } + return gtm; + } + + private void sort(TaxonomyTreeNode parent) { + parent.sort(new TaxonomyTreeNodeComparator()); + for(int i=parent.getChildCount(); i-->0; ) { + sort((TaxonomyTreeNode)parent.getChildAt(i)); + } + } + + private void trimVisiblity(TaxonomyTreeNode parent) { + boolean someInvisible; + do { + someInvisible = false; + List<TaxonomyTreeNode> children = new ArrayList<>(parent.getChildCount()); + for(int i=0; i<parent.getChildCount(); i++) { + children.add((TaxonomyTreeNode)parent.getChildAt(i)); + } + + for(TaxonomyTreeNode child:children) { + if(!child.isVisible()) { + parent.remove(child); + for(int i=0; i<child.getChildCount(); i++) { + parent.addChild(child.getChildAt(i)); + } + someInvisible = true; + } + } + } while(someInvisible); + + for(int i=0; i<parent.getChildCount(); i++) { + trimVisiblity((TaxonomyTreeNode)parent.getChildAt(i)); + } + } + + private void computePermissions(TaxonomyTreeNode root) { + List<TaxonomyCompetence> competences = taxonomyService.getTaxonomyCompetences(taxonomy, identity); + Map<TaxonomyLevel, List<TaxonomyCompetenceTypes>> levelToCompetences = new HashMap<>(); + for(TaxonomyCompetence competence:competences) { + TaxonomyLevel level = competence.getTaxonomyLevel(); + if(levelToCompetences.containsKey(level)) { + levelToCompetences.get(level).add(competence.getCompetenceType()); + } else { + List<TaxonomyCompetenceTypes> types = new ArrayList<>(4); + types.add(competence.getCompetenceType()); + levelToCompetences.put(level, types); + } + } + computePermissionsRecursive(root, levelToCompetences); + trimRecursive(root); + } + + private void computePermissionsRecursive(TaxonomyTreeNode node, Map<TaxonomyLevel, List<TaxonomyCompetenceTypes>> levelToCompetences) { + boolean hasRead = node.isCanRead(); + boolean hasWrite = node.isCanWrite(); + if(node.getTaxonomyLevel() != null) { + TaxonomyLevel level = node.getTaxonomyLevel(); + TaxonomyLevelType type = level.getType(); + if(type != null) { + List<TaxonomyCompetenceTypes> competences = levelToCompetences.get(level); + if(competences != null && competences.size() > 0) { + for(TaxonomyCompetenceTypes competence:competences) { + hasRead |= hasReadAccess(type, competence); + hasWrite |= hasWriteAccess(type, competence); + + if(competence == TaxonomyCompetenceTypes.teach && type.getDocumentsLibraryTeachCompetenceReadParentLevels() > 0) { + int parentLevels = type.getDocumentsLibraryTeachCompetenceReadParentLevels(); + + TaxonomyTreeNode parent = (TaxonomyTreeNode)node.getParent(); + for(int i=parentLevels; i-->0 && parent != null; ) { + parent.setCanRead(true); + parent = (TaxonomyTreeNode)parent.getParent(); + } + } + } + } else if(isTaxonomyAdmin) { + hasRead |= hasReadAccess(type, null); + hasWrite |= hasWriteAccess(type, null); + } + } + node.setCanRead(hasRead); + node.setCanWrite(hasWrite); + } + + for(int i=node.getChildCount(); i-->0; ) { + TaxonomyTreeNode child = (TaxonomyTreeNode)node.getChildAt(i); + child.setCanRead(hasRead); + child.setCanWrite(hasWrite); + computePermissionsRecursive(child, levelToCompetences); + } + } + + /** + * Propagate read and write permissions to the children or remove nodes without + * permissions. + * + * @param node The start of a sub tree + * @return True if some node as some permissions + */ + private boolean trimRecursive(TaxonomyTreeNode node) { + boolean canRead = node.isCanRead(); + boolean canWrite = node.isCanWrite(); + boolean someAllowed = false; + for(int i=node.getChildCount(); i-->0; ) { + TaxonomyTreeNode child = (TaxonomyTreeNode)node.getChildAt(i); + child.setCanRead(canRead || child.isCanRead()); + child.setCanWrite(canWrite || child.isCanWrite()); + boolean subChildAllowed = trimRecursive(child); + if(!subChildAllowed && !child.isCanRead() && !child.isCanWrite()) { + node.remove(child); + System.out.println(child.getTitle()); + } else { + someAllowed |= true; + } + } + + return someAllowed || canRead || canWrite; + } + + private boolean hasReadAccess(TaxonomyLevelType type, TaxonomyCompetenceTypes competence) { + if(isTaxonomyAdmin) { + return type.isDocumentsLibraryManageCompetenceEnabled() + || type.isDocumentsLibraryTeachCompetenceReadEnabled() + || type.isDocumentsLibraryHaveCompetenceReadEnabled() + || type.isDocumentsLibraryTargetCompetenceReadEnabled(); + } + if(competence == TaxonomyCompetenceTypes.manage) { + return type.isDocumentsLibraryManageCompetenceEnabled(); + } + if(competence == TaxonomyCompetenceTypes.teach) { + return type.isDocumentsLibraryTeachCompetenceReadEnabled(); + } + if(competence == TaxonomyCompetenceTypes.have) { + return type.isDocumentsLibraryHaveCompetenceReadEnabled(); + } + if(competence == TaxonomyCompetenceTypes.target) { + return type.isDocumentsLibraryTargetCompetenceReadEnabled(); + } + return false; + } + + private boolean hasWriteAccess(TaxonomyLevelType type, TaxonomyCompetenceTypes competence) { + if(isTaxonomyAdmin) { + return type.isDocumentsLibraryManageCompetenceEnabled() + || type.isDocumentsLibraryTeachCompetenceWriteEnabled(); + } + if(competence == TaxonomyCompetenceTypes.manage) { + return type.isDocumentsLibraryManageCompetenceEnabled(); + } + if(competence == TaxonomyCompetenceTypes.teach) { + return type.isDocumentsLibraryTeachCompetenceWriteEnabled(); + } + return false; + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyTreeNodeComparator.java b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyTreeNodeComparator.java new file mode 100644 index 0000000000000000000000000000000000000000..7eaed7844e5efc6e04a17611eeca5cfd587bd81f --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/manager/TaxonomyTreeNodeComparator.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.taxonomy.manager; + +import java.util.Comparator; + +import org.olat.core.util.nodes.INode; +import org.olat.modules.taxonomy.model.TaxonomyTreeNode; +import org.olat.modules.taxonomy.model.TaxonomyTreeNodeType; + +/** + * + * Initial date: 30 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyTreeNodeComparator implements Comparator<INode> { + + @Override + public int compare(INode i1, INode i2) { + if(i1 == null || i2 == null) { + return compareNullObjects(i1, i2); + } + + Integer s1 = null; + Integer s2 = null; + String title1 = null; + String title2 = null; + TaxonomyTreeNodeType type1 = null; + TaxonomyTreeNodeType type2 = null; + + if(i1 instanceof TaxonomyTreeNode) { + TaxonomyTreeNode t1 = (TaxonomyTreeNode)i1; + title1 = t1.getTitle(); + type1 = t1.getType(); + if(t1.getTaxonomyLevel() != null) { + s1 = t1.getTaxonomyLevel().getSortOrder(); + } + } + + if(i2 instanceof TaxonomyTreeNode) { + TaxonomyTreeNode t2 = (TaxonomyTreeNode)i2; + title2 = t2.getTitle(); + type2 = t2.getType(); + if(t2.getTaxonomyLevel() != null) { + s2 = t2.getTaxonomyLevel().getSortOrder(); + } + } + + int c = 0; + if(type1 == TaxonomyTreeNodeType.directory && type2 == TaxonomyTreeNodeType.directory) { + c = 0; + } else if(type1 == TaxonomyTreeNodeType.directory) { + return -1; + } else if(type2 == TaxonomyTreeNodeType.directory) { + return 1; + } + + if(c == 0) { + if(s1 == null || s2 == null) { + c = compareNullObjects(title1, title2); + } else { + c = s1.compareTo(s2); + } + } + + if(c == 0) { + if(title1 == null || title2 == null) { + c = compareNullObjects(title1, title2); + } else { + c = title1.compareTo(title2); + } + } + return c; + } + + private final int compareNullObjects(final Object a, final Object b) { + boolean ba = (a == null); + boolean bb = (b == null); + return ba? (bb? 0: -1):(bb? 1: 0); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/model/TaxonomyCompetenceAuditLogImpl.java b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyCompetenceAuditLogImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..7e986fb72e2c11b722088d693f108659b62e73eb --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyCompetenceAuditLogImpl.java @@ -0,0 +1,182 @@ +/** + * <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.taxonomy.model; + +import java.util.Date; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +import org.olat.core.id.Persistable; +import org.olat.modules.taxonomy.TaxonomyCompetenceAuditLog; + +/** + * + * Initial date: 30 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Entity(name="taxonomycompetenceauditlog") +@Table(name="o_tax_competence_audit_log") +public class TaxonomyCompetenceAuditLogImpl implements TaxonomyCompetenceAuditLog, Persistable { + + private static final long serialVersionUID = -1009831288341614553L; + + @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; + + @Column(name="t_action", nullable=true, insertable=true, updatable=false) + private String action; + @Column(name="t_val_before", nullable=true, insertable=true, updatable=false) + private String before; + @Column(name="t_val_after", nullable=true, insertable=true, updatable=false) + private String after; + @Column(name="t_message", nullable=true, insertable=true, updatable=false) + private String message; + + @Column(name="fk_taxonomy", nullable=true, insertable=true, updatable=false) + private Long taxonomyKey; + @Column(name="fk_taxonomy_competence", nullable=true, insertable=true, updatable=false) + private Long taxonomyCompetenceKey; + + @Column(name="fk_identity", nullable=true, insertable=true, updatable=false) + private Long identityKey; + @Column(name="fk_author", nullable=true, insertable=true, updatable=false) + private Long authorKey; + + @Override + public Long getKey() { + return key; + } + + @Override + public Date getCreationDate() { + return creationDate; + } + + public void setCreationDate(Date creationDate) { + this.creationDate = creationDate; + } + + @Override + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + @Override + public String getBefore() { + return before; + } + + public void setBefore(String before) { + this.before = before; + } + + @Override + public String getAfter() { + return after; + } + + public void setAfter(String after) { + this.after = after; + } + + @Override + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + @Override + public Long getTaxonomyKey() { + return taxonomyKey; + } + + public void setTaxonomyKey(Long taxonomyKey) { + this.taxonomyKey = taxonomyKey; + } + + @Override + public Long getTaxonomyCompetenceKey() { + return taxonomyCompetenceKey; + } + + public void setTaxonomyCompetenceKey(Long taxonomyCompetenceKey) { + this.taxonomyCompetenceKey = taxonomyCompetenceKey; + } + + @Override + public Long getIdentityKey() { + return identityKey; + } + + public void setIdentityKey(Long identityKey) { + this.identityKey = identityKey; + } + + @Override + public Long getAuthorKey() { + return authorKey; + } + + public void setAuthorKey(Long authorKey) { + this.authorKey = authorKey; + } + + @Override + public int hashCode() { + return key == null ? 236520 : key.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if(obj == this) { + return true; + } + if(obj instanceof TaxonomyCompetenceAuditLogImpl) { + TaxonomyCompetenceAuditLogImpl auditLog = (TaxonomyCompetenceAuditLogImpl)obj; + return key != null && key.equals(auditLog.getKey()); + } + return super.equals(obj); + } + + @Override + public boolean equalsByPersistableKey(Persistable persistable) { + return equals(persistable); + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/model/TaxonomyCompetenceImpl.java b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyCompetenceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..87263fa09912da61baa078b9627293876d1b083c --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyCompetenceImpl.java @@ -0,0 +1,229 @@ +/** + * <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.taxonomy.model; + +import java.math.BigDecimal; +import java.util.Date; + +import javax.persistence.Column; +import javax.persistence.Entity; +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.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; +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.modules.taxonomy.TaxonomyLevel; + +/** + * + * Initial date: 22 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Entity(name="ctaxonomycompetence") +@Table(name="o_tax_taxonomy_competence") +public class TaxonomyCompetenceImpl implements Persistable, ModifiedInfo, TaxonomyCompetence { + + private static final long serialVersionUID = -1382950544549489153L; + + @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="t_type", nullable=false, insertable=true, updatable=true) + private String type; + + @Column(name="t_achievement", nullable=true, insertable=true, updatable=true) + private BigDecimal achievement; + @Column(name="t_reliability", nullable=true, insertable=true, updatable=true) + private BigDecimal reliability; + + @Temporal(TemporalType.TIMESTAMP) + @Column(name="t_expiration_date", nullable=true, insertable=true, updatable=true) + private Date expiration; + @Column(name="t_external_id", nullable=true, insertable=true, updatable=true) + private String externalId; + @Column(name="t_source_text", nullable=true, insertable=true, updatable=true) + private String sourceText; + @Column(name="t_source_url", nullable=true, insertable=true, updatable=true) + private String sourceUrl; + + @ManyToOne(targetEntity=TaxonomyLevelImpl.class) + @JoinColumn(name="fk_level", nullable=true, insertable=true, updatable=true) + private TaxonomyLevel taxonomyLevel; + + @ManyToOne(targetEntity=IdentityImpl.class) + @JoinColumn(name="fk_identity", nullable=true, insertable=true, updatable=true) + private Identity identity; + + + @Override + public Long getKey() { + return 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 date) { + lastModified = date; + } + + @Override + public TaxonomyCompetenceTypes getCompetenceType() { + if(StringHelper.containsNonWhitespace(type)) { + return TaxonomyCompetenceTypes.valueOf(type); + } + return null; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + @Override + public BigDecimal getAchievement() { + return achievement; + } + + public void setAchievement(BigDecimal achievement) { + this.achievement = achievement; + } + + @Override + public BigDecimal getReliability() { + return reliability; + } + + public void setReliability(BigDecimal reliability) { + this.reliability = reliability; + } + + @Override + public Date getExpiration() { + return expiration; + } + + public void setExpiration(Date expiration) { + this.expiration = expiration; + } + + @Override + public String getExternalId() { + return externalId; + } + + public void setExternalId(String externalId) { + this.externalId = externalId; + } + + @Override + public String getSourceText() { + return sourceText; + } + + public void setSourceText(String sourceText) { + this.sourceText = sourceText; + } + + @Override + public String getSourceUrl() { + return sourceUrl; + } + + public void setSourceUrl(String sourceUrl) { + this.sourceUrl = sourceUrl; + } + + @Override + public TaxonomyLevel getTaxonomyLevel() { + return taxonomyLevel; + } + + public void setTaxonomyLevel(TaxonomyLevel taxonomyLevel) { + this.taxonomyLevel = taxonomyLevel; + } + + @Override + public Identity getIdentity() { + return identity; + } + + public void setIdentity(Identity identity) { + this.identity = identity; + } + + @Override + public int hashCode() { + return getKey() == null ? 62350616 : getKey().hashCode(); + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + if(obj instanceof TaxonomyCompetenceImpl) { + TaxonomyCompetenceImpl competence = (TaxonomyCompetenceImpl)obj; + return getKey() != null && getKey().equals(competence.getKey()); + } + return false; + } + + @Override + public boolean equalsByPersistableKey(Persistable persistable) { + return equals(persistable); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/model/TaxonomyCompetenceRefImpl.java b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyCompetenceRefImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..e3831f878ce338ef1d89fe1672974d993bbbe501 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyCompetenceRefImpl.java @@ -0,0 +1,43 @@ +/** + * <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.taxonomy.model; + +import org.olat.modules.taxonomy.TaxonomyCompetenceRef; + +/** + * + * Initial date: 30 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyCompetenceRefImpl implements TaxonomyCompetenceRef { + + private final Long key; + + public TaxonomyCompetenceRefImpl(Long key) { + this.key = key; + } + + @Override + public Long getKey() { + return key; + } + +} diff --git a/src/main/java/org/olat/modules/taxonomy/model/TaxonomyImpl.java b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..d2b4934b3a856c1d24030c7b585afb7ab775843d --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyImpl.java @@ -0,0 +1,242 @@ +/** + * <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.taxonomy.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.NamedQueries; +import javax.persistence.NamedQuery; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +import org.olat.basesecurity.Group; +import org.olat.basesecurity.model.GroupImpl; +import org.olat.core.id.Persistable; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyManagedFlag; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Entity(name="ctaxonomy") +@Table(name="o_tax_taxonomy") +@NamedQueries({ + @NamedQuery(name="loadTaxonomyByKey", query="select taxonomy from ctaxonomy taxonomy inner join fetch taxonomy.group as bGroup where taxonomy.key=:taxonomyKey"), + @NamedQuery(name="loadAllTaxonomy", query="select taxonomy from ctaxonomy taxonomy inner join fetch taxonomy.group as bGroup") +}) +public class TaxonomyImpl implements Persistable, Taxonomy { + + private static final long serialVersionUID = -8728887923293798226L; + + @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="t_identifier", nullable=true, insertable=true, updatable=true) + private String identifier; + @Column(name="t_displayname", nullable=true, insertable=true, updatable=true) + private String displayName; + @Column(name="t_description", nullable=true, insertable=true, updatable=true) + private String description; + @Column(name="t_external_id", nullable=true, insertable=true, updatable=true) + private String externalId; + @Column(name="t_managed_flags", nullable=true, insertable=true, updatable=true) + private String managedFlagsString; + + @Column(name="t_library", nullable=false, insertable=true, updatable=true) + private boolean documentsLibraryEnabled; + @Column(name="t_directory_path", nullable=true, insertable=true, updatable=true) + private String directoryPath; + @Column(name="t_directory_info_page_path", nullable=true, insertable=true, updatable=true) + private String directoryInfoPagePath; + + @ManyToOne(targetEntity=GroupImpl.class,fetch=FetchType.LAZY,optional=false) + @JoinColumn(name="fk_group", nullable=false, insertable=true, updatable=false) + private Group group; + + @Override + public Long getKey() { + return 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 String getResourceableTypeName() { + return "Taxonomy"; + } + + @Override + public Long getResourceableId() { + return getKey(); + } + + @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; + } + + @Override + public String getExternalId() { + return externalId; + } + + @Override + public void setExternalId(String externalId) { + this.externalId = externalId; + } + + @Override + public String getManagedFlagsString() { + return managedFlagsString; + } + + public void setManagedFlagsString(String managedFlagsString) { + this.managedFlagsString = managedFlagsString; + } + + @Override + public TaxonomyManagedFlag[] getManagedFlags() { + return TaxonomyManagedFlag.toEnum(managedFlagsString); + } + + @Override + public void setManagedFlags(TaxonomyManagedFlag[] flags) { + managedFlagsString = TaxonomyManagedFlag.toString(flags); + } + + @Override + public boolean isDocumentsLibraryEnabled() { + return documentsLibraryEnabled; + } + + @Override + public void setDocumentsLibraryEnabled(boolean documentsLibraryEnabled) { + this.documentsLibraryEnabled = documentsLibraryEnabled; + } + + public String getDirectoryPath() { + return directoryPath; + } + + public void setDirectoryPath(String directoryPath) { + this.directoryPath = directoryPath; + } + + public String getDirectoryInfoPagePath() { + return directoryInfoPagePath; + } + + public void setDirectoryInfoPagePath(String directoryInfoPagePath) { + this.directoryInfoPagePath = directoryInfoPagePath; + } + + public Group getGroup() { + return group; + } + + public void setGroup(Group group) { + this.group = group; + } + + @Override + public int hashCode() { + return key == null ? 816587 : key.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + if(obj instanceof TaxonomyImpl) { + TaxonomyImpl taxonomy = (TaxonomyImpl)obj; + return getKey() != null && getKey().equals(taxonomy.getKey()); + } + return false; + } + + @Override + public boolean equalsByPersistableKey(Persistable persistable) { + return equals(persistable); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelImpl.java b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..15305ca39a9b30cf7f84e85d96ddd77418843715 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelImpl.java @@ -0,0 +1,292 @@ +/** + * <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.taxonomy.model; + +import java.util.Date; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.NamedQueries; +import javax.persistence.NamedQuery; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +import org.olat.core.id.ModifiedInfo; +import org.olat.core.id.Persistable; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyLevelManagedFlag; + +/** + * + * Initial date: 19 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Entity(name="ctaxonomylevel") +@Table(name="o_tax_taxonomy_level") +@NamedQueries({ + @NamedQuery(name="loadTaxonomyLevelsByKey", query="select level from ctaxonomylevel as level left join fetch level.parent parent left join fetch level.type type inner join fetch level.taxonomy taxonomy where level.key=:levelKey") + +}) +public class TaxonomyLevelImpl implements Persistable, ModifiedInfo, TaxonomyLevel { + + private static final long serialVersionUID = 7873564059919461651L; + + @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="t_identifier", nullable=true, insertable=true, updatable=true) + private String identifier; + @Column(name="t_displayname", nullable=true, insertable=true, updatable=true) + private String displayName; + @Column(name="t_description", nullable=true, insertable=true, updatable=true) + private String description; + @Column(name="t_external_id", nullable=true, insertable=true, updatable=true) + private String externalId; + @Column(name="t_sort_order", nullable=true, insertable=true, updatable=true) + private Integer sortOrder; + + @Column(name="t_directory_path", nullable=true, insertable=true, updatable=true) + private String directoryPath; + + @Column(name="t_m_path_keys", nullable=true, insertable=true, updatable=true) + private String materializedPathKeys; + @Column(name="t_m_path_identifiers", nullable=true, insertable=true, updatable=true) + private String materializedPathIdentifiers; + + @Column(name="t_enabled", nullable=false, insertable=true, updatable=true) + private boolean enabled; + @Column(name="t_managed_flags", nullable=true, insertable=true, updatable=true) + private String managedFlagsString; + + @ManyToOne(targetEntity=TaxonomyImpl.class) + @JoinColumn(name="fk_taxonomy", nullable=true, insertable=true, updatable=true) + private Taxonomy taxonomy; + + @ManyToOne(targetEntity=TaxonomyLevelImpl.class) + @JoinColumn(name="fk_parent", nullable=true, insertable=true, updatable=true) + private TaxonomyLevel parent; + + @ManyToOne(targetEntity=TaxonomyLevelTypeImpl.class) + @JoinColumn(name="fk_type", nullable=true, insertable=true, updatable=true) + private TaxonomyLevelType type; + + @Override + public Long getKey() { + return 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 String getResourceableTypeName() { + return "TaxonomyLevel"; + } + + @Override + public Long getResourceableId() { + return getKey(); + } + + @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; + } + + @Override + public String getExternalId() { + return externalId; + } + + @Override + public void setExternalId(String externalId) { + this.externalId = externalId; + } + + public Integer getSortOrder() { + return sortOrder; + } + + public void setSortOrder(Integer sortOrder) { + this.sortOrder = sortOrder; + } + + public String getDirectoryPath() { + return directoryPath; + } + + public void setDirectoryPath(String directoryPath) { + this.directoryPath = directoryPath; + } + + @Override + public String getMaterializedPathKeys() { + return materializedPathKeys; + } + + public void setMaterializedPathKeys(String materializedPathKeys) { + this.materializedPathKeys = materializedPathKeys; + } + + @Override + public String getMaterializedPathIdentifiers() { + return materializedPathIdentifiers; + } + + public void setMaterializedPathIdentifiers(String materializedPathIdentifiers) { + this.materializedPathIdentifiers = materializedPathIdentifiers; + } + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + @Override + public TaxonomyLevelManagedFlag[] getManagedFlags() { + return TaxonomyLevelManagedFlag.toEnum(managedFlagsString); + } + + @Override + public void setManagedFlags(TaxonomyLevelManagedFlag[] flags) { + managedFlagsString = TaxonomyLevelManagedFlag.toString(flags); + } + + @Override + public String getManagedFlagsString() { + return managedFlagsString; + } + + public void setManagedFlagsString(String managedFlagsString) { + this.managedFlagsString = managedFlagsString; + } + + @Override + public Taxonomy getTaxonomy() { + return taxonomy; + } + + public void setTaxonomy(Taxonomy taxonomy) { + this.taxonomy = taxonomy; + } + + @Override + public TaxonomyLevel getParent() { + return parent; + } + + public void setParent(TaxonomyLevel parent) { + this.parent = parent; + } + + @Override + public TaxonomyLevelType getType() { + return type; + } + + @Override + public void setType(TaxonomyLevelType type) { + this.type = type; + } + + @Override + public int hashCode() { + return key == null ? 1961331 : key.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + if(obj instanceof TaxonomyLevelImpl) { + TaxonomyLevelImpl level = (TaxonomyLevelImpl)obj; + return getKey() != null && getKey().equals(level.getKey()); + } + return false; + } + + @Override + public boolean equalsByPersistableKey(Persistable persistable) { + return equals(persistable); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelRefImpl.java b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelRefImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..e382c21ce4f106c12026a6138372c462e50bbb70 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelRefImpl.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.taxonomy.model; + +import org.olat.modules.taxonomy.TaxonomyLevelRef; + +/** + * + * Initial date: 6 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyLevelRefImpl implements TaxonomyLevelRef { + + private final Long key; + + public TaxonomyLevelRefImpl(Long key) { + this.key = key; + } + + @Override + public Long getKey() { + return key; + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelTypeImpl.java b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelTypeImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..eeacb0a73aac682b55e98553f1a860d7c0105c36 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelTypeImpl.java @@ -0,0 +1,331 @@ +/** + * <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.taxonomy.model; + +import java.util.Date; +import java.util.HashSet; +import java.util.Set; + +import javax.persistence.CascadeType; +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.NamedQueries; +import javax.persistence.NamedQuery; +import javax.persistence.OneToMany; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +import org.olat.core.id.ModifiedInfo; +import org.olat.core.id.Persistable; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyLevelTypeManagedFlag; +import org.olat.modules.taxonomy.TaxonomyLevelTypeToType; + +/** + * + * Initial date: 22 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Entity(name="ctaxonomyleveltype") +@Table(name="o_tax_taxonomy_level_type") +@NamedQueries({ + @NamedQuery(name="loadTaxonomyLevelTypeByKey", query="select type from ctaxonomyleveltype type inner join fetch type.taxonomy taxonomy where type.key=:typeKey") +}) +public class TaxonomyLevelTypeImpl implements Persistable, ModifiedInfo, TaxonomyLevelType { + + private static final long serialVersionUID = -4154176752303740382L; + + @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="t_identifier", nullable=true, insertable=true, updatable=true) + private String identifier; + @Column(name="t_displayname", nullable=true, insertable=true, updatable=true) + private String displayName; + @Column(name="t_description", nullable=true, insertable=true, updatable=true) + private String description; + @Column(name="t_external_id", nullable=true, insertable=true, updatable=true) + private String externalId; + @Column(name="t_managed_flags", nullable=true, insertable=true, updatable=true) + private String managedFlagsString; + + @Column(name="t_css_class", nullable=true, insertable=true, updatable=true) + private String cssClass; + @Column(name="t_visible", nullable=false, insertable=true, updatable=true) + private boolean visible; + + @Column(name="t_library_docs", nullable=false, insertable=true, updatable=true) + private boolean documentsLibraryEnabled; + @Column(name="t_library_manage", nullable=false, insertable=true, updatable=true) + private boolean documentsLibraryManagerCompetenceEnabled; + @Column(name="t_library_teach_read", nullable=false, insertable=true, updatable=true) + private boolean documentsLibraryTeachCompetenceReadEnabled; + @Column(name="t_library_teach_readlevels", nullable=false, insertable=true, updatable=true) + private int documentsLibraryTeachCompetenceReadParentLevels = 0; + @Column(name="t_library_teach_write", nullable=false, insertable=true, updatable=true) + private boolean documentsLibraryTeachCompetenceWriteEnabled; + @Column(name="t_library_have_read", nullable=false, insertable=true, updatable=true) + private boolean documentsLibraryHaveCompetenceReadEnabled; + @Column(name="t_library_target_read", nullable=false, insertable=true, updatable=true) + private boolean documentsLibraryTargetCompetenceReadEnabled; + + @ManyToOne(targetEntity=TaxonomyImpl.class) + @JoinColumn(name="fk_taxonomy", nullable=true, insertable=true, updatable=true) + private Taxonomy taxonomy; + + @OneToMany(targetEntity=TaxonomyLevelTypeToTypeImpl.class, fetch=FetchType.LAZY, + orphanRemoval=true, cascade={CascadeType.PERSIST, CascadeType.REMOVE}) + @JoinColumn(name="fk_type") + public Set<TaxonomyLevelTypeToType> allowedSubTypes; + + @Override + public Long getKey() { + return 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 date) { + lastModified = date; + } + + @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; + } + + @Override + public String getExternalId() { + return externalId; + } + + @Override + public void setExternalId(String externalId) { + this.externalId = externalId; + } + + @Override + public String getManagedFlagsString() { + return managedFlagsString; + } + + public void setManagedFlagsString(String managedFlagsString) { + this.managedFlagsString = managedFlagsString; + } + + @Override + public TaxonomyLevelTypeManagedFlag[] getManagedFlags() { + return TaxonomyLevelTypeManagedFlag.toEnum(managedFlagsString); + } + + @Override + public void setManagedFlags(TaxonomyLevelTypeManagedFlag[] flags) { + managedFlagsString = TaxonomyLevelTypeManagedFlag.toString(flags); + } + + @Override + public String getCssClass() { + return cssClass; + } + + @Override + public void setCssClass(String cssClass) { + this.cssClass = cssClass; + } + + @Override + public boolean isVisible() { + return visible; + } + + @Override + public void setVisible(boolean visible) { + this.visible = visible; + } + + @Override + public boolean isDocumentsLibraryEnabled() { + return documentsLibraryEnabled; + } + + @Override + public void setDocumentsLibraryEnabled(boolean documentsLibraryEnabled) { + this.documentsLibraryEnabled = documentsLibraryEnabled; + } + + @Override + public boolean isDocumentsLibraryManageCompetenceEnabled() { + return documentsLibraryManagerCompetenceEnabled; + } + + @Override + public void setDocumentsLibraryManageCompetenceEnabled(boolean enabled) { + documentsLibraryManagerCompetenceEnabled = enabled; + } + + @Override + public boolean isDocumentsLibraryTeachCompetenceReadEnabled() { + return documentsLibraryTeachCompetenceReadEnabled; + } + + @Override + public void setDocumentsLibraryTeachCompetenceReadEnabled(boolean documentsLibraryTeachCompetenceReadEnabled) { + this.documentsLibraryTeachCompetenceReadEnabled = documentsLibraryTeachCompetenceReadEnabled; + } + + @Override + public int getDocumentsLibraryTeachCompetenceReadParentLevels() { + return documentsLibraryTeachCompetenceReadParentLevels; + } + + @Override + public void setDocumentsLibraryTeachCompetenceReadParentLevels(int documentsLibraryTeachCompetenceReadParentLevels) { + this.documentsLibraryTeachCompetenceReadParentLevels = documentsLibraryTeachCompetenceReadParentLevels; + } + + @Override + public boolean isDocumentsLibraryTeachCompetenceWriteEnabled() { + return documentsLibraryTeachCompetenceWriteEnabled; + } + + @Override + public void setDocumentsLibraryTeachCompetenceWriteEnabled(boolean documentsLibraryTeachCompetenceWriteEnabled) { + this.documentsLibraryTeachCompetenceWriteEnabled = documentsLibraryTeachCompetenceWriteEnabled; + } + + @Override + public boolean isDocumentsLibraryHaveCompetenceReadEnabled() { + return documentsLibraryHaveCompetenceReadEnabled; + } + + @Override + public void setDocumentsLibraryHaveCompetenceReadEnabled(boolean documentsLibraryHaveCompetenceReadEnabled) { + this.documentsLibraryHaveCompetenceReadEnabled = documentsLibraryHaveCompetenceReadEnabled; + } + + @Override + public boolean isDocumentsLibraryTargetCompetenceReadEnabled() { + return documentsLibraryTargetCompetenceReadEnabled; + } + + @Override + public void setDocumentsLibraryTargetCompetenceReadEnabled(boolean documentsLibraryTargetCompetenceReadEnabled) { + this.documentsLibraryTargetCompetenceReadEnabled = documentsLibraryTargetCompetenceReadEnabled; + } + + @Override + public Set<TaxonomyLevelTypeToType> getAllowedTaxonomyLevelSubTypes() { + if(allowedSubTypes == null) { + allowedSubTypes = new HashSet<>(); + } + return allowedSubTypes; + } + + public void setAllowedTaxonomyLevelSubTypes(Set<TaxonomyLevelTypeToType> allowedSubTypes) { + this.allowedSubTypes = allowedSubTypes; + } + + @Override + public Taxonomy getTaxonomy() { + return taxonomy; + } + + public void setTaxonomy(Taxonomy taxonomy) { + this.taxonomy = taxonomy; + } + + @Override + public int hashCode() { + return getKey() == null ? 234379 : getKey().hashCode(); + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + if(obj instanceof TaxonomyLevelTypeImpl) { + TaxonomyLevelTypeImpl type = (TaxonomyLevelTypeImpl)obj; + return getKey() != null && getKey().equals(type.getKey()); + } + return false ; + } + + @Override + public boolean equalsByPersistableKey(Persistable persistable) { + return equals(persistable); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelTypeRefImpl.java b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelTypeRefImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..cda299d1a44fac3f843628ea99a69f4f1ad29286 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelTypeRefImpl.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.taxonomy.model; + +import org.olat.modules.taxonomy.TaxonomyLevelTypeRef; + +/** + * + * Initial date: 27 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyLevelTypeRefImpl implements TaxonomyLevelTypeRef { + + private final Long key; + + public TaxonomyLevelTypeRefImpl(Long key) { + this.key = key; + } + + @Override + public Long getKey() { + return key; + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelTypeToTypeImpl.java b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelTypeToTypeImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..491b10eaaf421b3ba509326f9d1e7b8a8f8d7c7c --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyLevelTypeToTypeImpl.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.taxonomy.model; + +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 org.olat.core.id.Persistable; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyLevelTypeToType; + +/** + * + * Initial date: 2 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Entity(name="ctaxonomyleveltypetotype") +@Table(name="o_tax_taxonomy_type_to_type") +public class TaxonomyLevelTypeToTypeImpl implements Persistable, TaxonomyLevelTypeToType { + + private static final long serialVersionUID = -4154176752303740382L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name="id", nullable=false, unique=true, insertable=true, updatable=false) + private Long key; + + @ManyToOne(targetEntity=TaxonomyLevelTypeImpl.class,fetch=FetchType.LAZY,optional=false) + @JoinColumn(name="fk_type", nullable=false, insertable=true, updatable=false) + private TaxonomyLevelType taxonomyLevelType; + @ManyToOne(targetEntity=TaxonomyLevelTypeImpl.class,fetch=FetchType.LAZY,optional=false) + @JoinColumn(name="fk_allowed_sub_type", nullable=false, insertable=true, updatable=false) + private TaxonomyLevelType allowedSubTaxonomyLevelType; + + + @Override + public Long getKey() { + return key; + } + + @Override + public TaxonomyLevelType getTaxonomyLevelType() { + return taxonomyLevelType; + } + + public void setTaxonomyLevelType(TaxonomyLevelType taxonomyLevelType) { + this.taxonomyLevelType = taxonomyLevelType; + } + + @Override + public TaxonomyLevelType getAllowedSubTaxonomyLevelType() { + return allowedSubTaxonomyLevelType; + } + + public void setAllowedSubTaxonomyLevelType(TaxonomyLevelType allowedSubTaxonomyLevelType) { + this.allowedSubTaxonomyLevelType = allowedSubTaxonomyLevelType; + } + + @Override + public int hashCode() { + return getKey() == null ? 234379 : getKey().hashCode(); + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + if(obj instanceof TaxonomyLevelTypeToTypeImpl) { + TaxonomyLevelTypeToTypeImpl type = (TaxonomyLevelTypeToTypeImpl)obj; + return getKey() != null && getKey().equals(type.getKey()); + } + return false ; + } + + @Override + public boolean equalsByPersistableKey(Persistable persistable) { + return equals(persistable); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/model/TaxonomyRefImpl.java b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyRefImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..97b264b2794b345bccbb3fa08d9e71d6a6e29705 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyRefImpl.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.taxonomy.model; + +import org.olat.modules.taxonomy.TaxonomyRef; + +/** + * + * Initial date: 27 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyRefImpl implements TaxonomyRef { + + private final Long key; + + public TaxonomyRefImpl(Long key) { + this.key = key; + } + + @Override + public Long getKey() { + return key; + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/model/TaxonomyTreeNode.java b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyTreeNode.java new file mode 100644 index 0000000000000000000000000000000000000000..e0d5e9dc711b02aab929bb33de404715e120c3a9 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyTreeNode.java @@ -0,0 +1,142 @@ +/** + * <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.taxonomy.model; + +import org.olat.core.gui.components.tree.GenericTreeNode; +import org.olat.core.util.StringHelper; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevelType; + +/** + * + * Initial date: 20 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyTreeNode extends GenericTreeNode { + + private static final long serialVersionUID = 1621713861366690591L; + + private boolean canRead; + private boolean canWrite; + + private VFSContainer directory; + private final Taxonomy taxonomy; + private TaxonomyLevel taxonomyLevel; + private final TaxonomyTreeNodeType nodeType; + + public TaxonomyTreeNode(Taxonomy taxonomy) { + super(); + this.taxonomy = taxonomy; + nodeType = TaxonomyTreeNodeType.taxonomy; + } + + public TaxonomyTreeNode(Taxonomy taxonomy, VFSContainer directory) { + super(); + this.directory = directory; + this.taxonomy = taxonomy; + nodeType = TaxonomyTreeNodeType.directory; + } + + public TaxonomyTreeNode(Taxonomy taxonomy, TaxonomyLevel taxonomyLevel) { + super(taxonomyLevel.getKey().toString()); + setTitle(taxonomyLevel.getDisplayName()); + this.taxonomy = taxonomy; + this.taxonomyLevel = taxonomyLevel; + setUserObject(taxonomyLevel); + nodeType = TaxonomyTreeNodeType.taxonomyLevel; + } + + public TaxonomyTreeNodeType getType() { + return nodeType; + } + + public boolean isVisible() { + return nodeType == TaxonomyTreeNodeType.taxonomy + || nodeType == TaxonomyTreeNodeType.directory + || (taxonomyLevel != null && (taxonomyLevel.getType() == null ? true : taxonomyLevel.getType().isVisible())); + } + + public boolean isDocumentsLibraryEnabled() { + return taxonomyLevel.getTaxonomy().isDocumentsLibraryEnabled() + && taxonomyLevel != null && taxonomyLevel.getType() != null + && taxonomyLevel.getType().isDocumentsLibraryEnabled() + && (taxonomyLevel.getType().isDocumentsLibraryManageCompetenceEnabled() + || taxonomyLevel.getType().isDocumentsLibraryTeachCompetenceReadEnabled() + || taxonomyLevel.getType().isDocumentsLibraryTeachCompetenceReadEnabled() + || taxonomyLevel.getType().isDocumentsLibraryHaveCompetenceReadEnabled() + || taxonomyLevel.getType().isDocumentsLibraryTargetCompetenceReadEnabled()); + } + + public boolean isCanRead() { + return canRead || nodeType == TaxonomyTreeNodeType.directory; + } + + public void setCanRead(boolean canRead) { + this.canRead = canRead; + } + + public boolean isCanWrite() { + return canWrite; + } + + public void setCanWrite(boolean canWrite) { + this.canWrite = canWrite; + } + + public Taxonomy getTaxonomy() { + return taxonomy; + } + + /** + * @return The container of a node of type container. + */ + public VFSContainer getDirectory() { + return directory; + } + + /** + * @return The taxonomy level if the node is of the type taxonomyLevel + */ + public TaxonomyLevel getTaxonomyLevel() { + return taxonomyLevel; + } + + @Override + public String getIconCssClass() { + switch(nodeType) { + case taxonomy: return "o_icon_taxonomy"; + case directory: return "o_icon_taxonomy_templates"; + case taxonomyLevel: { + TaxonomyLevelType type = taxonomyLevel.getType(); + if(type != null && StringHelper.containsNonWhitespace(type.getCssClass())) { + return type.getCssClass(); + } + if(getChildCount() > 0) { + return "o_icon_taxonomy_level"; + } + return "o_icon_taxonomy_level_leaf"; + } + default: return null; + } + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/model/TaxonomyTreeNodeType.java b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyTreeNodeType.java new file mode 100644 index 0000000000000000000000000000000000000000..750bae967d367c2d56679a9bc7033527981c6e37 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/model/TaxonomyTreeNodeType.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.modules.taxonomy.model; + +/** + * + * Initial date: 20 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public enum TaxonomyTreeNodeType { + + taxonomy, + directory, + taxonomyLevel + +} diff --git a/src/main/java/org/olat/modules/taxonomy/restapi/Examples.java b/src/main/java/org/olat/modules/taxonomy/restapi/Examples.java new file mode 100644 index 0000000000000000000000000000000000000000..14442f7966b06cb005794a4b88a60ce0c732949a --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/restapi/Examples.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.modules.taxonomy.restapi; + +/** + * + * Initial date: 6 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class Examples { + + public static final TaxonomyVO SAMPLE_TAXONOMYVO = new TaxonomyVO(); + public static final TaxonomyLevelVO SAMPLE_TAXONOMYLEVELVO = new TaxonomyLevelVO(); + public static final TaxonomyLevelTypeVO SAMPLE_TAXONOMYLEVELTYPEVO = new TaxonomyLevelTypeVO(); + public static final TaxonomyCompetenceVO SAMPLE_TAXONOMYCOMPETENCEVO = new TaxonomyCompetenceVO(); + public static final TaxonomyModuleConfigurationVO SAMPLE_TAXONOMYMODULECONFIGURATIONVO = new TaxonomyModuleConfigurationVO(); + + static { + SAMPLE_TAXONOMYVO.setKey(1l); + SAMPLE_TAXONOMYVO.setIdentifier("ID-Taxonomy"); + SAMPLE_TAXONOMYVO.setDisplayName("Taxonomy"); + SAMPLE_TAXONOMYVO.setDescription("A taxonomy"); + SAMPLE_TAXONOMYVO.setExternalId("EXT-ID-Taxonomy"); + + SAMPLE_TAXONOMYLEVELVO.setKey(2l); + SAMPLE_TAXONOMYLEVELVO.setIdentifier("ID-Level-Taxonomy"); + SAMPLE_TAXONOMYLEVELVO.setDisplayName("A taxonomy level"); + SAMPLE_TAXONOMYLEVELVO.setDescription("A taxonomy level with a parent"); + SAMPLE_TAXONOMYLEVELVO.setExternalId("EXT-ID-Level-Taxonomy"); + SAMPLE_TAXONOMYLEVELVO.setParentKey(300l); + SAMPLE_TAXONOMYLEVELVO.setTypeKey(301l); + + SAMPLE_TAXONOMYLEVELTYPEVO.setKey(3l); + SAMPLE_TAXONOMYLEVELTYPEVO.setIdentifier("ID-Taxonomy-Level-Type"); + SAMPLE_TAXONOMYLEVELTYPEVO.setDisplayName("Taxonomy level type"); + SAMPLE_TAXONOMYLEVELTYPEVO.setDescription("Settings for a taxonomy level"); + SAMPLE_TAXONOMYLEVELTYPEVO.setExternalId("EXT-ID-Taxonomy-Level-Type"); + + SAMPLE_TAXONOMYCOMPETENCEVO.setKey(4l); + SAMPLE_TAXONOMYCOMPETENCEVO.setIdentityKey(400l); + SAMPLE_TAXONOMYCOMPETENCEVO.setTaxonomyLevelKey(2l); + SAMPLE_TAXONOMYCOMPETENCEVO.setTaxonomyCompetenceType("teach"); + + SAMPLE_TAXONOMYMODULECONFIGURATIONVO.setEnabled(true); + SAMPLE_TAXONOMYMODULECONFIGURATIONVO.setTaxonomyTreeKey("1"); + } + +} diff --git a/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyCompetenceVO.java b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyCompetenceVO.java new file mode 100644 index 0000000000000000000000000000000000000000..aa0428e6991c10023d8fba31e0f0bc051debad44 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyCompetenceVO.java @@ -0,0 +1,85 @@ +/** + * <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.taxonomy.restapi; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + +import org.olat.modules.taxonomy.TaxonomyCompetence; + +/** + * + * Initial date: 6 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "taxonomyCompetenceVO") +public class TaxonomyCompetenceVO { + + private Long key; + private Long identityKey; + private Long taxonomyLevelKey; + private String taxonomyCompetenceType; + + public TaxonomyCompetenceVO() { + // + } + + public TaxonomyCompetenceVO(TaxonomyCompetence competence) { + key = competence.getKey(); + identityKey = competence.getIdentity().getKey(); + taxonomyLevelKey = competence.getTaxonomyLevel().getKey(); + taxonomyCompetenceType = competence.getCompetenceType().name(); + } + + public Long getKey() { + return key; + } + + public void setKey(Long key) { + this.key = key; + } + + public Long getIdentityKey() { + return identityKey; + } + + public void setIdentityKey(Long identityKey) { + this.identityKey = identityKey; + } + + public Long getTaxonomyLevelKey() { + return taxonomyLevelKey; + } + + public void setTaxonomyLevelKey(Long taxonomyLevelKey) { + this.taxonomyLevelKey = taxonomyLevelKey; + } + + public String getTaxonomyCompetenceType() { + return taxonomyCompetenceType; + } + + public void setTaxonomyCompetenceType(String taxonomyCompetenceType) { + this.taxonomyCompetenceType = taxonomyCompetenceType; + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyLevelTypeVO.java b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyLevelTypeVO.java new file mode 100644 index 0000000000000000000000000000000000000000..309a19175dd6345bda52cf552ee8dbed5708512c --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyLevelTypeVO.java @@ -0,0 +1,200 @@ +/** + * <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.taxonomy.restapi; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + +import org.olat.modules.taxonomy.TaxonomyLevelType; + +/** + * + * Initial date: 5 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "taxonomyLevelTypeVO") +public class TaxonomyLevelTypeVO { + + private Long key; + private String identifier; + private String displayName; + private String description; + private String externalId; + + private String managedFlags; + + private String cssClass; + private Boolean visible; + + private Boolean documentsLibraryEnabled; + private Boolean documentsLibraryManagerCompetenceEnabled; + private Boolean documentsLibraryTeachCompetenceReadEnabled; + private Integer documentsLibraryTeachCompetenceReadParentLevels; + private Boolean documentsLibraryTeachCompetenceWriteEnabled; + private Boolean documentsLibraryHaveCompetenceReadEnabled; + private Boolean documentsLibraryTargetCompetenceReadEnabled; + + public TaxonomyLevelTypeVO() { + // + } + + public TaxonomyLevelTypeVO(TaxonomyLevelType taxonomyLevelType) { + key = taxonomyLevelType.getKey(); + identifier = taxonomyLevelType.getIdentifier(); + displayName = taxonomyLevelType.getDisplayName(); + description = taxonomyLevelType.getDescription(); + externalId = taxonomyLevelType.getExternalId(); + managedFlags = taxonomyLevelType.getManagedFlagsString(); + + cssClass = taxonomyLevelType.getCssClass(); + visible = taxonomyLevelType.isVisible(); + + documentsLibraryManagerCompetenceEnabled = taxonomyLevelType.isDocumentsLibraryManageCompetenceEnabled(); + documentsLibraryTeachCompetenceReadEnabled = taxonomyLevelType.isDocumentsLibraryTeachCompetenceReadEnabled(); + documentsLibraryTeachCompetenceReadParentLevels = taxonomyLevelType.getDocumentsLibraryTeachCompetenceReadParentLevels(); + documentsLibraryTeachCompetenceWriteEnabled = taxonomyLevelType.isDocumentsLibraryTeachCompetenceWriteEnabled(); + documentsLibraryHaveCompetenceReadEnabled = taxonomyLevelType.isDocumentsLibraryHaveCompetenceReadEnabled(); + documentsLibraryTargetCompetenceReadEnabled = taxonomyLevelType.isDocumentsLibraryTargetCompetenceReadEnabled(); + } + + 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 getExternalId() { + return externalId; + } + + public void setExternalId(String externalId) { + this.externalId = externalId; + } + + public String getManagedFlags() { + return managedFlags; + } + + public void setManagedFlags(String managedFlags) { + this.managedFlags = managedFlags; + } + + public String getCssClass() { + return cssClass; + } + + public void setCssClass(String cssClass) { + this.cssClass = cssClass; + } + + public Boolean getVisible() { + return visible; + } + + public void setVisible(Boolean visible) { + this.visible = visible; + } + + public Boolean getDocumentsLibraryEnabled() { + return documentsLibraryEnabled; + } + + public void setDocumentsLibraryEnabled(Boolean documentsLibraryEnabled) { + this.documentsLibraryEnabled = documentsLibraryEnabled; + } + + public Boolean getDocumentsLibraryManagerCompetenceEnabled() { + return documentsLibraryManagerCompetenceEnabled; + } + + public void setDocumentsLibraryManagerCompetenceEnabled(Boolean documentsLibraryManagerCompetenceEnabled) { + this.documentsLibraryManagerCompetenceEnabled = documentsLibraryManagerCompetenceEnabled; + } + + public Boolean getDocumentsLibraryTeachCompetenceReadEnabled() { + return documentsLibraryTeachCompetenceReadEnabled; + } + + public void setDocumentsLibraryTeachCompetenceReadEnabled(Boolean documentsLibraryTeachCompetenceReadEnabled) { + this.documentsLibraryTeachCompetenceReadEnabled = documentsLibraryTeachCompetenceReadEnabled; + } + + public Integer getDocumentsLibraryTeachCompetenceReadParentLevels() { + return documentsLibraryTeachCompetenceReadParentLevels; + } + + public void setDocumentsLibraryTeachCompetenceReadParentLevels( + Integer documentsLibraryTeachCompetenceReadParentLevels) { + this.documentsLibraryTeachCompetenceReadParentLevels = documentsLibraryTeachCompetenceReadParentLevels; + } + + public Boolean getDocumentsLibraryTeachCompetenceWriteEnabled() { + return documentsLibraryTeachCompetenceWriteEnabled; + } + + public void setDocumentsLibraryTeachCompetenceWriteEnabled(Boolean documentsLibraryTeachCompetenceWriteEnabled) { + this.documentsLibraryTeachCompetenceWriteEnabled = documentsLibraryTeachCompetenceWriteEnabled; + } + + public Boolean getDocumentsLibraryHaveCompetenceReadEnabled() { + return documentsLibraryHaveCompetenceReadEnabled; + } + + public void setDocumentsLibraryHaveCompetenceReadEnabled(Boolean documentsLibraryHaveCompetenceReadEnabled) { + this.documentsLibraryHaveCompetenceReadEnabled = documentsLibraryHaveCompetenceReadEnabled; + } + + public Boolean getDocumentsLibraryTargetCompetenceReadEnabled() { + return documentsLibraryTargetCompetenceReadEnabled; + } + + public void setDocumentsLibraryTargetCompetenceReadEnabled(Boolean documentsLibraryTargetCompetenceReadEnabled) { + this.documentsLibraryTargetCompetenceReadEnabled = documentsLibraryTargetCompetenceReadEnabled; + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyLevelVO.java b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyLevelVO.java new file mode 100644 index 0000000000000000000000000000000000000000..c15cf2662261f110f8f4da5e05c8fe70d67bd291 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyLevelVO.java @@ -0,0 +1,131 @@ +/** + * <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.taxonomy.restapi; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + +import org.olat.modules.taxonomy.TaxonomyLevel; + +/** + * + * Initial date: 5 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "taxonomyLevelVO") +public class TaxonomyLevelVO { + + private Long key; + private String identifier; + private String displayName; + private String description; + private String externalId; + + private Long parentKey; + private Long typeKey; + + private String managedFlags; + + public TaxonomyLevelVO() { + // + } + + public TaxonomyLevelVO(TaxonomyLevel taxonomyLevel) { + key = taxonomyLevel.getKey(); + identifier = taxonomyLevel.getIdentifier(); + displayName = taxonomyLevel.getDisplayName(); + description = taxonomyLevel.getDescription(); + externalId = taxonomyLevel.getExternalId(); + if(taxonomyLevel.getParent() != null) { + parentKey = taxonomyLevel.getParent().getKey(); + } + if(taxonomyLevel.getType() != null) { + typeKey = taxonomyLevel.getType().getKey(); + } + managedFlags = taxonomyLevel.getManagedFlagsString(); + } + + 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 getExternalId() { + return externalId; + } + + public void setExternalId(String externalId) { + this.externalId = externalId; + } + + public String getManagedFlags() { + return managedFlags; + } + + public void setManagedFlags(String managedFlags) { + this.managedFlags = managedFlags; + } + + public Long getTypeKey() { + return typeKey; + } + + public void setTypeKey(Long typeKey) { + this.typeKey = typeKey; + } + + public Long getParentKey() { + return parentKey; + } + + public void setParentKey(Long parentKey) { + this.parentKey = parentKey; + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyModuleConfigurationVO.java b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyModuleConfigurationVO.java new file mode 100644 index 0000000000000000000000000000000000000000..6aada3b039a8f910bbb4f5fba38c02e8dc915570 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyModuleConfigurationVO.java @@ -0,0 +1,58 @@ +/** + * <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.taxonomy.restapi; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + +/** + * + * Initial date: 5 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "taxonomyModuleConfigurationVO") +public class TaxonomyModuleConfigurationVO { + + private boolean enabled; + private String taxonomyTreeKey; + + public TaxonomyModuleConfigurationVO() { + // + } + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public String getTaxonomyTreeKey() { + return taxonomyTreeKey; + } + + public void setTaxonomyTreeKey(String taxonomyTreeKey) { + this.taxonomyTreeKey = taxonomyTreeKey; + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyModuleWebService.java b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyModuleWebService.java new file mode 100644 index 0000000000000000000000000000000000000000..80968156a447e08b744485a4ea9e70a927910690 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyModuleWebService.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.modules.taxonomy.restapi; + +import static org.olat.restapi.security.RestSecurityHelper.getRoles; + +import javax.servlet.http.HttpServletRequest; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.WebApplicationException; +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.core.CoreSpringFactory; +import org.olat.core.id.Roles; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyModule; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.model.TaxonomyRefImpl; + +/** + * + * Initial date: 5 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Path("taxonomy") +public class TaxonomyModuleWebService { + + /** + * Return the configuration of the taxonomy module. + * + * @response.representation.200.qname {http://www.example.com}taxonomyModuleConfigurationVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc The configuration of the taxonomy module + * @response.representation.200.example {@link org.olat.modules.taxonomy.restapi.Examples#SAMPLE_TAXONOMYMODULECONFIGURATIONVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @param httpRequest The HTTP request + * @return The module configuration + */ + @GET + @Path("module/configuration") + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response getModuleConfiguration(@Context HttpServletRequest httpRequest) { + Roles roles = getRoles(httpRequest); + if(!roles.isOLATAdmin()) { + return Response.serverError().status(Status.UNAUTHORIZED).build(); + } + + TaxonomyModule taxonomyModule = CoreSpringFactory.getImpl(TaxonomyModule.class); + TaxonomyModuleConfigurationVO configVO = new TaxonomyModuleConfigurationVO(); + configVO.setEnabled(taxonomyModule.isEnabled()); + configVO.setTaxonomyTreeKey(taxonomyModule.getTaxonomyTreeKey()); + return Response.ok(configVO).build(); + } + + @Path("{taxonomyKey}") + public TaxonomyWebService getTaxonomyWebService(@PathParam("taxonomyKey") Long taxonomyKey, @Context HttpServletRequest httpRequest) { + Roles roles = getRoles(httpRequest); + if(!roles.isOLATAdmin()) { + throw new WebApplicationException(Response.serverError().status(Status.UNAUTHORIZED).build()); + } + if(taxonomyKey == null || taxonomyKey.longValue() <= 0) { + throw new WebApplicationException(Response.serverError().status(Status.BAD_REQUEST).build()); + } + + TaxonomyService taxonomyService = CoreSpringFactory.getImpl(TaxonomyService.class); + Taxonomy taxonomy = taxonomyService.getTaxonomy(new TaxonomyRefImpl(taxonomyKey)); + if(taxonomy == null) { + throw new WebApplicationException(Response.serverError().status(Status.NOT_FOUND).build()); + } + return new TaxonomyWebService(taxonomy); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyVO.java b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyVO.java new file mode 100644 index 0000000000000000000000000000000000000000..413cc9de9c4b9fea089cea47a8128d2aa80e1b1a --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyVO.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.taxonomy.restapi; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + +import org.olat.modules.taxonomy.Taxonomy; + +/** + * + * Initial date: 5 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "taxonomyVO") +public class TaxonomyVO { + + private Long key; + private String identifier; + private String displayName; + private String description; + private String externalId; + + private String managedFlags; + + public TaxonomyVO() { + // + } + + public TaxonomyVO(Taxonomy taxonomy) { + key = taxonomy.getKey(); + identifier = taxonomy.getIdentifier(); + displayName = taxonomy.getDisplayName(); + description = taxonomy.getDescription(); + externalId = taxonomy.getExternalId(); + } + + 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 getExternalId() { + return externalId; + } + + public void setExternalId(String externalId) { + this.externalId = externalId; + } + + public String getManagedFlags() { + return managedFlags; + } + + public void setManagedFlags(String managedFlags) { + this.managedFlags = managedFlags; + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyWebService.java b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyWebService.java new file mode 100644 index 0000000000000000000000000000000000000000..3fe897cbd8e69fb7c201af9c525e640e050ebb04 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/restapi/TaxonomyWebService.java @@ -0,0 +1,550 @@ +/** + * <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.taxonomy.restapi; + +import static org.olat.restapi.security.RestSecurityHelper.getIdentity; + +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.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.BaseSecurity; +import org.olat.core.CoreSpringFactory; +import org.olat.core.id.Identity; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceAuditLog; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevelManagedFlag; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyLevelTypeManagedFlag; +import org.olat.modules.taxonomy.TaxonomyLevelTypeToType; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.model.TaxonomyCompetenceRefImpl; +import org.olat.modules.taxonomy.model.TaxonomyLevelRefImpl; +import org.olat.modules.taxonomy.model.TaxonomyLevelTypeRefImpl; + +/** + * + * Initial date: 5 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyWebService { + + private final Taxonomy taxonomy; + private final BaseSecurity securityManager; + private final TaxonomyService taxonomyService; + + public TaxonomyWebService(Taxonomy taxonomy) { + this.taxonomy = taxonomy; + taxonomyService = CoreSpringFactory.getImpl(TaxonomyService.class); + securityManager = CoreSpringFactory.getImpl(BaseSecurity.class); + } + + /** + * Return the taxonomy object specified by the key in path. + * + * @response.representation.200.qname {http://www.example.com}taxonomyVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc A taxonomy + * @response.representation.200.example {@link org.olat.modules.taxonomy.restapi.Examples#SAMPLE_TAXONOMYVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @param taxonomyKey If true, the status of the block is done or the status of the roll call is closed or auto closed + * @param httpRequest The HTTP request + * @return The taxonomy + */ + @GET + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response getTaxonomy() { + TaxonomyVO taxonomyVo = new TaxonomyVO(taxonomy); + return Response.ok(taxonomyVo).build(); + } + + /** + * Return the flatted levels of a taxonomy. + * + * @response.representation.200.qname {http://www.example.com}taxonomyLevelVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc A taxonomy + * @response.representation.200.example {@link org.olat.modules.taxonomy.restapi.Examples#SAMPLE_TAXONOMYLEVELVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @param taxonomyKey If true, the status of the block is done or the status of the roll call is closed or auto closed + * @param httpRequest The HTTP request + * @return An array of taxonomy levels + */ + @GET + @Path("levels") + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response getFlatTaxonomyLevels() { + List<TaxonomyLevel> levels = taxonomyService.getTaxonomyLevels(taxonomy); + List<TaxonomyLevelVO> levelVOes = new ArrayList<>(levels.size()); + for(TaxonomyLevel level:levels) { + levelVOes.add(new TaxonomyLevelVO(level)); + } + return Response.ok(levelVOes.toArray(new TaxonomyLevelVO[levelVOes.size()])).build(); + } + + /** + * Create or update a taxonomy level. The method doesn't change to tree structure + * and will ignore a modified parentKey. + * + * @response.representation.200.qname {http://www.example.com}taxonomyLevelVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc A taxonomy level + * @response.representation.200.example {@link org.olat.modules.taxonomy.restapi.Examples#SAMPLE_TAXONOMYLEVELVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc An existant level was not found + * @param taxonomyKey The taxonomy tree where this level is + * @param httpRequest The HTTP request + * @param levelVo The roll call to update + * @return The updated roll call + */ + @PUT + @Path("levels") + @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response putTaxonomyLevel(TaxonomyLevelVO levelVo) { + TaxonomyLevel parentLevel = null; + if(levelVo.getParentKey() != null) { + parentLevel = taxonomyService.getTaxonomyLevel(new TaxonomyLevelRefImpl(levelVo.getParentKey())); + } + + TaxonomyLevel level; + if(levelVo.getKey() != null) { + level = taxonomyService.getTaxonomyLevel(new TaxonomyLevelRefImpl(levelVo.getKey())); + if(levelVo.getIdentifier() != null) { + level.setIdentifier(levelVo.getIdentifier()); + } + if(levelVo.getDisplayName() != null) { + level.setDisplayName(levelVo.getDisplayName()); + } + if(levelVo.getDescription() != null) { + level.setDescription(levelVo.getDescription()); + } + if(levelVo.getExternalId() != null) { + level.setExternalId(levelVo.getExternalId()); + } + if(levelVo.getTypeKey() != null) { + TaxonomyLevelType type = taxonomyService.getTaxonomyLevelType(new TaxonomyLevelTypeRefImpl(levelVo.getTypeKey())); + level.setType(type); + } + if(levelVo.getManagedFlags() != null) { + level.setManagedFlags(TaxonomyLevelManagedFlag.toEnum(levelVo.getManagedFlags())); + } + level = taxonomyService.updateTaxonomyLevel(level); + } else { + level = taxonomyService.createTaxonomyLevel(levelVo.getIdentifier(), levelVo.getDisplayName(), + levelVo.getDescription(), levelVo.getExternalId(), TaxonomyLevelManagedFlag.toEnum(levelVo.getManagedFlags()), + parentLevel, taxonomy); + if(levelVo.getTypeKey() != null) { + TaxonomyLevelType type = taxonomyService.getTaxonomyLevelType(new TaxonomyLevelTypeRefImpl(levelVo.getTypeKey())); + level.setType(type); + level = taxonomyService.updateTaxonomyLevel(level); + } + } + TaxonomyLevelVO newLevelVo = new TaxonomyLevelVO(level); + return Response.ok(newLevelVo).build(); + } + + /** + * Return the competences of users on the taxonomy level specified in the key in path. + * + * @response.representation.200.qname {http://www.example.com}taxonomyCompetenceVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc An array of competences + * @response.representation.200.example {@link org.olat.modules.taxonomy.restapi.Examples#SAMPLE_TAXONOMYCOMPETENCEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @param taxonomyKey The taxonomy tree + * @param taxonomyLevelKey The level of the taxonomy + * @param httpRequest The HTTP request + * @return An array of competences + */ + @GET + @Path("levels/{taxonomyLevelKey}/competences") + @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response getTaxonomyLevelComptences(@PathParam("taxonomyLevelKey") Long taxonomyLevelKey) { + TaxonomyLevel level = taxonomyService.getTaxonomyLevel(new TaxonomyLevelRefImpl(new Long(taxonomyLevelKey))); + if(level == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + + List<TaxonomyCompetence> competences = taxonomyService.getTaxonomyLevelCompetences(level); + List<TaxonomyCompetenceVO> competenceVOes = new ArrayList<>(competences.size()); + for(TaxonomyCompetence competence:competences) { + competenceVOes.add(new TaxonomyCompetenceVO(competence)); + } + return Response.ok(competenceVOes.toArray(new TaxonomyCompetenceVO[competenceVOes.size()])).build(); + } + + /** + * Return the competences of a specific user on the taxonomy level + * specified in the key in path. + * + * @response.representation.200.qname {http://www.example.com}taxonomyCompetenceVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc An array of competences + * @response.representation.200.example {@link org.olat.modules.taxonomy.restapi.Examples#SAMPLE_TAXONOMYCOMPETENCEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @param taxonomyKey The taxonomy tree + * @param taxonomyLevelKey The level of the taxonomy + * @param identityKey The user + * @param httpRequest The HTTP request + * @return An array of competences + */ + @GET + @Path("levels/{taxonomyLevelKey}/competences/{identityKey}") + @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response getTaxonomyLevelComptencesByIdentity(@PathParam("taxonomyLevelKey") Long taxonomyLevelKey, + @PathParam("identityKey") Long identityKey) { + TaxonomyLevel level = taxonomyService.getTaxonomyLevel(new TaxonomyLevelRefImpl(new Long(taxonomyLevelKey))); + if(level == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + Identity identity = securityManager.loadIdentityByKey(identityKey); + if(identity == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + + List<TaxonomyCompetence> competences = taxonomyService.getTaxonomyLevelCompetences(level, identity); + List<TaxonomyCompetenceVO> competenceVOes = new ArrayList<>(competences.size()); + for(TaxonomyCompetence competence:competences) { + competenceVOes.add(new TaxonomyCompetenceVO(competence)); + } + return Response.ok(competenceVOes.toArray(new TaxonomyCompetenceVO[competenceVOes.size()])).build(); + } + + /** + * Add a competence on a specific level of a taxonomy tree. + * + * @response.representation.200.qname {http://www.example.com}taxonomyCompetenceVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc A competence + * @response.representation.200.example {@link org.olat.modules.taxonomy.restapi.Examples#SAMPLE_TAXONOMYCOMPETENCEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The taxonomy level type to update was not found + * @param taxonomyKey The taxonomy tree + * @param taxonomyLevelKey The taxonomy level + * @param comptenceVo The competence to add or update + * @param httpRequest The HTTP request + * @return The added/updated competence + */ + @PUT + @Path("levels/{taxonomyLevelKey}/competences") + @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response putTaxonomyLevelComptencesByIdentity(@PathParam("taxonomyLevelKey") Long taxonomyLevelKey, + TaxonomyCompetenceVO comptenceVo, @Context HttpServletRequest httpRequest) { + Identity executor = getIdentity(httpRequest); + return addTaxonomyLevelComptencesByIdentity(taxonomyLevelKey, comptenceVo, executor); + } + + private Response addTaxonomyLevelComptencesByIdentity(Long taxonomyLevelKey, TaxonomyCompetenceVO comptenceVo, Identity executor) { + if(taxonomyLevelKey != null && comptenceVo.getTaxonomyLevelKey() != null && !taxonomyLevelKey.equals(comptenceVo.getTaxonomyLevelKey())) { + return Response.serverError().status(Status.CONFLICT).build(); + } + if(taxonomyLevelKey == null) { + taxonomyLevelKey = comptenceVo.getTaxonomyLevelKey(); + } + + TaxonomyLevel level = taxonomyService.getTaxonomyLevel(new TaxonomyLevelRefImpl(new Long(taxonomyLevelKey))); + if(level == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + Identity identity = securityManager.loadIdentityByKey(comptenceVo.getIdentityKey()); + if(identity == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + + List<TaxonomyCompetence> competences = taxonomyService.getTaxonomyLevelCompetences(level, identity); + for(TaxonomyCompetence competence:competences) { + if(competence.getCompetenceType().name().equals(comptenceVo.getTaxonomyCompetenceType())) { + return Response.ok(new TaxonomyCompetenceVO(competence)).status(Status.NOT_MODIFIED).build(); + } + } + + TaxonomyCompetenceTypes competenceType + = TaxonomyCompetenceTypes.valueOf(comptenceVo.getTaxonomyCompetenceType()); + TaxonomyCompetence competence = taxonomyService.addTaxonomyLevelCompetences(level, identity, competenceType); + String after = taxonomyService.toAuditXml(competence); + taxonomyService.auditLog(TaxonomyCompetenceAuditLog.Action.addCompetence, null, after, null, taxonomy, competence, identity, executor); + + return Response.ok(new TaxonomyCompetenceVO(competence)).build(); + } + + /** + * Remove a competence. + * + * @response.representation.200.doc The competence was removed sucessfully + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The competence was not found + * @param taxonomyKey The taxonomy tree + * @param taxonomyLevelKey The taxonomy level + * @param competenceKey The competence to remove + * @param httpRequest The HTTP request + * @return Nothing + */ + @DELETE + @Path("levels/{taxonomyLevelKey}/competences/{competenceKey}") + @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response removeTaxonomyLevelCompetence(@PathParam("taxonomyLevelKey") Long taxonomyLevelKey, + @PathParam("competenceKey") Long competenceKey, @Context HttpServletRequest httpRequest) { + Identity executor = getIdentity(httpRequest); + TaxonomyCompetence competence = taxonomyService.getTaxonomyCompetence(new TaxonomyCompetenceRefImpl(competenceKey)); + if(competence == null || !competence.getTaxonomyLevel().getKey().equals(taxonomyLevelKey)) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + + String before = taxonomyService.toAuditXml(competence); + taxonomyService.removeTaxonomyLevelCompetence(competence); + taxonomyService.auditLog(TaxonomyCompetenceAuditLog.Action.removeCompetence, before, null, null, + taxonomy, competence, competence.getIdentity(), executor); + return Response.ok().build(); + } + + /** + * Get the configurations for taxonomy levels for the whole taxonomy. + * + * @response.representation.200.qname {http://www.example.com}taxonomyLevelTypeVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc A taxonomy level + * @response.representation.200.example {@link org.olat.modules.taxonomy.restapi.Examples#SAMPLE_TAXONOMYLEVELTYPEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The taxonomy was not found + * @param taxonomyKey The taxonomy tree + * @param httpRequest The HTTP request + * @return An array of taxonomy levels types + */ + @GET + @Path("types") + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response getTaxonomyLevelTypes() { + List<TaxonomyLevelType> types = taxonomyService.getTaxonomyLevelTypes(taxonomy); + List<TaxonomyLevelTypeVO> typeVOes = new ArrayList<>(types.size()); + for(TaxonomyLevelType type:types) { + typeVOes.add(new TaxonomyLevelTypeVO(type)); + } + return Response.ok(typeVOes.toArray(new TaxonomyLevelTypeVO[typeVOes.size()])).build(); + } + + /** + * Create or Update a taxonomy level's type. + * + * @response.representation.200.qname {http://www.example.com}taxonomyLevelTypeVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc A taxonomy level type + * @response.representation.200.example {@link org.olat.modules.taxonomy.restapi.Examples#SAMPLE_TAXONOMYLEVELTYPEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The taxonomy level type to update was not found + * @param taxonomyKey The taxonomy tree + * @param httpRequest The HTTP request + * @param typeVo The taxonomy level type to create or update + * @return The created/updated taxonomy level type + */ + @PUT + @Path("types") + @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response putTaxonomyLevelType(TaxonomyLevelTypeVO typeVo) { + TaxonomyLevelType type; + if(typeVo.getKey() != null) { + type = taxonomyService.getTaxonomyLevelType(new TaxonomyLevelTypeRefImpl(typeVo.getKey())); + if(type == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + if(typeVo.getIdentifier() != null) { + type.setIdentifier(typeVo.getIdentifier()); + } + if(typeVo.getDisplayName() != null) { + type.setDisplayName(typeVo.getDisplayName()); + } + if(typeVo.getDescription() != null) { + type.setDescription(typeVo.getDescription()); + } + if(typeVo.getExternalId() != null) { + type.setExternalId(typeVo.getExternalId()); + } + } else { + type = taxonomyService + .createTaxonomyLevelType(typeVo.getIdentifier(), typeVo.getDisplayName(), typeVo.getDescription(), typeVo.getExternalId(), + taxonomy); + } + + if(typeVo.getManagedFlags() != null) { + type.setManagedFlags(TaxonomyLevelTypeManagedFlag.toEnum(typeVo.getManagedFlags())); + } + + if(typeVo.getCssClass() != null) { + type.setCssClass(typeVo.getCssClass()); + } + if(typeVo.getVisible() != null) { + type.setVisible(typeVo.getVisible().booleanValue()); + } + + if(typeVo.getDocumentsLibraryEnabled() != null) { + type.setDocumentsLibraryEnabled(typeVo.getDocumentsLibraryEnabled().booleanValue()); + } + if(typeVo.getDocumentsLibraryManagerCompetenceEnabled() != null) { + type.setDocumentsLibraryManageCompetenceEnabled(typeVo.getDocumentsLibraryManagerCompetenceEnabled().booleanValue()); + } + if(typeVo.getDocumentsLibraryTeachCompetenceReadEnabled() != null) { + type.setDocumentsLibraryTeachCompetenceReadEnabled(typeVo.getDocumentsLibraryTeachCompetenceReadEnabled().booleanValue()); + } + if(typeVo.getDocumentsLibraryTeachCompetenceReadParentLevels() != null) { + type.setDocumentsLibraryTeachCompetenceReadParentLevels(typeVo.getDocumentsLibraryTeachCompetenceReadParentLevels().intValue()); + } + if(typeVo.getDocumentsLibraryTeachCompetenceWriteEnabled() != null) { + type.setDocumentsLibraryTeachCompetenceWriteEnabled(typeVo.getDocumentsLibraryTeachCompetenceWriteEnabled().booleanValue()); + } + if(typeVo.getDocumentsLibraryHaveCompetenceReadEnabled() != null) { + type.setDocumentsLibraryHaveCompetenceReadEnabled(typeVo.getDocumentsLibraryHaveCompetenceReadEnabled().booleanValue()); + } + if(typeVo.getDocumentsLibraryTargetCompetenceReadEnabled() != null) { + type.setDocumentsLibraryTargetCompetenceReadEnabled(typeVo.getDocumentsLibraryTargetCompetenceReadEnabled().booleanValue()); + } + + type = taxonomyService.updateTaxonomyLevelType(type); + return Response.ok(new TaxonomyLevelTypeVO(type)).build(); + } + + /** + * Get a taxonomy level's type. + * + * @response.representation.200.qname {http://www.example.com}taxonomyLevelTypeVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc A taxonomy level type + * @response.representation.200.example {@link org.olat.modules.taxonomy.restapi.Examples#SAMPLE_TAXONOMYLEVELTYPEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The taxonomy level type was not found + * @param taxonomyKey The taxonomy tree + * @param httpRequest The HTTP request + * @param typeKey The primary key of the taxonomy level type to retrieve + * @return A taxonomy level type + */ + @GET + @Path("types/{typeKey}") + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response getTaxonomyLevelType(@PathParam("typeKey") Long typeKey) { + TaxonomyLevelType type = taxonomyService.getTaxonomyLevelType(new TaxonomyLevelTypeRefImpl(typeKey)); + if(type == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + return Response.ok(new TaxonomyLevelTypeVO(type)).build(); + } + + /** + * Get the allowed sub-types of a specified taxonomy level's type. + * + * @response.representation.200.qname {http://www.example.com}taxonomyLevelTypeVO + * @response.representation.200.mediaType application/xml, application/json + * @response.representation.200.doc An array of taxonomy level types + * @response.representation.200.example {@link org.olat.modules.taxonomy.restapi.Examples#SAMPLE_TAXONOMYLEVELTYPEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The taxonomy level type was not found + * @param taxonomyKey The taxonomy tree + * @param httpRequest The HTTP request + * @param typeKey The primary key of the taxonomy level type + * @return An array of taxonomy level types + */ + @GET + @Path("types/{typeKey}/allowedSubTypes") + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response getAllowedSubTaxonomyLevelTypes(@PathParam("typeKey") Long typeKey) { + TaxonomyLevelType type = taxonomyService.getTaxonomyLevelType(new TaxonomyLevelTypeRefImpl(typeKey)); + if(type == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + Set<TaxonomyLevelTypeToType> typeToTypes = type.getAllowedTaxonomyLevelSubTypes(); + List<TaxonomyLevelTypeVO> subTypeVOes = new ArrayList<>(typeToTypes.size()); + for(TaxonomyLevelTypeToType typeToType:typeToTypes) { + TaxonomyLevelType subType = typeToType.getAllowedSubTaxonomyLevelType(); + subTypeVOes.add(new TaxonomyLevelTypeVO(subType)); + } + return Response.ok(subTypeVOes.toArray(new TaxonomyLevelTypeVO[subTypeVOes.size()])).build(); + } + + /** + * Add a sub-type to a specified taxonomy level's type. + * + * @response.representation.200.qname {http://www.example.com}taxonomyLevelTypeVO + * @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.modules.taxonomy.restapi.Examples#SAMPLE_TAXONOMYLEVELTYPEVO} + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The taxonomy level type was not found + * @param taxonomyKey The taxonomy tree + * @param typeKey The type + * @param subTypeKey The sub type + * @param httpRequest The HTTP request + * @return Nothing + */ + @PUT + @Path("types/{typeKey}/allowedSubTypes/{subTypeKey}") + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) + public Response allowSubTaxonomyLevelType(@PathParam("typeKey") Long typeKey, @PathParam("subTypeKey") Long subTypeKey) { + TaxonomyLevelType type = taxonomyService.getTaxonomyLevelType(new TaxonomyLevelTypeRefImpl(typeKey)); + TaxonomyLevelType subType = taxonomyService.getTaxonomyLevelType(new TaxonomyLevelTypeRefImpl(subTypeKey)); + if(type == null || subType == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + taxonomyService.taxonomyLevelTypeAllowSubType(type, subType); + return Response.ok().build(); + } + + /** + * Remove a sub-type to a specified taxonomy level's type. + * + * @response.representation.200.doc The sub type was removed sucessfully + * @response.representation.401.doc The roles of the authenticated user are not sufficient + * @response.representation.404.doc The taxonomy level type was not found + * @param taxonomyKey The taxonomy tree + * @param typeKey The type + * @param subTypeKey The sub type to remove + * @param httpRequest The HTTP request + * @return Nothing + */ + @DELETE + @Path("types/{typeKey}/allowedSubTypes/{subTypeKey}") + public Response disalloweSubTaxonomyLevelType(@PathParam("typeKey") Long typeKey, @PathParam("subTypeKey") Long subTypeKey) { + TaxonomyLevelType type = taxonomyService.getTaxonomyLevelType(new TaxonomyLevelTypeRefImpl(typeKey)); + TaxonomyLevelType subType = taxonomyService.getTaxonomyLevelType(new TaxonomyLevelTypeRefImpl(subTypeKey)); + if(type == null || subType == null) { + return Response.serverError().status(Status.NOT_FOUND).build(); + } + taxonomyService.taxonomyLevelTypeDisallowSubType(type, subType); + return Response.ok().build(); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/search/indexer/TaxonomyLevelLibraryIndexer.java b/src/main/java/org/olat/modules/taxonomy/search/indexer/TaxonomyLevelLibraryIndexer.java new file mode 100644 index 0000000000000000000000000000000000000000..3c96150b30d5331101305cbb46fd1aac5b073182 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/search/indexer/TaxonomyLevelLibraryIndexer.java @@ -0,0 +1,113 @@ +/** + * <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.taxonomy.search.indexer; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import org.olat.core.gui.components.tree.TreeModel; +import org.olat.core.gui.components.tree.TreeNode; +import org.olat.core.id.Identity; +import org.olat.core.id.Roles; +import org.olat.core.id.context.BusinessControl; +import org.olat.core.id.context.ContextEntry; +import org.olat.core.util.tree.TreeHelper; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.manager.TaxonomyTreeBuilder; +import org.olat.modules.taxonomy.model.TaxonomyLevelRefImpl; +import org.olat.modules.taxonomy.model.TaxonomyTreeNode; +import org.olat.modules.taxonomy.model.TaxonomyTreeNodeType; +import org.olat.search.service.SearchResourceContext; +import org.olat.search.service.indexer.DefaultIndexer; +import org.olat.search.service.indexer.FolderIndexerAccess; +import org.olat.search.service.indexer.FolderIndexerWorker; +import org.olat.search.service.indexer.OlatFullIndexer; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 20 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service("taxonomyLevelLibraryIndexer") +public class TaxonomyLevelLibraryIndexer extends DefaultIndexer { + + @Autowired + private TaxonomyService taxonomyService; + + @Override + public String getSupportedTypeName() { + return "TaxonomyLevel"; + } + + @Override + public void doIndex(SearchResourceContext parentResourceContext, Object object, OlatFullIndexer indexerWriter) + throws IOException, InterruptedException { + if(object instanceof TaxonomyLevel) { + TaxonomyLevel level = (TaxonomyLevel)object; + VFSContainer library = taxonomyService.getDocumentsLibrary(level); + if(library != null) { + SearchResourceContext searchResourceContext = new SearchResourceContext(parentResourceContext); + searchResourceContext.setBusinessControlFor(level); + searchResourceContext.setTitle(level.getDisplayName()); + searchResourceContext.setDescription(level.getDescription()); + searchResourceContext.setLastModified(level.getLastModified()); + searchResourceContext.setCreatedDate(level.getCreationDate()); + + FolderIndexerWorker runnableFolderIndexer = new FolderIndexerWorker(); + runnableFolderIndexer.setAccessRule(FolderIndexerAccess.FULL_ACCESS); + runnableFolderIndexer.setParentResourceContext(searchResourceContext); + runnableFolderIndexer.setContainer(library); + runnableFolderIndexer.setIndexWriter(indexerWriter); + runnableFolderIndexer.setFilePath(""); + indexerWriter.submit(runnableFolderIndexer); + } + } + } + + @Override + public boolean checkAccess(ContextEntry contextEntry, BusinessControl businessControl, Identity identity, Roles roles) { + if(roles.isOLATAdmin()) return true; + + if("TaxonomyLevel".equals(contextEntry.getOLATResourceable().getResourceableTypeName())) { + Long levelKey = contextEntry.getOLATResourceable().getResourceableId(); + TaxonomyLevel level = taxonomyService.getTaxonomyLevel(new TaxonomyLevelRefImpl(levelKey)); + TaxonomyTreeBuilder builder = new TaxonomyTreeBuilder(level.getTaxonomy(), identity, null, false); + TreeModel model = builder.buildTreeModel(); + List<TreeNode> flat = new ArrayList<>(); + TreeHelper.makeTreeFlat(model.getRootNode(), flat); + for(TreeNode node:flat) { + TaxonomyTreeNode taxonomyNode = (TaxonomyTreeNode)node; + if(taxonomyNode.getType() == TaxonomyTreeNodeType.taxonomyLevel + && level.equals(taxonomyNode.getTaxonomyLevel())) { + if(taxonomyNode.isDocumentsLibraryEnabled() && taxonomyNode.isCanRead()) { + return true; + } + } + } + } + return false; + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/search/indexer/TaxonomyLibraryIndexer.java b/src/main/java/org/olat/modules/taxonomy/search/indexer/TaxonomyLibraryIndexer.java new file mode 100644 index 0000000000000000000000000000000000000000..bc426e54d083f934919336bd1315ed379bd420f5 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/search/indexer/TaxonomyLibraryIndexer.java @@ -0,0 +1,134 @@ +/** + * <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.taxonomy.search.indexer; + +import java.io.IOException; +import java.util.List; + +import org.olat.core.id.Identity; +import org.olat.core.id.Roles; +import org.olat.core.id.context.BusinessControl; +import org.olat.core.id.context.ContextEntry; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyRef; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.model.TaxonomyRefImpl; +import org.olat.search.service.SearchResourceContext; +import org.olat.search.service.indexer.AbstractHierarchicalIndexer; +import org.olat.search.service.indexer.FolderIndexerAccess; +import org.olat.search.service.indexer.FolderIndexerWorker; +import org.olat.search.service.indexer.OlatFullIndexer; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 20 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service("taxonomyLibraryIndexer") +public class TaxonomyLibraryIndexer extends AbstractHierarchicalIndexer implements InitializingBean { + + @Autowired + private TaxonomyService taxonomyService; + @Autowired + private TaxonomyLevelLibraryIndexer taxonomyLevelLibraryIndexer; + + @Override + public void afterPropertiesSet() throws Exception { + addIndexer(taxonomyLevelLibraryIndexer); + } + + @Override + public String getSupportedTypeName() { + return "Taxonomy"; + } + + @Override + public void doIndex(SearchResourceContext parentResourceContext, Object object, OlatFullIndexer indexerWriter) + throws IOException, InterruptedException { + List<Taxonomy> taxonomyList = taxonomyService.getRootTaxonomyList(); + for(Taxonomy taxonomy:taxonomyList) { + if(taxonomy.isDocumentsLibraryEnabled()) { + SearchResourceContext searchResourceContext = new SearchResourceContext(parentResourceContext); + searchResourceContext.setBusinessControlFor(taxonomy); + searchResourceContext.setTitle(taxonomy.getDisplayName()); + searchResourceContext.setDescription(taxonomy.getDescription()); + searchResourceContext.setLastModified(taxonomy.getLastModified()); + searchResourceContext.setCreatedDate(taxonomy.getCreationDate()); + doIndexTaxonomyLibrary(searchResourceContext, taxonomy, indexerWriter); + } + } + } + + private void doIndexTaxonomyLibrary(SearchResourceContext searchResourceContext, Taxonomy taxonomy, OlatFullIndexer indexerWriter) + throws InterruptedException { + VFSContainer templatesContainer = taxonomyService.getDocumentsLibrary(taxonomy); + if(templatesContainer != null) { + FolderIndexerWorker runnableFolderIndexer = new FolderIndexerWorker(); + runnableFolderIndexer.setAccessRule(FolderIndexerAccess.FULL_ACCESS); + runnableFolderIndexer.setParentResourceContext(searchResourceContext); + runnableFolderIndexer.setContainer(templatesContainer); + runnableFolderIndexer.setIndexWriter(indexerWriter); + runnableFolderIndexer.setFilePath(""); + indexerWriter.submit(runnableFolderIndexer); + } + + List<TaxonomyLevel> levels = taxonomyService.getTaxonomyLevels(taxonomy); + for(TaxonomyLevel level:levels) { + TaxonomyLevelType type = level.getType(); + if(type != null && hasDocumentLibraryEnabled(type)) { + try { + taxonomyLevelLibraryIndexer.doIndex(searchResourceContext, level, indexerWriter); + } catch(InterruptedException e) { + throw e; + } catch (Exception e) { + logError("", e); + } + } + } + } + + private boolean hasDocumentLibraryEnabled(TaxonomyLevelType type) { + return type.isDocumentsLibraryManageCompetenceEnabled() + || type.isDocumentsLibraryTeachCompetenceReadEnabled() + || type.isDocumentsLibraryTeachCompetenceWriteEnabled() + || type.isDocumentsLibraryHaveCompetenceReadEnabled() + || type.isDocumentsLibraryTargetCompetenceReadEnabled(); + } + + @Override + public boolean checkAccess(ContextEntry contextEntry, BusinessControl businessControl, Identity identity, Roles roles) { + if(roles.isOLATAdmin()) return true; + + List<ContextEntry> entries = businessControl.getEntriesDownTheControls(); + if(entries.size() == 1) { + TaxonomyRef taxonomy = new TaxonomyRefImpl(contextEntry.getOLATResourceable().getResourceableId()); + return taxonomyService.hasCompetence(taxonomy, identity, TaxonomyCompetenceTypes.manage, TaxonomyCompetenceTypes.teach); + } + return super.checkAccess(businessControl, identity, roles); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/site/TaxonomyContextEntryControllerCreator.java b/src/main/java/org/olat/modules/taxonomy/site/TaxonomyContextEntryControllerCreator.java new file mode 100644 index 0000000000000000000000000000000000000000..a6026d46050ca7b799b2d5a0c1b51305a6c816e9 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/site/TaxonomyContextEntryControllerCreator.java @@ -0,0 +1,46 @@ +/** + * <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.taxonomy.site; + +import java.util.List; + +import org.olat.core.gui.UserRequest; +import org.olat.core.id.context.ContextEntry; +import org.olat.core.id.context.ContextEntryControllerCreator; +import org.olat.core.id.context.DefaultContextEntryControllerCreator; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyContextEntryControllerCreator extends DefaultContextEntryControllerCreator { + + @Override + public ContextEntryControllerCreator clone() { + return this; + } + + @Override + public String getSiteClassName(List<ContextEntry> ces, UserRequest ureq) { + return TaxonomySite.class.getName(); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/site/TaxonomySite.java b/src/main/java/org/olat/modules/taxonomy/site/TaxonomySite.java new file mode 100644 index 0000000000000000000000000000000000000000..43072e40b4b1c0a6fdf23de3a81fb225297d36b9 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/site/TaxonomySite.java @@ -0,0 +1,82 @@ +/** + * <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.taxonomy.site; + +import java.util.Locale; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.generic.layout.MainLayoutController; +import org.olat.core.gui.control.navigation.AbstractSiteInstance; +import org.olat.core.gui.control.navigation.DefaultNavElement; +import org.olat.core.gui.control.navigation.NavElement; +import org.olat.core.gui.control.navigation.SiteConfiguration; +import org.olat.core.gui.control.navigation.SiteDefinition; +import org.olat.core.gui.translator.Translator; +import org.olat.core.id.OLATResourceable; +import org.olat.core.id.context.BusinessControlFactory; +import org.olat.core.id.context.StateSite; +import org.olat.core.logging.activity.ThreadLocalUserActivityLogger; +import org.olat.core.util.Util; +import org.olat.core.util.resource.OresHelper; +import org.olat.modules.taxonomy.ui.TaxonomyMainController; +import org.olat.util.logging.activity.LoggingResourceable; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomySite extends AbstractSiteInstance { + + private final NavElement origNavElem; + private NavElement curNavElem; + + /** + * @param loccale + */ + public TaxonomySite(SiteDefinition siteDef, Locale locale) { + super(siteDef); + Translator trans = Util.createPackageTranslator(TaxonomyMainController.class, locale); + origNavElem = new DefaultNavElement(trans.translate("site.title"), trans.translate("site.title.alt"), "o_site_taxonomy"); + curNavElem = new DefaultNavElement(origNavElem); + } + + @Override + public NavElement getNavElement() { + return curNavElem; + } + + @Override + protected MainLayoutController createController(UserRequest ureq, WindowControl wControl, SiteConfiguration config) { + OLATResourceable ores = OresHelper.createOLATResourceableInstance(TaxonomySite.class, 0l); + ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrapBusinessPath(ores)); + WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ureq, ores, new StateSite(this), wControl, true); + TaxonomyMainController mainController = new TaxonomyMainController(ureq, bwControl); + return mainController; + } + + @Override + public void reset() { + curNavElem = new DefaultNavElement(origNavElem); + } + +} diff --git a/src/main/java/org/olat/modules/taxonomy/site/TaxonomySiteDef.java b/src/main/java/org/olat/modules/taxonomy/site/TaxonomySiteDef.java new file mode 100644 index 0000000000000000000000000000000000000000..5839b4bcac77d5f7374c166789307712f06fdc2e --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/site/TaxonomySiteDef.java @@ -0,0 +1,74 @@ +/** + * <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.taxonomy.site; + +import org.olat.core.CoreSpringFactory; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.control.WindowControl; +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.Identity; +import org.olat.core.id.Roles; +import org.olat.core.util.StringHelper; +import org.olat.core.util.UserSession; +import org.olat.modules.taxonomy.TaxonomyModule; +import org.olat.modules.taxonomy.TaxonomyRef; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.model.TaxonomyRefImpl; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomySiteDef extends AbstractSiteDefinition implements SiteDefinition { + + @Override + protected SiteInstance createSite(UserRequest ureq, WindowControl wControl, SiteConfiguration config) { + UserSession usess = ureq.getUserSession(); + Roles roles = usess.getRoles(); + if(StringHelper.containsNonWhitespace(config.getSecurityCallbackBeanId()) || roles.isOLATAdmin()) { + return new TaxonomySite(this, ureq.getLocale()); + } else if(roles.isGuestOnly() || !roles.isInvitee()) { + return null; + } else if(hasCompetence(usess.getIdentity())) { + return new TaxonomySite(this, ureq.getLocale()); + } + return null; + } + + private boolean hasCompetence(Identity identity) { + String taxonomyKey = CoreSpringFactory.getImpl(TaxonomyModule.class).getTaxonomyTreeKey(); + if(StringHelper.isLong(taxonomyKey)) { + TaxonomyRef taxonomy = new TaxonomyRefImpl(new Long(taxonomyKey)); + return CoreSpringFactory.getImpl(TaxonomyService.class).hasTaxonomyCompetences(taxonomy, identity); + } + return false; + } + + @Override + public boolean isEnabled() { + TaxonomyModule module = CoreSpringFactory.getImpl(TaxonomyModule.class); + return module.isEnabled() && super.isEnabled(); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/site/TaxonomySiteSecurityCallback.java b/src/main/java/org/olat/modules/taxonomy/site/TaxonomySiteSecurityCallback.java new file mode 100644 index 0000000000000000000000000000000000000000..82fdc95e28427acb8543a59a742cd10f2aa3b962 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/site/TaxonomySiteSecurityCallback.java @@ -0,0 +1,71 @@ +/** + * <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.taxonomy.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.StringHelper; +import org.olat.core.util.UserSession; +import org.olat.modules.taxonomy.TaxonomyModule; +import org.olat.modules.taxonomy.TaxonomyRef; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.model.TaxonomyRefImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 4 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service("taxonomySiteSecurityCallback") +public class TaxonomySiteSecurityCallback implements SiteSecurityCallback { + + @Autowired + private TaxonomyModule taxonomyModule; + @Autowired + private TaxonomyService taxonomyService; + + /** + * @see com.frentix.olat.coursesite.SiteSecurityCallback#isAllowedToLaunchSite(org.olat.core.gui.UserRequest) + */ + @Override + public boolean isAllowedToLaunchSite(UserRequest ureq) { + UserSession usess = ureq == null ? null : ureq.getUserSession(); + if(usess == null) return false; + + Roles roles = usess.getRoles(); + if(roles == null || roles.isInvitee() || roles.isGuestOnly()) { + return false; + } + if (roles.isOLATAdmin()) { + return true; + } + + String taxonomyKey = taxonomyModule.getTaxonomyTreeKey(); + if(StringHelper.isLong(taxonomyKey)) { + TaxonomyRef taxonomy = new TaxonomyRefImpl(new Long(taxonomyKey)); + return taxonomyService.hasTaxonomyCompetences(taxonomy, ureq.getIdentity()); + } + return false; + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/DetailsTaxonomyController.java b/src/main/java/org/olat/modules/taxonomy/ui/DetailsTaxonomyController.java new file mode 100644 index 0000000000000000000000000000000000000000..1838e1f45cb58b02f5e8f8e634c92637f3c55bff --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/DetailsTaxonomyController.java @@ -0,0 +1,187 @@ +/** + * <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.taxonomy.ui; + +import org.olat.core.commons.editor.htmleditor.HTMLEditorController; +import org.olat.core.commons.editor.htmleditor.WysiwygFactory; +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.StaticTextElement; +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.FormLayoutContainer; +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.vfs.VFSContainer; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyService; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 27 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class DetailsTaxonomyController extends FormBasicController { + + private FormLink editButton, editTypesButton, editInfoPageButton; + private StaticTextElement displayNameEl; + + private CloseableModalController cmc; + private HTMLEditorController editInfoPageCtrl; + private EditTaxonomyController editTaxonomyCtrl; + private TaxonomyLevelTypesEditController editTypesCtrl; + + private Taxonomy taxonomy; + + @Autowired + private TaxonomyService taxonomyService; + + public DetailsTaxonomyController(UserRequest ureq, WindowControl wControl) { + super(ureq, wControl); + + initForm(ureq); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + displayNameEl = uifactory.addStaticTextElement("taxonomy.displayname", "taxonomy.displayname", "", formLayout); + + FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator()); + formLayout.add(buttonsCont); + + editButton = uifactory.addFormLink("edit", buttonsCont, Link.BUTTON); + editTypesButton = uifactory.addFormLink("edit.level.types", buttonsCont, Link.BUTTON); + editInfoPageButton = uifactory.addFormLink("edit.info.page", buttonsCont, Link.BUTTON); + } + + public void setTaxonomy(Taxonomy taxonomy) { + this.taxonomy = taxonomy; + if(taxonomy == null) { + displayNameEl.setValue(""); + } else { + displayNameEl.setValue(taxonomy.getDisplayName()); + } + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { + if(editButton == source) { + doEditTaxonomy(ureq); + } else if(editTypesButton == source) { + doEditTaxonomyLevelTypes(ureq); + } else if(editInfoPageButton == source) { + doEditInfoPage(ureq); + } + super.formInnerEvent(ureq, source, event); + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + @Override + protected void event(UserRequest ureq, Controller source, Event event) { + if(editTaxonomyCtrl == source) { + if(event == Event.DONE_EVENT) { + setTaxonomy(editTaxonomyCtrl.getTaxonomy()); + fireEvent(ureq, Event.CHANGED_EVENT); + } + cmc.deactivate(); + cleanUp(); + } else if(editTypesCtrl == source) { + if(event == Event.DONE_EVENT) { + fireEvent(ureq, Event.CHANGED_EVENT); + } + cmc.deactivate(); + cleanUp(); + } else if(editInfoPageCtrl == source) { + if(event == Event.DONE_EVENT) { + fireEvent(ureq, Event.CHANGED_EVENT); + } + cmc.deactivate(); + cleanUp(); + } else if(cmc == source) { + cleanUp(); + } + super.event(ureq, source, event); + } + + private void cleanUp() { + removeAsListenerAndDispose(editInfoPageCtrl); + removeAsListenerAndDispose(editTaxonomyCtrl); + removeAsListenerAndDispose(editTypesCtrl); + removeAsListenerAndDispose(cmc); + editInfoPageCtrl = null; + editTaxonomyCtrl = null; + editTypesCtrl = null; + cmc = null; + } + + private void doEditTaxonomy(UserRequest ureq) { + if(editTaxonomyCtrl != null) return; + + editTaxonomyCtrl = new EditTaxonomyController(ureq, getWindowControl(), taxonomy); + listenTo(editTaxonomyCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", editTaxonomyCtrl.getInitialComponent(), true, translate("edit.level.types")); + listenTo(cmc); + cmc.activate(); + } + + private void doEditTaxonomyLevelTypes(UserRequest ureq) { + if(editTypesCtrl != null) return; + + editTypesCtrl = new TaxonomyLevelTypesEditController(ureq, getWindowControl(), taxonomy); + listenTo(editTypesCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", editTypesCtrl.getInitialComponent(), true, translate("edit.level.types")); + listenTo(cmc); + cmc.activate(); + } + + private void doEditInfoPage(UserRequest ureq) { + if(editInfoPageCtrl != null) return; + + VFSContainer container = taxonomyService.getTaxonomyInfoPageContainer(taxonomy); + String pageRelPath = "index.html"; + if(container.resolve(pageRelPath) == null) { + container.createChildLeaf(pageRelPath); + } + editInfoPageCtrl = WysiwygFactory.createWysiwygControllerWithInternalLink(ureq, getWindowControl(), container, pageRelPath, true, null); + listenTo(editInfoPageCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", editInfoPageCtrl.getInitialComponent(), true, translate("edit.info.page")); + listenTo(cmc); + cmc.activate(); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/DetailsTaxonomyLevelController.java b/src/main/java/org/olat/modules/taxonomy/ui/DetailsTaxonomyLevelController.java new file mode 100644 index 0000000000000000000000000000000000000000..2ad63449cc03f7c360fcfb41d3604aef19d763e0 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/DetailsTaxonomyLevelController.java @@ -0,0 +1,169 @@ +/** + * <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.taxonomy.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.FormLink; +import org.olat.core.gui.components.form.flexible.elements.StaticTextElement; +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.FormLayoutContainer; +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.vfs.OlatRelPathImpl; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyService; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 27 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class DetailsTaxonomyLevelController extends FormBasicController { + + private FormLink editButton, competencesButton; + + private StaticTextElement displayNameEl; + private StaticTextElement externalIdEl; + private StaticTextElement directoryPathEl; + + private CloseableModalController cmc; + private TaxonomyLevelCompetenceController comptenceCtrl; + private EditTaxonomyLevelController editTaxonomyLevelCtrl; + + private TaxonomyLevel taxonomyLevel; + + @Autowired + private TaxonomyService taxonomyService; + + public DetailsTaxonomyLevelController(UserRequest ureq, WindowControl wControl) { + super(ureq, wControl); + initForm(ureq); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + displayNameEl = uifactory.addStaticTextElement("level.displayname", "level.displayname", "", formLayout); + externalIdEl = uifactory.addStaticTextElement("level.externalId", "level.externalId", "", formLayout); + directoryPathEl = uifactory.addStaticTextElement("level.directory.path", "level.directory.path", "", formLayout); + + FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator()); + formLayout.add(buttonsCont); + + editButton = uifactory.addFormLink("edit", buttonsCont, Link.BUTTON); + competencesButton = uifactory.addFormLink("edit.competences", buttonsCont, Link.BUTTON); + } + + public void setTaxonomyLevel(TaxonomyLevel level) { + taxonomyLevel = level; + if(level == null) { + externalIdEl.setValue(""); + displayNameEl.setValue(""); + directoryPathEl.setValue(""); + } else { + externalIdEl.setValue(level.getExternalId() == null ? "" : level.getExternalId()); + displayNameEl.setValue(level.getDisplayName()); + VFSContainer container = taxonomyService.getDocumentsLibrary(level); + if(container instanceof OlatRelPathImpl) { + directoryPathEl.setValue(((OlatRelPathImpl)container).getRelPath()); + } else { + directoryPathEl.setValue(""); + } + } + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void event(UserRequest ureq, Controller source, Event event) { + if(editTaxonomyLevelCtrl == source) { + if(event == Event.DONE_EVENT) { + setTaxonomyLevel(editTaxonomyLevelCtrl.getTaxonomyLevel()); + } + cmc.deactivate(); + cleanUp(); + } else if(comptenceCtrl == source) { + cmc.deactivate(); + cleanUp(); + } else if(cmc == source) { + cleanUp(); + } + super.event(ureq, source, event); + } + + private void cleanUp() { + removeAsListenerAndDispose(editTaxonomyLevelCtrl); + removeAsListenerAndDispose(comptenceCtrl); + removeAsListenerAndDispose(cmc); + editTaxonomyLevelCtrl = null; + comptenceCtrl = null; + cmc = null; + } + + @Override + protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { + if(editButton == source) { + doEdit(ureq); + } else if(competencesButton == source) { + doCompetence(ureq); + } + super.formInnerEvent(ureq, source, event); + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + private void doEdit(UserRequest ureq) { + if(editTaxonomyLevelCtrl != null) return; + + TaxonomyLevel reloadedLevel = taxonomyService.getTaxonomyLevel(taxonomyLevel); + editTaxonomyLevelCtrl = new EditTaxonomyLevelController(ureq, getWindowControl(), reloadedLevel); + listenTo(editTaxonomyLevelCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", editTaxonomyLevelCtrl.getInitialComponent(), true, translate("edit")); + listenTo(cmc); + cmc.activate(); + } + + private void doCompetence(UserRequest ureq) { + if(comptenceCtrl != null) return; + + TaxonomyLevel reloadedLevel = taxonomyService.getTaxonomyLevel(taxonomyLevel); + comptenceCtrl = new TaxonomyLevelCompetenceController(ureq, getWindowControl(), reloadedLevel); + listenTo(comptenceCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", comptenceCtrl.getInitialComponent(), true, translate("edit.competences")); + listenTo(cmc); + cmc.activate(); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/EditTaxonomyController.java b/src/main/java/org/olat/modules/taxonomy/ui/EditTaxonomyController.java new file mode 100644 index 0000000000000000000000000000000000000000..c2fd3b30aa536968fe56b3a425aedfcd26c9221f --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/EditTaxonomyController.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.taxonomy.ui; + +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.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyManagedFlag; +import org.olat.modules.taxonomy.TaxonomyService; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 27 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class EditTaxonomyController extends FormBasicController { + + private static final String[] onKeys = new String[] { "on" }; + + private TextElement identifierEl, displayNameEl; + private RichTextElement descriptionEl; + private MultipleSelectionElement libraryEl; + + private Taxonomy taxonomy; + + @Autowired + private TaxonomyService taxonomyService; + + public EditTaxonomyController(UserRequest ureq, WindowControl wControl, Taxonomy taxonomy) { + super(ureq, wControl); + this.taxonomy = taxonomy; + + initForm(ureq); + } + + public Taxonomy getTaxonomy() { + return taxonomy; + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + String identifier = taxonomy == null ? "" : taxonomy.getIdentifier(); + identifierEl = uifactory.addTextElement("taxonomy.identifier", "taxonomy.identifier", 255, identifier, formLayout); + identifierEl.setEnabled(!TaxonomyManagedFlag.isManaged(taxonomy, TaxonomyManagedFlag.identifier)); + + String displayName = taxonomy == null ? "" : taxonomy.getDisplayName(); + displayNameEl = uifactory.addTextElement("taxonomy.displayname", "taxonomy.displayname", 255, displayName, formLayout); + displayNameEl.setEnabled(!TaxonomyManagedFlag.isManaged(taxonomy, TaxonomyManagedFlag.displayName)); + displayNameEl.setMandatory(true); + + String description = taxonomy == null ? "" : taxonomy.getDescription(); + descriptionEl = uifactory.addRichTextElementForStringDataCompact("taxonomy.description", "taxonomy.description", description, 10, 60, null, + formLayout, ureq.getUserSession(), getWindowControl()); + descriptionEl.setEnabled(!TaxonomyManagedFlag.isManaged(taxonomy, TaxonomyManagedFlag.description)); + + boolean libraryEnabled = taxonomy == null ? false : taxonomy.isDocumentsLibraryEnabled(); + libraryEl = uifactory.addCheckboxesHorizontal("taxonomy.library", "taxonomy.library", formLayout, onKeys, new String[] { "" }); + libraryEl.setEnabled(!TaxonomyManagedFlag.isManaged(taxonomy, TaxonomyManagedFlag.librarySettings)); + if(libraryEnabled) { + libraryEl.select(onKeys[0], 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; + } + + return allOk & super.validateFormLogic(ureq); + } + + @Override + protected void formOK(UserRequest ureq) { + if(taxonomy == null) { + //create a new one + taxonomy = taxonomyService + .createTaxonomy(identifierEl.getValue(), displayNameEl.getValue(), descriptionEl.getValue(), null); + } else { + taxonomy = taxonomyService.getTaxonomy(taxonomy); + taxonomy.setIdentifier(identifierEl.getValue()); + taxonomy.setDisplayName(displayNameEl.getValue()); + taxonomy.setDescription(descriptionEl.getValue()); + taxonomy.setDocumentsLibraryEnabled(libraryEl.isAtLeastSelected(1)); + taxonomy = taxonomyService.updateTaxonomy(taxonomy); + } + + fireEvent(ureq, Event.DONE_EVENT); + } + + @Override + protected void formCancelled(UserRequest ureq) { + fireEvent(ureq, Event.CANCELLED_EVENT); + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/ui/EditTaxonomyLevelController.java b/src/main/java/org/olat/modules/taxonomy/ui/EditTaxonomyLevelController.java new file mode 100644 index 0000000000000000000000000000000000000000..6c03f23231387df32e1ae965156f67ba7ab3666c --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/EditTaxonomyLevelController.java @@ -0,0 +1,231 @@ +/** + * <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.taxonomy.ui; + +import java.util.ArrayList; +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.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; +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.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevelManagedFlag; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyLevelTypeRef; +import org.olat.modules.taxonomy.TaxonomyLevelTypeToType; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.model.TaxonomyLevelTypeRefImpl; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 27 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class EditTaxonomyLevelController extends FormBasicController { + + private TextElement identifierEl, displayNameEl, sortOrderEl; + private RichTextElement descriptionEl; + private SingleSelection taxonomyLevelTypeEl; + + private TaxonomyLevel level; + private TaxonomyLevel parentLevel; + private Taxonomy taxonomy; + + @Autowired + private TaxonomyService taxonomyService; + + public EditTaxonomyLevelController(UserRequest ureq, WindowControl wControl, TaxonomyLevel level) { + super(ureq, wControl); + this.level = level; + this.parentLevel = level.getParent(); + this.taxonomy = level.getTaxonomy(); + initForm(ureq); + } + + public EditTaxonomyLevelController(UserRequest ureq, WindowControl wControl, TaxonomyLevel parentLevel, Taxonomy rootTaxonomy) { + super(ureq, wControl); + this.level = null; + this.parentLevel = parentLevel; + this.taxonomy = rootTaxonomy; + initForm(ureq); + } + + public TaxonomyLevel getTaxonomyLevel() { + return level; + } + + private List<TaxonomyLevelType> getTypes() { + List<TaxonomyLevelType> types = new ArrayList<>(); + if(level != null) { + List<TaxonomyLevel> parentLine = taxonomyService.getTaxonomyLevelParentLine(level, taxonomy); + for(int i=parentLine.size() - 1; i-->0; ) { + TaxonomyLevel parent = parentLine.get(i); + TaxonomyLevelType parentType = parent.getType(); + if(parentType != null) { + Set<TaxonomyLevelTypeToType> typeToTypes = parentType.getAllowedTaxonomyLevelSubTypes(); + for(TaxonomyLevelTypeToType typeToType:typeToTypes) { + if(typeToType != null) { + types.add(typeToType.getAllowedSubTaxonomyLevelType()); + } + } + break; + } + } + } + if(types.isEmpty()) { + types.addAll(taxonomyService.getTaxonomyLevelTypes(taxonomy)); + } else if(level != null && level.getType() != null) { + if(!types.contains(level.getType())) { + types.add(level.getType()); + } + } + return types; + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + String identifier = level == null ? "" : level.getIdentifier(); + identifierEl = uifactory.addTextElement("level.identifier", "level.identifier", 255, identifier, formLayout); + identifierEl.setEnabled(!TaxonomyLevelManagedFlag.isManaged(level, TaxonomyLevelManagedFlag.identifier)); + + String displayName = level == null ? "" : level.getDisplayName(); + displayNameEl = uifactory.addTextElement("level.displayname", "level.displayname", 255, displayName, formLayout); + displayNameEl.setMandatory(true); + displayNameEl.setEnabled(!TaxonomyLevelManagedFlag.isManaged(level, TaxonomyLevelManagedFlag.displayName)); + if(!StringHelper.containsNonWhitespace(displayName)) { + displayNameEl.setFocus(true); + } + + String sortOrder = level == null || level.getSortOrder() == null ? "" : level.getSortOrder().toString(); + sortOrderEl = uifactory.addTextElement("level.sort.order", "level.sort.order", 255, sortOrder, formLayout); + sortOrderEl.setEnabled(!TaxonomyLevelManagedFlag.isManaged(level, TaxonomyLevelManagedFlag.displayName)); + + List<TaxonomyLevelType> 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(); + } + taxonomyLevelTypeEl = uifactory.addDropdownSingleselect("level.type", "level.type", formLayout, typeKeys, typeValues, null); + taxonomyLevelTypeEl.setEnabled(!TaxonomyLevelManagedFlag.isManaged(level, TaxonomyLevelManagedFlag.type)); + boolean typeFound = false; + if(level != null && level.getType() != null) { + String selectedTypeKey = level.getType().getKey().toString(); + for(String typeKey:typeKeys) { + if(typeKey.equals(selectedTypeKey)) { + taxonomyLevelTypeEl.select(selectedTypeKey, true); + typeFound = true; + break; + } + } + } + if(!typeFound) { + taxonomyLevelTypeEl.select(typeKeys[0], true); + } + + String description = level == null ? "" : level.getDescription(); + descriptionEl = uifactory.addRichTextElementForStringDataCompact("level.description", "level.description", description, 10, 60, null, + formLayout, ureq.getUserSession(), getWindowControl()); + descriptionEl.setEnabled(!TaxonomyLevelManagedFlag.isManaged(level, TaxonomyLevelManagedFlag.description)); + + 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; + } + + sortOrderEl.clearError(); + if(StringHelper.containsNonWhitespace(sortOrderEl.getValue())) { + try { + Integer.parseInt(sortOrderEl.getValue()); + } catch (NumberFormatException e) { + sortOrderEl.setErrorKey("error.sort.order.integer", null); + allOk &= false; + } + } + + return allOk & super.validateFormLogic(ureq); + } + + @Override + protected void formOK(UserRequest ureq) { + if(level == null) { + level = taxonomyService.createTaxonomyLevel(identifierEl.getValue(), displayNameEl.getValue(), descriptionEl.getValue(), + null, null, parentLevel, taxonomy); + } else { + level = taxonomyService.getTaxonomyLevel(level); + level.setIdentifier(identifierEl.getValue()); + level.setDisplayName(displayNameEl.getValue()); + level.setDescription(descriptionEl.getValue()); + } + + String selectedTypeKey = taxonomyLevelTypeEl.getSelectedKey(); + if(StringHelper.containsNonWhitespace(selectedTypeKey)) { + TaxonomyLevelTypeRef typeRef = new TaxonomyLevelTypeRefImpl(new Long(selectedTypeKey)); + TaxonomyLevelType type = taxonomyService.getTaxonomyLevelType(typeRef); + level.setType(type); + } else { + level.setType(null); + } + if(StringHelper.isLong(sortOrderEl.getValue())) { + level.setSortOrder(new Integer(sortOrderEl.getValue())); + } else { + level.setSortOrder(null); + } + + level = taxonomyService.updateTaxonomyLevel(level); + 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/taxonomy/ui/EditTaxonomyLevelTypeController.java b/src/main/java/org/olat/modules/taxonomy/ui/EditTaxonomyLevelTypeController.java new file mode 100644 index 0000000000000000000000000000000000000000..1517cbc3452d9daf809fda21e5a2f152ebaf14c9 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/EditTaxonomyLevelTypeController.java @@ -0,0 +1,259 @@ +/** + * <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.taxonomy.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.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; +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.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyLevelTypeManagedFlag; +import org.olat.modules.taxonomy.TaxonomyLevelTypeToType; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.model.TaxonomyLevelTypeRefImpl; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 27 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class EditTaxonomyLevelTypeController extends FormBasicController { + + private static final String[] onKeys = new String[] { "on" }; + + private TextElement identifierEl, displayNameEl, cssClassEl; + private RichTextElement descriptionEl; + private SingleSelection teachCanReadParentLevelsEl; + private MultipleSelectionElement visibleEl, manageCanEl, teachCanReadEl, teachCanWriteEl, + haveCanReadEl, targetCanReadEl, docsEnabledEl; + private MultipleSelectionElement allowedSubTypesEl; + + private TaxonomyLevelType levelType; + private Taxonomy taxonomy; + private List<TaxonomyLevelType> types; + + private final boolean documentsLibraryEnabled; + + @Autowired + private TaxonomyService taxonomyService; + + public EditTaxonomyLevelTypeController(UserRequest ureq, WindowControl wControl, + TaxonomyLevelType levelType, Taxonomy taxonomy) { + super(ureq, wControl); + this.levelType = levelType; + this.taxonomy = taxonomy; + documentsLibraryEnabled = taxonomy.isDocumentsLibraryEnabled(); + initForm(ureq); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + String identifier = levelType == null ? "" : levelType.getIdentifier(); + identifierEl = uifactory.addTextElement("level.identifier", "level.identifier", 255, identifier, formLayout); + identifierEl.setEnabled(!TaxonomyLevelTypeManagedFlag.isManaged(levelType, TaxonomyLevelTypeManagedFlag.identifier)); + + String displayName = levelType == null ? "" : levelType.getDisplayName(); + displayNameEl = uifactory.addTextElement("level.displayname", "level.displayname", 255, displayName, formLayout); + displayNameEl.setEnabled(!TaxonomyLevelTypeManagedFlag.isManaged(levelType, TaxonomyLevelTypeManagedFlag.displayName)); + displayNameEl.setMandatory(true); + if(!StringHelper.containsNonWhitespace(displayName)) { + displayNameEl.setFocus(true); + } + + String cssClass = levelType == null ? "" : levelType.getCssClass(); + cssClassEl = uifactory.addTextElement("level.type.cssClass", "level.type.cssClass", 255, cssClass, formLayout); + cssClassEl.setEnabled(!TaxonomyLevelTypeManagedFlag.isManaged(levelType, TaxonomyLevelTypeManagedFlag.cssClass)); + + visibleEl = uifactory.addCheckboxesHorizontal("level.visible", "level.visible", formLayout, onKeys, new String[] { "" }); + visibleEl.setEnabled(!TaxonomyLevelTypeManagedFlag.isManaged(levelType, TaxonomyLevelTypeManagedFlag.visibility)); + if(levelType != null && levelType.isVisible()) { + visibleEl.select(onKeys[0], true); + } + + String description = levelType == null ? "" : levelType.getDescription(); + descriptionEl = uifactory.addRichTextElementForStringDataMinimalistic("level.description", "level.description", description, 10, 60, + formLayout, getWindowControl()); + descriptionEl.setEnabled(!TaxonomyLevelTypeManagedFlag.isManaged(levelType, TaxonomyLevelTypeManagedFlag.description)); + + types = taxonomyService.getTaxonomyLevelTypes(taxonomy); + types.remove(levelType); + + 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("level.type.allowed.sub.types", formLayout, subTypeKeys, subTypeValues, 2); + allowedSubTypesEl.setEnabled(!TaxonomyLevelTypeManagedFlag.isManaged(levelType, TaxonomyLevelTypeManagedFlag.subTypes)); + if(levelType != null) { + Set<TaxonomyLevelTypeToType> typeToTypes = levelType.getAllowedTaxonomyLevelSubTypes(); + for(TaxonomyLevelTypeToType typeToType:typeToTypes) { + String subTypeKey = typeToType.getAllowedSubTaxonomyLevelType().getKey().toString(); + allowedSubTypesEl.select(subTypeKey, true); + } + } + + if(documentsLibraryEnabled) { + docsEnabledEl = uifactory.addCheckboxesHorizontal("level.type.docs.enabled", "level.type.docs.enabled", formLayout, onKeys, new String[] { "" }); + docsEnabledEl.setEnabled(!TaxonomyLevelTypeManagedFlag.isManaged(levelType, TaxonomyLevelTypeManagedFlag.librarySettings)); + if(levelType != null && levelType.isDocumentsLibraryEnabled()) { + docsEnabledEl.select(onKeys[0], true); + } + + manageCanEl = uifactory.addCheckboxesHorizontal("manage.can.manage", "manage.can.manage", formLayout, onKeys, new String[] { "" }); + manageCanEl.setEnabled(!TaxonomyLevelTypeManagedFlag.isManaged(levelType, TaxonomyLevelTypeManagedFlag.librarySettings)); + if(levelType != null && levelType.isDocumentsLibraryManageCompetenceEnabled()) { + manageCanEl.select(onKeys[0], true); + } + + teachCanReadEl = uifactory.addCheckboxesHorizontal("teach.can.read", "teach.can.read", formLayout, onKeys, new String[] { "" }); + teachCanReadEl.setEnabled(!TaxonomyLevelTypeManagedFlag.isManaged(levelType, TaxonomyLevelTypeManagedFlag.librarySettings)); + if(levelType != null && levelType.isDocumentsLibraryTeachCompetenceReadEnabled()) { + teachCanReadEl.select(onKeys[0], true); + } + + String[] levelKeys = new String[10]; + String[] levelValues = new String[10]; + for(int i=10; i-->0; ) { + levelKeys[i] = levelValues[i] = Integer.toString(i); + + } + teachCanReadParentLevelsEl = uifactory.addDropdownSingleselect("teach.can.read.parent.levels", "teach.can.read.parent.levels", formLayout, + levelKeys, levelValues, null); + teachCanReadParentLevelsEl.setEnabled(!TaxonomyLevelTypeManagedFlag.isManaged(levelType, TaxonomyLevelTypeManagedFlag.librarySettings)); + boolean levelFound = false; + if(levelType != null && levelType.getDocumentsLibraryTeachCompetenceReadParentLevels() >= 0) { + String selectedLevel = Integer.toString(levelType.getDocumentsLibraryTeachCompetenceReadParentLevels()); + for(String levelKey:levelKeys) { + if(levelKey.equals(selectedLevel)) { + teachCanReadParentLevelsEl.select(levelKey, true); + levelFound = true; + break; + } + } + } + if(!levelFound) { + teachCanReadParentLevelsEl.select(levelKeys[0], true); + } + + teachCanWriteEl = uifactory.addCheckboxesHorizontal("teach.can.write", "teach.can.write", formLayout, onKeys, new String[] { "" }); + teachCanWriteEl.setEnabled(!TaxonomyLevelTypeManagedFlag.isManaged(levelType, TaxonomyLevelTypeManagedFlag.librarySettings)); + if(levelType != null && levelType.isDocumentsLibraryTeachCompetenceWriteEnabled()) { + teachCanWriteEl.select(onKeys[0], true); + } + + haveCanReadEl = uifactory.addCheckboxesHorizontal("have.can.read", "have.can.read", formLayout, onKeys, new String[] { "" }); + haveCanReadEl.setEnabled(!TaxonomyLevelTypeManagedFlag.isManaged(levelType, TaxonomyLevelTypeManagedFlag.librarySettings)); + if(levelType != null && levelType.isDocumentsLibraryHaveCompetenceReadEnabled()) { + haveCanReadEl.select(onKeys[0], true); + } + + targetCanReadEl = uifactory.addCheckboxesHorizontal("target.can.read", "target.can.read", formLayout, onKeys, new String[] { "" }); + targetCanReadEl.setEnabled(!TaxonomyLevelTypeManagedFlag.isManaged(levelType, TaxonomyLevelTypeManagedFlag.librarySettings)); + if(levelType != null && levelType.isDocumentsLibraryTargetCompetenceReadEnabled()) { + targetCanReadEl.select(onKeys[0], 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; + } + + return allOk & super.validateFormLogic(ureq); + } + + @Override + protected void formOK(UserRequest ureq) { + if(levelType == null) { + levelType = taxonomyService.createTaxonomyLevelType(identifierEl.getValue(), displayNameEl.getValue(), descriptionEl.getValue(), null, taxonomy); + } else { + levelType = taxonomyService.getTaxonomyLevelType(levelType); + levelType.setIdentifier(identifierEl.getValue()); + levelType.setDisplayName(displayNameEl.getValue()); + levelType.setDescription(descriptionEl.getValue()); + } + + levelType.setCssClass(cssClassEl.getValue()); + levelType.setVisible(visibleEl.isAtLeastSelected(1)); + if(documentsLibraryEnabled) { + levelType.setDocumentsLibraryEnabled(docsEnabledEl.isAtLeastSelected(1)); + levelType.setDocumentsLibraryManageCompetenceEnabled(manageCanEl.isAtLeastSelected(1)); + levelType.setDocumentsLibraryTeachCompetenceReadEnabled(teachCanReadEl.isAtLeastSelected(1)); + String selectedParentLevels = teachCanReadParentLevelsEl.getSelectedKey(); + if(StringHelper.isLong(selectedParentLevels)) { + int parentLevels = Integer.parseInt(selectedParentLevels); + levelType.setDocumentsLibraryTeachCompetenceReadParentLevels(parentLevels); + } else { + levelType.setDocumentsLibraryTeachCompetenceReadParentLevels(-1); + } + levelType.setDocumentsLibraryTeachCompetenceWriteEnabled(teachCanWriteEl.isAtLeastSelected(1)); + levelType.setDocumentsLibraryHaveCompetenceReadEnabled(haveCanReadEl.isAtLeastSelected(1)); + levelType.setDocumentsLibraryTargetCompetenceReadEnabled(targetCanReadEl.isAtLeastSelected(1)); + } + + Collection<String> selectedAllowedSubTypeKeys = allowedSubTypesEl.getSelectedKeys(); + List<TaxonomyLevelType> allowedSubTypes = new ArrayList<>(); + for(String selectedAllowedSubTypeKey:selectedAllowedSubTypeKeys) { + allowedSubTypes.add(taxonomyService.getTaxonomyLevelType(new TaxonomyLevelTypeRefImpl(new Long(selectedAllowedSubTypeKey)))); + } + levelType = taxonomyService.updateTaxonomyLevelType(levelType, 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/taxonomy/ui/IdentityCompetenceRow.java b/src/main/java/org/olat/modules/taxonomy/ui/IdentityCompetenceRow.java new file mode 100644 index 0000000000000000000000000000000000000000..22cd3099058462781adab0b8097171c111ca21e0 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/IdentityCompetenceRow.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.taxonomy.ui; + +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.modules.taxonomy.TaxonomyLevel; + +/** + * + * Initial date: 27 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class IdentityCompetenceRow { + + private final TaxonomyCompetence competence; + + public IdentityCompetenceRow(TaxonomyCompetence competence) { + this.competence = competence; + } + + public Taxonomy getTaxonomy() { + return competence.getTaxonomyLevel().getTaxonomy(); + } + + public TaxonomyLevel getTaxonomyLevel() { + return competence.getTaxonomyLevel(); + } + + public TaxonomyCompetence getCompetence() { + return competence; + } + + public TaxonomyCompetenceTypes getCompetenceType() { + return competence.getCompetenceType(); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/IdentityCompetenceTableModel.java b/src/main/java/org/olat/modules/taxonomy/ui/IdentityCompetenceTableModel.java new file mode 100644 index 0000000000000000000000000000000000000000..10db9804cd924e102616d741d986cf248fbd7931 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/IdentityCompetenceTableModel.java @@ -0,0 +1,106 @@ +/** + * <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.taxonomy.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: 3 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class IdentityCompetenceTableModel extends DefaultFlexiTableDataModel<IdentityCompetenceRow> +implements SortableFlexiTableDataModel<IdentityCompetenceRow> { + + public IdentityCompetenceTableModel(FlexiTableColumnModel columnsModel) { + super(columnsModel); + } + + @Override + public void sort(SortKey orderBy) { + if(orderBy != null) { + List<IdentityCompetenceRow> views = new IdentityCompetenceTableModelSortDelegate(orderBy, this, null).sort(); + super.setObjects(views); + } + } + + @Override + public Object getValueAt(int row, int col) { + IdentityCompetenceRow competence = getObject(row); + return getValueAt(competence, col); + } + + @Override + public Object getValueAt(IdentityCompetenceRow row, int col) { + switch(IdCompetenceCols.values()[col]) { + case taxonomyIdentifier: return row.getTaxonomy().getIdentifier(); + case taxonomyDisplayName: return row.getTaxonomy().getDisplayName(); + case taxonomyExternalId: return row.getTaxonomy().getExternalId(); + case taxonomyLevelIdentifier: return row.getTaxonomyLevel().getIdentifier(); + case taxonomyLevelDisplayName: return row.getTaxonomyLevel().getDisplayName(); + case taxonomyLevelExternalId: return row.getTaxonomyLevel().getExternalId(); + case type: return row.getCompetenceType(); + default: return null; + } + } + + @Override + public IdentityCompetenceTableModel createCopyWithEmptyList() { + return new IdentityCompetenceTableModel(getTableColumnModel()); + } + + public enum IdCompetenceCols implements FlexiSortableColumnDef { + taxonomyIdentifier("table.header.taxonomy.identifier"), + taxonomyDisplayName("table.header.taxonomy.displayName"), + taxonomyExternalId("table.header.taxonomy.externalId"), + taxonomyLevelIdentifier("table.header.taxonomy.level.identifier"), + taxonomyLevelDisplayName("table.header.taxonomy.level.displayName"), + taxonomyLevelExternalId("table.header.taxonomy.level.externalId"), + type("table.header.competence.type"); + + private final String i18nHeaderKey; + + private IdCompetenceCols(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/taxonomy/ui/IdentityCompetenceTableModelSortDelegate.java b/src/main/java/org/olat/modules/taxonomy/ui/IdentityCompetenceTableModelSortDelegate.java new file mode 100644 index 0000000000000000000000000000000000000000..6b64763c239507c2c25d0350e9571e9605e25728 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/IdentityCompetenceTableModelSortDelegate.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.taxonomy.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: 27 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class IdentityCompetenceTableModelSortDelegate extends SortableFlexiTableModelDelegate<IdentityCompetenceRow> { + + public IdentityCompetenceTableModelSortDelegate(SortKey orderBy, IdentityCompetenceTableModel tableModel, Locale locale) { + super(orderBy, tableModel, locale); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/IdentityCompetencesController.java b/src/main/java/org/olat/modules/taxonomy/ui/IdentityCompetencesController.java new file mode 100644 index 0000000000000000000000000000000000000000..8756a89f52a55da1bebc1ac4d1b91c1a65aa1c3a --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/IdentityCompetencesController.java @@ -0,0 +1,222 @@ +/** + * <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.taxonomy.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.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.link.Link; +import org.olat.core.gui.components.stack.BreadcrumbPanel; +import org.olat.core.gui.components.stack.BreadcrumbPanelAware; +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.modal.DialogBoxController; +import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory; +import org.olat.core.id.Identity; +import org.olat.core.util.StringHelper; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceAuditLog; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.ui.IdentityCompetenceTableModel.IdCompetenceCols; +import org.olat.modules.taxonomy.ui.component.TaxonomyCompetenceTypeRenderer; +import org.olat.user.UserManager; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 3 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class IdentityCompetencesController extends FormBasicController implements BreadcrumbPanelAware { + + private FlexiTableElement tableEl; + private IdentityCompetenceTableModel tableModel; + private FormLink addManageButton, addTeachButton, addHaveButton, addTargetButton; + + private CloseableModalController cmc; + private SelectTaxonomyLevelController levelsSearchCtrl; + private DialogBoxController removeCompentenceConfirmationCtrl; + + private Identity assessedIdentity; + + @Autowired + private UserManager userManager; + @Autowired + private TaxonomyService taxonomyService; + + public IdentityCompetencesController(UserRequest ureq, WindowControl wControl, Identity assessedIdentity) { + super(ureq, wControl, "identity_competences"); + this.assessedIdentity = assessedIdentity; + setTranslator(userManager.getPropertyHandlerTranslator(getTranslator())); + + initForm(ureq); + loadModel(); + } + + @Override + public void setBreadcrumbPanel(BreadcrumbPanel stackPanel) { + //this.stackPanel = stackPanel; + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + addManageButton = uifactory.addFormLink("add.competence.manage", formLayout, Link.BUTTON); + addTeachButton = uifactory.addFormLink("add.competence.teach", formLayout, Link.BUTTON); + addHaveButton = uifactory.addFormLink("add.competence.have", formLayout, Link.BUTTON); + addTargetButton = uifactory.addFormLink("add.competence.target", formLayout, Link.BUTTON); + + // table + FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, IdCompetenceCols.taxonomyIdentifier)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(IdCompetenceCols.taxonomyDisplayName)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, IdCompetenceCols.taxonomyExternalId)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, IdCompetenceCols.taxonomyLevelIdentifier)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(IdCompetenceCols.taxonomyLevelDisplayName)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, IdCompetenceCols.taxonomyLevelExternalId)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(IdCompetenceCols.type, new TaxonomyCompetenceTypeRenderer(getTranslator()))); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("remove", translate("remove"), "remove")); + + tableModel = new IdentityCompetenceTableModel(columnsModel); + tableEl = uifactory.addTableElement(getWindowControl(), "table", tableModel, 20, false, getTranslator(), formLayout); + tableEl.setCustomizeColumns(true); + } + + private void loadModel() { + List<TaxonomyCompetence> competences = taxonomyService.getTaxonomyCompetences(assessedIdentity); + List<IdentityCompetenceRow> rows = competences.stream() + .map(c -> new IdentityCompetenceRow(c)) + .collect(Collectors.toList()); + tableModel.setObjects(rows); + tableEl.reset(false, true, true); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + @Override + protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { + if(addManageButton == source) { + doSearchLevelsToAdd(ureq, TaxonomyCompetenceTypes.manage); + } else if(addTeachButton == source) { + doSearchLevelsToAdd(ureq, TaxonomyCompetenceTypes.teach); + } else if(addHaveButton == source) { + doSearchLevelsToAdd(ureq, TaxonomyCompetenceTypes.have); + } else if(addTargetButton == source) { + doSearchLevelsToAdd(ureq, TaxonomyCompetenceTypes.target); + } else if(tableEl == source) { + if(event instanceof SelectionEvent) { + SelectionEvent se = (SelectionEvent)event; + IdentityCompetenceRow row = tableModel.getObject(se.getIndex()); + if("remove".equals(se.getCommand())) { + doConfirmRemove(ureq, row); + } + } + } + super.formInnerEvent(ureq, source, event); + } + + @Override + protected void event(UserRequest ureq, Controller source, Event event) { + if(removeCompentenceConfirmationCtrl == source) { + if (DialogBoxUIFactory.isOkEvent(event) || DialogBoxUIFactory.isYesEvent(event)) { + IdentityCompetenceRow row = (IdentityCompetenceRow)removeCompentenceConfirmationCtrl.getUserObject(); + doRemoveCompetence(row); + } + } else if(levelsSearchCtrl == source) { + if(event == Event.DONE_EVENT) { + loadModel(); + tableEl.reset(true, true, true); + } + cmc.deactivate(); + cleanUp(); + } else if(cmc == source) { + cleanUp(); + } + super.event(ureq, source, event); + } + + private void cleanUp() { + removeAsListenerAndDispose(levelsSearchCtrl); + removeAsListenerAndDispose(cmc); + levelsSearchCtrl = null; + cmc = null; + } + + private void doSearchLevelsToAdd(UserRequest ureq, TaxonomyCompetenceTypes comptenceType) { + if(levelsSearchCtrl != null) return; + + levelsSearchCtrl = new SelectTaxonomyLevelController(ureq, getWindowControl(), assessedIdentity, comptenceType); + listenTo(levelsSearchCtrl); + + cmc = new CloseableModalController(getWindowControl(), translate("close"), levelsSearchCtrl.getInitialComponent(), + true, translate("add.competence." + comptenceType.name())); + listenTo(cmc); + cmc.activate(); + } + + private void doConfirmRemove(UserRequest ureq, IdentityCompetenceRow row) { + String title = translate("remove"); + String competence = translate(row.getCompetenceType().name()); + String levelDisplayName = StringHelper.escapeHtml(row.getTaxonomyLevel().getDisplayName()); + String text = translate("confirmation.remove.competence", new String[] { competence, levelDisplayName }); + removeCompentenceConfirmationCtrl = activateOkCancelDialog(ureq, title, text, removeCompentenceConfirmationCtrl); + removeCompentenceConfirmationCtrl.setUserObject(row); + } + + private void doRemoveCompetence(IdentityCompetenceRow row) { + Taxonomy taxonomy = row.getTaxonomy(); + TaxonomyCompetence competence = row.getCompetence(); + String before = taxonomyService.toAuditXml(competence); + + taxonomyService.removeTaxonomyLevelCompetence(competence); + taxonomyService.auditLog(TaxonomyCompetenceAuditLog.Action.removeCompetence, before, null, null, taxonomy, competence, assessedIdentity, getIdentity()); + loadModel(); + tableEl.reset(true, true, true); + + String competenceTypeName = translate(row.getCompetenceType().name()); + String levelDisplayName = StringHelper.escapeHtml(row.getTaxonomyLevel().getDisplayName()); + showInfo("confirm.removed.competence", new String[] { competenceTypeName, levelDisplayName }); + } + + +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/ui/SelectTaxonomyLevelController.java b/src/main/java/org/olat/modules/taxonomy/ui/SelectTaxonomyLevelController.java new file mode 100644 index 0000000000000000000000000000000000000000..a531535b989171d7b107f458e305432c0f47e89f --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/SelectTaxonomyLevelController.java @@ -0,0 +1,121 @@ +/** + * <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.taxonomy.ui; + +import java.util.List; + +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.GenericTreeModel; +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.Identity; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceAuditLog; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.manager.TaxonomyAllTreesBuilder; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 27 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class SelectTaxonomyLevelController extends FormBasicController { + + private GenericTreeModel taxonomyTreesModel; + + private MenuTreeItem taxonomyTreesEl; + + private final Identity assessedIdentity; + private final TaxonomyCompetenceTypes competenceType; + + @Autowired + private TaxonomyService taxonomyService; + + public SelectTaxonomyLevelController(UserRequest ureq, WindowControl wControl, Identity assessedIdentity, TaxonomyCompetenceTypes competenceType) { + super(ureq, wControl, "select_level"); + this.competenceType = competenceType; + this.assessedIdentity = assessedIdentity; + + initForm(ureq); + loadModel(); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + taxonomyTreesModel = new GenericTreeModel(); + taxonomyTreesEl = uifactory.addTreeMultiselect("taxonomy", null, formLayout, taxonomyTreesModel, this); + + uifactory.addFormCancelButton("cancel", formLayout, ureq, getWindowControl()); + uifactory.addFormSubmitButton("ok", formLayout); + } + + @Override + protected void doDispose() { + // + } + + private void loadModel() { + new TaxonomyAllTreesBuilder().loadTreeModel(taxonomyTreesModel); + } + + @Override + protected void formOK(UserRequest ureq) { + TreeNode selectedNode = taxonomyTreesEl.getSelectedNode(); + if(selectedNode instanceof GenericTreeNode) { + GenericTreeNode selectedTaxonomyTreeNode = (GenericTreeNode)selectedNode; + if(selectedTaxonomyTreeNode.getUserObject() instanceof TaxonomyLevel) { + TaxonomyLevel selectedLevel = (TaxonomyLevel)selectedTaxonomyTreeNode.getUserObject(); + + boolean found = false; + List<TaxonomyCompetence> currentCompetences = taxonomyService.getTaxonomyCompetences(assessedIdentity, competenceType); + for(TaxonomyCompetence currentCompetence:currentCompetences) { + if(selectedLevel.equals(currentCompetence.getTaxonomyLevel())) { + found = true; + } + } + + if(!found) { + TaxonomyLevel taxonomyLevel = taxonomyService.getTaxonomyLevel(selectedLevel); + Taxonomy taxonomy = taxonomyLevel.getTaxonomy(); + TaxonomyCompetence competence = taxonomyService.addTaxonomyLevelCompetences(taxonomyLevel, assessedIdentity, competenceType); + String after = taxonomyService.toAuditXml(competence); + taxonomyService.auditLog(TaxonomyCompetenceAuditLog.Action.addCompetence, null, after, null, taxonomy, competence, assessedIdentity, getIdentity()); + } + } + } + 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/taxonomy/ui/TaxonomyAdminController.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyAdminController.java new file mode 100644 index 0000000000000000000000000000000000000000..68034c46a149c12b4fd44cf65a96a0836c2f7ce5 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyAdminController.java @@ -0,0 +1,113 @@ +/** + * <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.taxonomy.ui; + +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.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.Event; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.controller.BasicController; +import org.olat.core.id.OLATResourceable; +import org.olat.core.util.resource.OresHelper; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyAdminController extends BasicController { + + private final Link configurationLink, taxonomyTreesLink; + private final VelocityContainer mainVC; + private final SegmentViewComponent segmentView; + + private TaxonomyTreesAdminController treesCtrl; + private TaxonomyConfigurationAdminController configurationCtrl; + + public TaxonomyAdminController(UserRequest ureq, WindowControl wControl) { + super(ureq, wControl); + + mainVC = createVelocityContainer("taxonomy_admin"); + + segmentView = SegmentViewFactory.createSegmentView("segments", mainVC, this); + configurationLink = LinkFactory.createLink("admin.configuration", mainVC, this); + segmentView.addSegment(configurationLink, true); + + taxonomyTreesLink = LinkFactory.createLink("admin.taxonomy.trees", mainVC, this); + segmentView.addSegment(taxonomyTreesLink, false); + doOpenConfiguration(ureq); + + putInitialPanel(mainVC); + } + + @Override + protected void doDispose() { + // + } + + @Override + 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 == taxonomyTreesLink){ + doOpenTaxonomyTrees(ureq); + } + } + } + } + + private void doOpenConfiguration(UserRequest ureq) { + if(configurationCtrl == null) { + OLATResourceable ores = OresHelper.createOLATResourceableInstance("configuration", 0l); + WindowControl bwControl = addToHistory(ureq, ores, null); + configurationCtrl = new TaxonomyConfigurationAdminController(ureq, bwControl); + listenTo(configurationCtrl); + } + + mainVC.put("segmentCmp", configurationCtrl.getInitialComponent()); + OLATResourceable ores = OresHelper.createOLATResourceableInstance("configuration", 0l); + addToHistory(ureq, ores, null); + } + + private void doOpenTaxonomyTrees(UserRequest ureq) { + if(treesCtrl == null) { + OLATResourceable ores = OresHelper.createOLATResourceableInstance("trees", 0l); + WindowControl bwControl = addToHistory(ureq, ores, null); + treesCtrl = new TaxonomyTreesAdminController(ureq, bwControl); + listenTo(treesCtrl); + } + + mainVC.put("segmentCmp", treesCtrl.getInitialComponent()); + OLATResourceable ores = OresHelper.createOLATResourceableInstance("trees", 0l); + addToHistory(ureq, ores, null); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyConfigurationAdminController.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyConfigurationAdminController.java new file mode 100644 index 0000000000000000000000000000000000000000..ad137b3cb157fa1ed172f009626b6be76c094ec0 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyConfigurationAdminController.java @@ -0,0 +1,156 @@ +/** + * <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.taxonomy.ui; + +import java.util.List; + +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.SingleSelection; +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.FormLayoutContainer; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.WindowControl; +import org.olat.core.util.StringHelper; +import org.olat.modules.qpool.QuestionPoolModule; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyModule; +import org.olat.modules.taxonomy.TaxonomyService; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 26 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyConfigurationAdminController extends FormBasicController { + + private static final String[] onKeys = new String[] { "on" }; + + private MultipleSelectionElement enableEl; + private SingleSelection taxonomyTreeEl; + private SingleSelection taxonomyQPoolEl; + + @Autowired + private TaxonomyModule taxonomyModule; + @Autowired + private TaxonomyService taxonomyService; + @Autowired + private QuestionPoolModule qpoolModule; + + public TaxonomyConfigurationAdminController(UserRequest ureq, WindowControl wControl) { + super(ureq, wControl); + + initForm(ureq); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + setFormTitle("admin.configuration.title"); + + String[] onValues = new String[] { translate("on") }; + enableEl = uifactory.addCheckboxesHorizontal("taxonomy.admin.enabled", formLayout, onKeys, onValues); + enableEl.addActionListener(FormEvent.ONCHANGE); + if(taxonomyModule.isEnabled()) { + enableEl.select(onKeys[0], true); + } + + String selectedTaxonomyTreeKey = taxonomyModule.getTaxonomyTreeKey(); + List<Taxonomy> taxonomyList = taxonomyService.getRootTaxonomyList(); + String[] taxonomyKeys = new String[taxonomyList.size() + 1]; + String[] taxonomyValues = new String[taxonomyList.size() + 1]; + taxonomyKeys[0] = ""; + taxonomyValues[0] = "-"; + for(int i=taxonomyList.size(); i-->0; ) { + Taxonomy taxonomy = taxonomyList.get(i); + taxonomyKeys[i + 1] = taxonomy.getKey().toString(); + taxonomyValues[i + 1] = taxonomy.getDisplayName(); + } + taxonomyTreeEl = uifactory.addDropdownSingleselect("selected.taxonomy.tree", formLayout, taxonomyKeys, taxonomyValues, null); + boolean found = false; + if(StringHelper.containsNonWhitespace(selectedTaxonomyTreeKey)) { + for(String taxonomyKey:taxonomyKeys) { + if(taxonomyKey.equals(selectedTaxonomyTreeKey)) { + taxonomyTreeEl.select(taxonomyKey, true); + found = true; + } + } + } + if(!found && taxonomyKeys.length > 0) { + taxonomyTreeEl.select(taxonomyKeys[0], true); + } + + String selectedTaxonomyQPoolKey = qpoolModule.getTaxonomyQPoolKey(); + taxonomyQPoolEl = uifactory.addDropdownSingleselect("selected.taxonomy.qpool", formLayout, taxonomyKeys, taxonomyValues, null); + taxonomyQPoolEl.setEnabled(false); + if(StringHelper.containsNonWhitespace(selectedTaxonomyQPoolKey)) { + for(String taxonomyKey:taxonomyKeys) { + if(taxonomyKey.equals(selectedTaxonomyQPoolKey)) { + taxonomyQPoolEl.select(taxonomyKey, true); + } + } + } + + FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator()); + formLayout.add(buttonsCont); + uifactory.addFormSubmitButton("save", buttonsCont); + } + + @Override + protected void doDispose() { + // + } + + + + @Override + protected boolean validateFormLogic(UserRequest ureq) { + boolean allOk = true; + + taxonomyTreeEl.clearError(); + if(!taxonomyTreeEl.isOneSelected()) { + taxonomyTreeEl.setErrorKey("form.legende.mandatory", null); + allOk &= false; + } + + taxonomyQPoolEl.clearError(); + if(!taxonomyQPoolEl.isOneSelected()) { + taxonomyTreeEl.setErrorKey("form.legende.mandatory", null); + allOk &= false; + } + + return allOk & super.validateFormLogic(ureq); + } + + @Override + protected void formOK(UserRequest ureq) { + boolean enabled = enableEl.isAtLeastSelected(1); + taxonomyModule.setEnabled(enabled); + + String selectedTaxonomyTreeKey = taxonomyTreeEl.getSelectedKey(); + taxonomyModule.setTaxonomyTreeKey(selectedTaxonomyTreeKey); + + String selectedTaxonomyQPoolKey = taxonomyQPoolEl.getSelectedKey(); + qpoolModule.setTaxonomyQPoolKey(selectedTaxonomyQPoolKey); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyDirectoryController.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyDirectoryController.java new file mode 100644 index 0000000000000000000000000000000000000000..09d018b85b6eceac68e2c7093fcadc51419f6e9c --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyDirectoryController.java @@ -0,0 +1,84 @@ +/** + * <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.taxonomy.ui; + +import java.util.List; + +import org.olat.core.commons.modules.bc.FolderRunController; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.Component; +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.core.gui.control.generic.dtabs.Activateable2; +import org.olat.core.id.context.ContextEntry; +import org.olat.core.id.context.StateEntry; +import org.olat.core.util.vfs.NamedContainerImpl; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.modules.taxonomy.Taxonomy; + +/** + * + * Initial date: 20 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyDirectoryController extends BasicController implements Activateable2 { + + private final VelocityContainer mainVC; + private FolderRunController folderCtrl; + + + public TaxonomyDirectoryController(UserRequest ureq, WindowControl wControl, + Taxonomy taxonomy, VFSContainer documents, String name) { + super(ureq, wControl); + + mainVC = createVelocityContainer("taxonomy_directory"); + mainVC.contextPut("iconCssClass", "o_icon_taxonomy_templates"); + mainVC.contextPut("displayName", name); + + VFSContainer namedContainer = new NamedContainerImpl("Templates", documents); + folderCtrl = new FolderRunController(namedContainer, true, true, true, ureq, getWindowControl()); + folderCtrl.setResourceURL("[Taxonomy:" + taxonomy.getKey() + "]"); + mainVC.put("folder", folderCtrl.getInitialComponent()); + + putInitialPanel(mainVC); + } + + @Override + protected void doDispose() { + // + } + + @Override + public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) { + if(entries == null || entries.isEmpty()) return; + + if(folderCtrl != null) { + folderCtrl.activate(ureq, entries, state); + } + } + + @Override + protected void event(UserRequest ureq, Component source, Event event) { + // + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelCompetenceController.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelCompetenceController.java new file mode 100644 index 0000000000000000000000000000000000000000..543ae7d6f134bdf4dbb3514fb953edf8372639eb --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelCompetenceController.java @@ -0,0 +1,236 @@ +/** + * <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.taxonomy.ui; + +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +import org.olat.admin.user.UserSearchController; +import org.olat.basesecurity.BaseSecurityModule; +import org.olat.basesecurity.events.MultiIdentityChosenEvent; +import org.olat.basesecurity.events.SingleIdentityChosenEvent; +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.FlexiColumnModel; +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.id.Identity; +import org.olat.core.id.Roles; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceAuditLog; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevelManagedFlag; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.ui.TaxonomyLevelCompetenceTableModel.CompetenceCols; +import org.olat.modules.taxonomy.ui.component.TaxonomyCompetenceTypeRenderer; +import org.olat.user.UserManager; +import org.olat.user.propertyhandlers.UserPropertyHandler; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 3 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyLevelCompetenceController extends FormBasicController { + + protected static final String USER_PROPS_ID = TaxonomyLevelCompetenceController.class.getCanonicalName(); + + public static final int USER_PROPS_OFFSET = 500; + + private FlexiTableElement tableEl; + private TaxonomyLevelCompetenceTableModel tableModel; + private FormLink addManageButton, addTeachButton, addHaveButton, addTargetButton, okButton; + + private CloseableModalController cmc; + private UserSearchController userSearchCtrl; + + private TaxonomyLevel taxonomyLevel; + private boolean isAdministrativeUser; + private List<UserPropertyHandler> userPropertyHandlers; + + @Autowired + private UserManager userManager; + @Autowired + private TaxonomyService taxonomyService; + @Autowired + private BaseSecurityModule securityModule; + + public TaxonomyLevelCompetenceController(UserRequest ureq, WindowControl wControl, TaxonomyLevel taxonomyLevel) { + super(ureq, wControl, "level_competences"); + this.taxonomyLevel = taxonomyLevel; + setTranslator(userManager.getPropertyHandlerTranslator(getTranslator())); + + Roles roles = ureq.getUserSession().getRoles(); + isAdministrativeUser = securityModule.isUserAllowedAdminProps(roles); + userPropertyHandlers = userManager.getUserPropertyHandlersFor(USER_PROPS_ID, isAdministrativeUser); + + initForm(ureq); + loadModel(); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + if(!TaxonomyLevelManagedFlag.isManaged(taxonomyLevel, TaxonomyLevelManagedFlag.manageComptence)) { + addManageButton = uifactory.addFormLink("add.competence.manage", formLayout, Link.BUTTON); + } + if(!TaxonomyLevelManagedFlag.isManaged(taxonomyLevel, TaxonomyLevelManagedFlag.teachComptence)) { + addTeachButton = uifactory.addFormLink("add.competence.teach", formLayout, Link.BUTTON); + } + if(!TaxonomyLevelManagedFlag.isManaged(taxonomyLevel, TaxonomyLevelManagedFlag.haveComptence)) { + addHaveButton = uifactory.addFormLink("add.competence.have", formLayout, Link.BUTTON); + } + if(!TaxonomyLevelManagedFlag.isManaged(taxonomyLevel, TaxonomyLevelManagedFlag.targetComptence)) { + addTargetButton = uifactory.addFormLink("add.competence.target", formLayout, Link.BUTTON); + } + + okButton = uifactory.addFormLink("ok", formLayout, Link.BUTTON); + + // table + FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel(); + if(isAdministrativeUser) { + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(CompetenceCols.username)); + } + + int colPos = USER_PROPS_OFFSET; + for (UserPropertyHandler userPropertyHandler : userPropertyHandlers) { + if (userPropertyHandler == null) continue; + + String propName = userPropertyHandler.getName(); + boolean visible = userManager.isMandatoryUserProperty(USER_PROPS_ID , userPropertyHandler); + + FlexiColumnModel col = new DefaultFlexiColumnModel(visible, userPropertyHandler.i18nColumnDescriptorLabelKey(), colPos, true, propName); + columnsModel.addFlexiColumnModel(col); + colPos++; + } + + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(CompetenceCols.type, new TaxonomyCompetenceTypeRenderer(getTranslator()))); + + tableModel = new TaxonomyLevelCompetenceTableModel(columnsModel); + tableEl = uifactory.addTableElement(getWindowControl(), "table", tableModel, 20, false, getTranslator(), formLayout); + tableEl.setCustomizeColumns(true); + } + + private void loadModel() { + List<TaxonomyCompetence> competences = taxonomyService.getTaxonomyLevelCompetences(taxonomyLevel); + List<TaxonomyLevelCompetenceRow> rows = competences.stream() + .map(c -> new TaxonomyLevelCompetenceRow(c, userPropertyHandlers, getLocale())) + .collect(Collectors.toList()); + tableModel.setObjects(rows); + tableEl.reset(false, true, true); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + @Override + protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { + if(addManageButton == source) { + doSearchUsersToAdd(ureq, TaxonomyCompetenceTypes.manage); + } else if(addTeachButton == source) { + doSearchUsersToAdd(ureq, TaxonomyCompetenceTypes.teach); + } else if(addHaveButton == source) { + doSearchUsersToAdd(ureq, TaxonomyCompetenceTypes.have); + } else if(addTargetButton == source) { + doSearchUsersToAdd(ureq, TaxonomyCompetenceTypes.target); + } else if(okButton == source) { + fireEvent(ureq, Event.DONE_EVENT); + } + super.formInnerEvent(ureq, source, event); + } + + @Override + protected void event(UserRequest ureq, Controller source, Event event) { + if(userSearchCtrl == source) { + if (event instanceof SingleIdentityChosenEvent) { + SingleIdentityChosenEvent singleEvent = (SingleIdentityChosenEvent)event; + Identity choosenIdentity = singleEvent.getChosenIdentity(); + if (choosenIdentity != null) { + List<Identity> toAdd = Collections.singletonList(choosenIdentity); + doAddCompetence(toAdd, (TaxonomyCompetenceTypes)userSearchCtrl.getUserObject()); + loadModel(); + } + } else if (event instanceof MultiIdentityChosenEvent) { + MultiIdentityChosenEvent multiEvent = (MultiIdentityChosenEvent)event; + List<Identity> toAdd = multiEvent.getChosenIdentities(); + if(toAdd.size() > 0) { + doAddCompetence(toAdd, (TaxonomyCompetenceTypes)userSearchCtrl.getUserObject()); + loadModel(); + } + } + cmc.deactivate(); + cleanUp(); + } else if(cmc == source) { + cleanUp(); + } + super.event(ureq, source, event); + } + + private void cleanUp() { + removeAsListenerAndDispose(userSearchCtrl); + removeAsListenerAndDispose(cmc); + userSearchCtrl = null; + cmc = null; + } + + private void doSearchUsersToAdd(UserRequest ureq, TaxonomyCompetenceTypes comptenceType) { + if(userSearchCtrl != null) return; + + userSearchCtrl = new UserSearchController(ureq, getWindowControl(), true, true, false); + userSearchCtrl.setUserObject(comptenceType); + listenTo(userSearchCtrl); + + cmc = new CloseableModalController(getWindowControl(), translate("close"), userSearchCtrl.getInitialComponent(), + true, translate("add.competence." + comptenceType.name())); + listenTo(cmc); + cmc.activate(); + } + + private void doAddCompetence(List<Identity> identities, TaxonomyCompetenceTypes comptenceType) { + Taxonomy taxonomy = taxonomyLevel.getTaxonomy(); + for(Identity identity:identities) { + TaxonomyCompetence competence = taxonomyService.addTaxonomyLevelCompetences(taxonomyLevel, identity, comptenceType); + String after = taxonomyService.toAuditXml(competence); + taxonomyService.auditLog(TaxonomyCompetenceAuditLog.Action.addCompetence, null, after, null, taxonomy, competence, identity, getIdentity()); + } + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelCompetenceRow.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelCompetenceRow.java new file mode 100644 index 0000000000000000000000000000000000000000..3dbe40e624007cc889cb235d443b9df21c785aaf --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelCompetenceRow.java @@ -0,0 +1,50 @@ +/** + * <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.taxonomy.ui; + +import java.util.List; +import java.util.Locale; + +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.user.UserPropertiesRow; +import org.olat.user.propertyhandlers.UserPropertyHandler; + +/** + * + * Initial date: 3 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyLevelCompetenceRow extends UserPropertiesRow { + + private final TaxonomyCompetenceTypes type; + + public TaxonomyLevelCompetenceRow(TaxonomyCompetence competence, List<UserPropertyHandler> userPropertyHandlers, Locale locale) { + super(competence.getIdentity(), userPropertyHandlers, locale); + type = competence.getCompetenceType(); + } + + public TaxonomyCompetenceTypes getCompetenceType() { + return type; + } + + +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelCompetenceTableModel.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelCompetenceTableModel.java new file mode 100644 index 0000000000000000000000000000000000000000..ccd955a737155e1a7acd7d098cce6c5c0b00caf2 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelCompetenceTableModel.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.taxonomy.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: 3 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyLevelCompetenceTableModel extends DefaultFlexiTableDataModel<TaxonomyLevelCompetenceRow> +implements SortableFlexiTableDataModel<TaxonomyLevelCompetenceRow> { + + public TaxonomyLevelCompetenceTableModel(FlexiTableColumnModel columnsModel) { + super(columnsModel); + } + + @Override + public void sort(SortKey orderBy) { + if(orderBy != null) { + List<TaxonomyLevelCompetenceRow> views = new TaxonomyLevelCompetenceTableModelSortDelegate(orderBy, this, null).sort(); + super.setObjects(views); + } + } + + @Override + public Object getValueAt(int row, int col) { + TaxonomyLevelCompetenceRow competence = getObject(row); + return getValueAt(competence, col); + } + + @Override + public Object getValueAt(TaxonomyLevelCompetenceRow row, int col) { + if(col < TaxonomyLevelCompetenceController.USER_PROPS_OFFSET) { + switch(CompetenceCols.values()[col]) { + case username: return row.getIdentityName(); + case type: return row.getCompetenceType(); + } + } else { + int propPos = col - TaxonomyLevelCompetenceController.USER_PROPS_OFFSET; + return row.getIdentityProp(propPos); + } + return null; + } + + @Override + public TaxonomyLevelCompetenceTableModel createCopyWithEmptyList() { + return new TaxonomyLevelCompetenceTableModel(getTableColumnModel()); + } + + public enum CompetenceCols implements FlexiSortableColumnDef { + username("username"), + type("table.header.competence.type"); + + private final String i18nHeaderKey; + + private CompetenceCols(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/taxonomy/ui/TaxonomyLevelCompetenceTableModelSortDelegate.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelCompetenceTableModelSortDelegate.java new file mode 100644 index 0000000000000000000000000000000000000000..848e613b26f7b4f1bdc13e08ceb09eca6d4e0f74 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelCompetenceTableModelSortDelegate.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.taxonomy.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: 27 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyLevelCompetenceTableModelSortDelegate extends SortableFlexiTableModelDelegate<TaxonomyLevelCompetenceRow> { + + public TaxonomyLevelCompetenceTableModelSortDelegate(SortKey orderBy, TaxonomyLevelCompetenceTableModel tableModel, Locale locale) { + super(orderBy, tableModel, locale); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelController.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelController.java new file mode 100644 index 0000000000000000000000000000000000000000..776aefbbce8d8da55d364b7ce02d3c99cf5a2a2c --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelController.java @@ -0,0 +1,112 @@ +/** + * <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.taxonomy.ui; + +import java.util.List; + +import org.olat.core.commons.modules.bc.FolderRunController; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.Component; +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.core.gui.control.generic.dtabs.Activateable2; +import org.olat.core.id.context.ContextEntry; +import org.olat.core.id.context.StateEntry; +import org.olat.core.util.StringHelper; +import org.olat.core.util.vfs.NamedContainerImpl; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.model.TaxonomyTreeNode; +import org.olat.modules.taxonomy.ui.component.TaxonomyVFSSecurityCallback; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyLevelController extends BasicController implements Activateable2 { + + private final VelocityContainer mainVC; + private FolderRunController folderCtrl; + + private TaxonomyLevel taxonomyLevel; + + @Autowired + private TaxonomyService taxonomyService; + + public TaxonomyLevelController(UserRequest ureq, WindowControl wControl, + TaxonomyLevel level, TaxonomyTreeNode node, TaxonomyVFSSecurityCallback secCallback) { + super(ureq, wControl); + taxonomyLevel = taxonomyService.getTaxonomyLevel(level); + + mainVC = createVelocityContainer("taxonomy_level_directory"); + + String iconCssClass; + TaxonomyLevelType type = level.getType(); + if(type != null && StringHelper.containsNonWhitespace(type.getCssClass())) { + iconCssClass = type.getCssClass(); + } else { + iconCssClass = node.getIconCssClass(); + } + mainVC.contextPut("iconCssClass", iconCssClass); + mainVC.contextPut("displayName", StringHelper.escapeHtml(level.getDisplayName())); + mainVC.contextPut("identifier", StringHelper.escapeHtml(level.getIdentifier())); + + if(node.isDocumentsLibraryEnabled()) { + String name = level.getDisplayName(); + VFSContainer documents = taxonomyService.getDocumentsLibrary(level); + documents.setLocalSecurityCallback(secCallback); + VFSContainer namedContainer = new NamedContainerImpl(name, documents); + folderCtrl = new FolderRunController(namedContainer, true, true, true, ureq, getWindowControl()); + folderCtrl.setResourceURL("[Taxonomy:" + taxonomyLevel.getTaxonomy().getKey() + "][TaxonomyLevel:" + taxonomyLevel.getKey() + "]"); + mainVC.put("folder", folderCtrl.getInitialComponent()); + } + putInitialPanel(mainVC); + } + + public TaxonomyLevel getTaxonomyLevel() { + return taxonomyLevel; + } + + @Override + protected void doDispose() { + // + } + + @Override + public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) { + if(entries == null || entries.isEmpty()) return; + + if(folderCtrl != null) { + folderCtrl.activate(ureq, entries, state); + } + } + + @Override + protected void event(UserRequest ureq, Component source, Event event) { + // + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelTypeRow.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelTypeRow.java new file mode 100644 index 0000000000000000000000000000000000000000..2c18b324bf9a9e975bff4a807e1e910ab75669bc --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelTypeRow.java @@ -0,0 +1,50 @@ +/** + * <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.taxonomy.ui; + +import org.olat.modules.taxonomy.TaxonomyLevelType; + +/** + * + * Initial date: 2 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyLevelTypeRow { + + private TaxonomyLevelType type; + + public TaxonomyLevelTypeRow(TaxonomyLevelType type) { + this.type = type; + } + + public String getIdentifier() { + return type.getIdentifier(); + } + + public String getDisplayName() { + return type.getDisplayName(); + } + + public TaxonomyLevelType getType() { + return type; + } + +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelTypesEditController.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelTypesEditController.java new file mode 100644 index 0000000000000000000000000000000000000000..224b0ae10517bed756347c563ca0075486064e02 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelTypesEditController.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.modules.taxonomy.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.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.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.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyLevelTypeRef; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.ui.TaxonomyLevelTypesTableModel.TypesCols; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 2 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyLevelTypesEditController extends FormBasicController { + + private FormLink addRootTypeButton; + private FlexiTableElement tableEl; + private TaxonomyLevelTypesTableModel model; + + private CloseableModalController cmc; + private EditTaxonomyLevelTypeController rootLevelTypeCtrl; + private EditTaxonomyLevelTypeController editLevelTypeCtrl; + + private Taxonomy taxonomy; + + @Autowired + private TaxonomyService taxonomyService; + + public TaxonomyLevelTypesEditController(UserRequest ureq, WindowControl wControl, Taxonomy taxonomy) { + super(ureq, wControl, "admin_level_types"); + this.taxonomy = taxonomy; + 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(TypesCols.identifier)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(TypesCols.displayName)); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("edit", translate("edit"), "edit")); + + model = new TaxonomyLevelTypesTableModel(columnsModel); + tableEl = uifactory.addTableElement(getWindowControl(), "types", model, 25, false, getTranslator(), formLayout); + } + + private void loadModel() { + List<TaxonomyLevelType> types = taxonomyService.getTaxonomyLevelTypes(taxonomy); + List<TaxonomyLevelTypeRow> rows = types + .stream().map(t -> forgeRow(t)) + .collect(Collectors.toList()); + model.setObjects(rows); + tableEl.reset(false, true, true); + } + + private TaxonomyLevelTypeRow forgeRow(TaxonomyLevelType type) { + return new TaxonomyLevelTypeRow(type); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void event(UserRequest ureq, Controller source, Event event) { + if(rootLevelTypeCtrl == source || editLevelTypeCtrl == source) { + if(event == Event.DONE_EVENT) { + loadModel(); + } + cmc.deactivate(); + cleanUp(); + } else if(cmc == source) { + cleanUp(); + } + super.event(ureq, source, event); + } + + private void cleanUp() { + removeAsListenerAndDispose(rootLevelTypeCtrl); + removeAsListenerAndDispose(cmc); + rootLevelTypeCtrl = null; + cmc = null; + } + + @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)) { + TaxonomyLevelTypeRow row = model.getObject(se.getIndex()); + doEditLevelType(ureq, row.getType()); + } + } + } + super.formInnerEvent(ureq, source, event); + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + private void doAddRootType(UserRequest ureq) { + rootLevelTypeCtrl = new EditTaxonomyLevelTypeController(ureq, this.getWindowControl(), null, taxonomy); + listenTo(rootLevelTypeCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", rootLevelTypeCtrl.getInitialComponent(), true, translate("add.root.type")); + listenTo(cmc); + cmc.activate(); + } + + private void doEditLevelType(UserRequest ureq, TaxonomyLevelTypeRef type) { + TaxonomyLevelType reloadedType = taxonomyService.getTaxonomyLevelType(type); + editLevelTypeCtrl = new EditTaxonomyLevelTypeController(ureq, this.getWindowControl(), reloadedType, taxonomy); + listenTo(editLevelTypeCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", editLevelTypeCtrl.getInitialComponent(), true, translate("edit")); + listenTo(cmc); + cmc.activate(); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelTypesTableModel.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelTypesTableModel.java new file mode 100644 index 0000000000000000000000000000000000000000..90b1bac17b285b63be0d82a0f193580539eb27e4 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelTypesTableModel.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.taxonomy.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: 2 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyLevelTypesTableModel extends DefaultFlexiTableDataModel<TaxonomyLevelTypeRow> +implements SortableFlexiTableDataModel<TaxonomyLevelTypeRow> { + + public TaxonomyLevelTypesTableModel(FlexiTableColumnModel columnsModel) { + super(columnsModel); + } + + @Override + public void sort(SortKey orderBy) { + if(orderBy != null) { + List<TaxonomyLevelTypeRow> views = new TaxonomyLevelTypesTableModelSortDelegate(orderBy, this, null).sort(); + super.setObjects(views); + } + } + + @Override + public Object getValueAt(int row, int col) { + TaxonomyLevelTypeRow type = getObject(row); + return getValueAt(type, col); + } + + @Override + public Object getValueAt(TaxonomyLevelTypeRow row, int col) { + switch(TypesCols.values()[col]) { + case identifier: return row.getIdentifier(); + case displayName: return row.getDisplayName(); + default: return null; + } + } + + @Override + public DefaultFlexiTableDataModel<TaxonomyLevelTypeRow> createCopyWithEmptyList() { + return new TaxonomyLevelTypesTableModel(getTableColumnModel()); + } + + public enum TypesCols implements FlexiSortableColumnDef { + identifier("table.header.type.identifier"), + displayName("table.header.type.displayName"); + + 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/taxonomy/ui/TaxonomyLevelTypesTableModelSortDelegate.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelTypesTableModelSortDelegate.java new file mode 100644 index 0000000000000000000000000000000000000000..2e2c2317fa78e4ab3ff0de02b4e67057f2b0b02f --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyLevelTypesTableModelSortDelegate.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.taxonomy.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: 27 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyLevelTypesTableModelSortDelegate extends SortableFlexiTableModelDelegate<TaxonomyLevelTypeRow> { + + public TaxonomyLevelTypesTableModelSortDelegate(SortKey orderBy, TaxonomyLevelTypesTableModel tableModel, Locale locale) { + super(orderBy, tableModel, locale); + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyMainController.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyMainController.java new file mode 100644 index 0000000000000000000000000000000000000000..48d40cf11762574fcbe5458307f78470318621b3 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyMainController.java @@ -0,0 +1,256 @@ +/** + * <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.taxonomy.ui; + +import java.util.List; + +import org.olat.core.commons.fullWebApp.LayoutMain3ColsController; +import org.olat.core.commons.services.notifications.SubscriptionContext; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.stack.PopEvent; +import org.olat.core.gui.components.stack.TooledStackedPanel; +import org.olat.core.gui.components.tree.MenuTree; +import org.olat.core.gui.components.tree.TreeEvent; +import org.olat.core.gui.components.tree.TreeNode; +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.MainLayoutBasicController; +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.core.util.StringHelper; +import org.olat.core.util.tree.TreeHelper; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.core.util.vfs.callbacks.DefaultVFSSecurityCallback; +import org.olat.core.util.vfs.callbacks.FullAccessCallback; +import org.olat.core.util.vfs.callbacks.VFSSecurityCallback; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyModule; +import org.olat.modules.taxonomy.TaxonomyRef; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.manager.TaxonomyDocumentsLibraryNotificationsHandler; +import org.olat.modules.taxonomy.manager.TaxonomyTreeBuilder; +import org.olat.modules.taxonomy.model.TaxonomyRefImpl; +import org.olat.modules.taxonomy.model.TaxonomyTreeNode; +import org.olat.modules.taxonomy.model.TaxonomyTreeNodeType; +import org.olat.modules.taxonomy.ui.component.TaxonomyVFSSecurityCallback; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyMainController extends MainLayoutBasicController implements Activateable2 { + + private final MenuTree taxonomyTree; + private final TooledStackedPanel content; + + private final LayoutMain3ColsController columnLayoutCtr; + + private Taxonomy taxonomy; + private final boolean isTaxonomyAdmin; + + @Autowired + private TaxonomyModule taxonomyModule; + @Autowired + private TaxonomyService taxonomyService; + @Autowired + private TaxonomyDocumentsLibraryNotificationsHandler notificationsHandler; + + public TaxonomyMainController(UserRequest ureq, WindowControl wControl) { + super(ureq, wControl); + + isTaxonomyAdmin = ureq.getUserSession().getRoles().isOLATAdmin(); + + String taxonomyKey = taxonomyModule.getTaxonomyTreeKey(); + if(StringHelper.isLong(taxonomyKey)) { + TaxonomyRef taxonomyRef = new TaxonomyRefImpl(new Long(taxonomyKey)); + taxonomy = taxonomyService.getTaxonomy(taxonomyRef); + } + + TaxonomyTreeBuilder builder = new TaxonomyTreeBuilder(taxonomy, getIdentity(), getLocale(), isTaxonomyAdmin); + + taxonomyTree = new MenuTree(null, "taxonomy-menu", this); + taxonomyTree.setExpandSelectedNode(false); + taxonomyTree.setRootVisible(true); + taxonomyTree.setTreeModel(builder.buildTreeModel()); + + content = new TooledStackedPanel("taxonomy-stack", getTranslator(), this); + content.setNeverDisposeRootController(true); + content.setToolbarAutoEnabled(true); + + TreeNode root = taxonomyTree.getTreeModel().getRootNode(); + if(root.getChildCount() > 0) { + taxonomyTree.open((TreeNode)root.getChildAt(0)); + + columnLayoutCtr = new LayoutMain3ColsController(ureq, getWindowControl(), taxonomyTree, content, "hfm"); + columnLayoutCtr.addCssClassToMain("o_taxonomy"); + listenTo(columnLayoutCtr); // auto dispose later + putInitialPanel(columnLayoutCtr.getInitialComponent()); + + TaxonomyRootController rootCtrl = new TaxonomyRootController(ureq, getWindowControl(), taxonomy); + listenTo(rootCtrl); + String displayName = taxonomy == null ? "ROOT" : taxonomy.getDisplayName(); + content.rootController(displayName, rootCtrl); + } else { + VelocityContainer errorVC = createVelocityContainer("error"); + errorVC.contextPut("message", translate("not.configured")); + columnLayoutCtr = new LayoutMain3ColsController(ureq, getWindowControl(), null, errorVC, "hfm"); + columnLayoutCtr.addCssClassToMain("o_taxonomy"); + listenTo(columnLayoutCtr); // auto dispose later + putInitialPanel(columnLayoutCtr.getInitialComponent()); + } + } + + @Override + protected void doDispose() { + // + } + + @Override + public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) { + if(entries == null || entries.isEmpty()) { + if(taxonomyTree.getTreeModel().getRootNode().getChildCount() > 0) { + doSelectTaxonomy(ureq); + } + } else { + String resourceName = entries.get(0).getOLATResourceable().getResourceableTypeName(); + if(resourceName.startsWith("path=")) { + TreeNode rootNode = taxonomyTree.getTreeModel().getRootNode(); + if(rootNode.getChildCount() > 0) { + TaxonomyTreeNode node = (TaxonomyTreeNode)rootNode.getChildAt(0); + if(node.getType() == TaxonomyTreeNodeType.directory) { + TaxonomyDirectoryController directoryCtrl = doSelectTaxonomyDirectory(ureq, node); + if(directoryCtrl != null) { + taxonomyTree.setSelectedNode(node); + directoryCtrl.activate(ureq, entries, null); + } + } + } + } else if("TaxonomyLevel".equalsIgnoreCase(resourceName)) { + String levelKey = entries.get(0).getOLATResourceable().getResourceableId().toString(); + TaxonomyTreeNode node = (TaxonomyTreeNode)taxonomyTree.getTreeModel().getNodeById(levelKey); + if(node != null) { + TaxonomyLevelController levelCtrl = doSelectTaxonomyLevel(ureq, node); + if(levelCtrl != null) { + taxonomyTree.setSelectedNode(node); + List<ContextEntry> subEntries = entries.subList(1, entries.size()); + levelCtrl.activate(ureq, subEntries, entries.get(0).getTransientState()); + } + } + } + } + } + + @Override + protected void event(UserRequest ureq, Component source, Event event) { + if(taxonomyTree == source) { + if(event instanceof TreeEvent) { + TreeEvent te = (TreeEvent)event; + if(MenuTree.COMMAND_TREENODE_CLICKED.equals(te.getCommand())) { + TaxonomyTreeNode node = (TaxonomyTreeNode)taxonomyTree.getTreeModel().getNodeById(te.getNodeId()); + doSelect(ureq, node); + } + } + } else if(content == source) { + if(event instanceof PopEvent) { + PopEvent popEvent = (PopEvent)event; + if(popEvent.getController() instanceof TaxonomyLevelController) { + TaxonomyLevelController taxonomyLevelCtrl = (TaxonomyLevelController)popEvent.getController(); + TaxonomyLevel level = taxonomyLevelCtrl.getTaxonomyLevel(); + TaxonomyTreeNode node = (TaxonomyTreeNode)TreeHelper + .findNodeByUserObject(level, taxonomyTree.getTreeModel().getRootNode()); + TaxonomyTreeNode parentNode = (TaxonomyTreeNode)node.getParent(); + if(parentNode == null) { + doSelectTaxonomy(ureq); + taxonomyTree.setSelectedNode(taxonomyTree.getTreeModel().getRootNode()); + } else { + doSelect(ureq, parentNode); + taxonomyTree.setSelectedNode(parentNode); + } + } else if(popEvent.getUserObject() instanceof TaxonomyTreeNode) { + TaxonomyTreeNode node = (TaxonomyTreeNode)popEvent.getUserObject(); + doSelect(ureq, node); + taxonomyTree.setSelectedNode(node); + } + } + } + } + + private void doSelect(UserRequest ureq, TaxonomyTreeNode node) { + switch(node.getType()) { + case taxonomy: + doSelectTaxonomy(ureq); + break; + case directory: + doSelectTaxonomyDirectory(ureq, node); + break; + case taxonomyLevel: + doSelectTaxonomyLevel(ureq, node); + break; + } + } + + private void doSelectTaxonomy(UserRequest ureq) { + content.popUpToRootController(ureq); + } + + private TaxonomyDirectoryController doSelectTaxonomyDirectory(UserRequest ureq, TaxonomyTreeNode node) { + content.popUpToRootController(ureq); + + VFSContainer directory = node.getDirectory(); + VFSSecurityCallback secCallback = isTaxonomyAdmin ? new FullAccessCallback() : new DefaultVFSSecurityCallback(); + directory.setLocalSecurityCallback(secCallback); + + String name = translate("taxonomy.templates"); + TaxonomyDirectoryController directoryCtrl = new TaxonomyDirectoryController(ureq, getWindowControl(), node.getTaxonomy(), directory, name); + listenTo(directoryCtrl); + + content.pushController(name, directoryCtrl); + return directoryCtrl; + } + + private TaxonomyLevelController doSelectTaxonomyLevel(UserRequest ureq, TaxonomyTreeNode node) { + if(isTaxonomyAdmin || node.isCanRead() || node.isCanWrite()) { + TaxonomyLevel level = node.getTaxonomyLevel(); + + SubscriptionContext subscriptionCtx = notificationsHandler.getTaxonomyDocumentsLibrarySubscriptionContext(node.getTaxonomy()); + TaxonomyVFSSecurityCallback secCallback = new TaxonomyVFSSecurityCallback(node, subscriptionCtx); + TaxonomyLevelController levelCtrl = new TaxonomyLevelController(ureq, getWindowControl(), level, node, secCallback); + listenTo(levelCtrl); + String displayName = level.getDisplayName(); + + content.popUpToRootController(ureq); + List<TreeNode> parentLines = TreeHelper.getTreePath(node); + for(int i=1; i<parentLines.size() - 1; i++) { + TreeNode parent = parentLines.get(i); + content.pushController(parent.getTitle(), null, parent); + } + content.pushController(displayName, levelCtrl); + return levelCtrl; + } + return null; + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyRootController.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyRootController.java new file mode 100644 index 0000000000000000000000000000000000000000..43115d28cf38d870606f6ac351e7e2320e97934f --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyRootController.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.taxonomy.ui; + +import org.olat.core.commons.modules.singlepage.SinglePageController; +import org.olat.core.commons.services.notifications.PublisherData; +import org.olat.core.commons.services.notifications.SubscriptionContext; +import org.olat.core.commons.services.notifications.ui.ContextualSubscriptionController; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.Component; +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.core.util.StringHelper; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.manager.TaxonomyDocumentsLibraryNotificationsHandler; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyRootController extends BasicController { + + private VelocityContainer mainVC; + + private SinglePageController indexCtrl; + + @Autowired + private TaxonomyService taxonomyService; + @Autowired + private TaxonomyDocumentsLibraryNotificationsHandler notificationsHandler; + + public TaxonomyRootController(UserRequest ureq, WindowControl wControl, Taxonomy taxonomy) { + super(ureq, wControl); + + mainVC = createVelocityContainer("taxonomy_root"); + mainVC.contextPut("displayName", StringHelper.escapeHtml(taxonomy.getDisplayName())); + mainVC.contextPut("identifier", StringHelper.escapeHtml(taxonomy.getIdentifier())); + + //add subscription + SubscriptionContext subsContext = notificationsHandler.getTaxonomyDocumentsLibrarySubscriptionContext(taxonomy); + PublisherData data = notificationsHandler.getTaxonomyDocumentsLibraryPublisherData(taxonomy); + ContextualSubscriptionController csController = new ContextualSubscriptionController(ureq, getWindowControl(), subsContext, data); + listenTo(csController); + mainVC.put("subscription", csController.getInitialComponent()); + + VFSContainer container = taxonomyService.getTaxonomyInfoPageContainer(taxonomy); + indexCtrl = new SinglePageController(ureq, this.getWindowControl(), container, "index.html", false); + listenTo(indexCtrl); + mainVC.put("index", indexCtrl.getInitialComponent()); + + putInitialPanel(mainVC); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void event(UserRequest ureq, Component source, Event event) { + // + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyTreesAdminController.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyTreesAdminController.java new file mode 100644 index 0000000000000000000000000000000000000000..458455b27bae04cdcb2ef4613b75d3b7e02ecf79 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyTreesAdminController.java @@ -0,0 +1,253 @@ +/** + * <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.taxonomy.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.tree.GenericTreeModel; +import org.olat.core.gui.components.tree.InsertEvent; +import org.olat.core.gui.components.tree.InsertionPoint.Position; +import org.olat.core.gui.components.tree.InsertionTreeModel; +import org.olat.core.gui.components.tree.MenuTree; +import org.olat.core.gui.components.tree.TreeEvent; +import org.olat.core.gui.components.tree.TreeNode; +import org.olat.core.gui.components.tree.TreePosition; +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.CloseableModalController; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.manager.TaxonomyAllTreesBuilder; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 26 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyTreesAdminController extends BasicController { + + private MenuTree taxonomiesTree; + private Link createTaxonomyButton, addLevelButton; + private VelocityContainer mainVC; + private TaxonomyTreesModel taxonomyTreesModel; + + private CloseableModalController cmc; + private EditTaxonomyController editTaxonomyCtrl; + private EditTaxonomyLevelController createTaxonomyLevelCtrl; + + private DetailsTaxonomyController detailsCtrl; + private DetailsTaxonomyLevelController detailsLevelCtrl; + + @Autowired + private TaxonomyService taxonomyService; + + public TaxonomyTreesAdminController(UserRequest ureq, WindowControl wControl) { + super(ureq, wControl); + + mainVC = createVelocityContainer("admin_trees"); + + createTaxonomyButton = LinkFactory.createButton("create.taxonomy", mainVC, this); + addLevelButton = LinkFactory.createButton("add.taxonomy.level", mainVC, this); + mainVC.put("createTaxonomyButton", createTaxonomyButton); + mainVC.put("addTaxonomyLevelButton", addLevelButton); + + detailsLevelCtrl = new DetailsTaxonomyLevelController(ureq, getWindowControl()); + listenTo(detailsLevelCtrl); + detailsCtrl = new DetailsTaxonomyController(ureq, getWindowControl()); + listenTo(detailsCtrl); + + taxonomiesTree = new MenuTree("taxonomyTrees"); + taxonomyTreesModel = new TaxonomyTreesModel(); + taxonomiesTree.setTreeModel(taxonomyTreesModel); + taxonomiesTree.setSelectedNode(taxonomiesTree.getTreeModel().getRootNode()); + taxonomiesTree.setDropEnabled(false); + taxonomiesTree.addListener(this); + loadTreeModel(); + + mainVC.put("trees", taxonomiesTree); + putInitialPanel(mainVC); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void event(UserRequest ureq, Controller source, Event event) { + if(editTaxonomyCtrl == source) { + if(event == Event.DONE_EVENT) { + reloadTreeModel(); + } + cmc.deactivate(); + cleanUp(); + } else if(createTaxonomyLevelCtrl == source) { + if(event == Event.DONE_EVENT) { + reloadTreeModel(); + } + cmc.deactivate(); + cleanUp(); + } else if(cmc == source) { + cleanUp(); + } + super.event(ureq, source, event); + } + + @Override + protected void event(UserRequest ureq, Component source, Event event) { + if(createTaxonomyButton == source) { + doCreateTaxonomy(ureq); + } else if(addLevelButton == source) { + doEnableAddLevel(ureq); + } else if(taxonomiesTree == source) { + if(event instanceof TreeEvent) { + TreeEvent te = (TreeEvent)event; + if(MenuTree.COMMAND_TREENODE_CLICKED.equals(te.getCommand())) { + TreeNode node = taxonomyTreesModel.getNodeById(te.getNodeId()); + doSelect(node); + } + } else if(event instanceof InsertEvent) { + boolean canAdd = taxonomiesTree.getInsertionPoint() != null; + if(canAdd) { + addLevelButton.setElementCssClass("btn-primary"); + } else { + addLevelButton.setElementCssClass(null); + } + } + } + } + + private void cleanUp() { + removeAsListenerAndDispose(createTaxonomyLevelCtrl); + removeAsListenerAndDispose(editTaxonomyCtrl); + removeAsListenerAndDispose(cmc); + createTaxonomyLevelCtrl = null; + editTaxonomyCtrl = null; + cmc = null; + } + + private void reloadTreeModel() { + List<String> openedNodeIds = new ArrayList<>(taxonomiesTree.getOpenNodeIds()); + String selectedId = taxonomiesTree.getSelectedNodeId(); + + loadTreeModel(); + taxonomiesTree.setTreeModel(taxonomyTreesModel); + taxonomiesTree.select(selectedId, true); + taxonomiesTree.setOpenNodeIds(openedNodeIds); + } + + private void loadTreeModel() { + new TaxonomyAllTreesBuilder().loadTreeModel(taxonomyTreesModel); + } + + private void doSelect(TreeNode node) { + if(node != null) { + if(node.getUserObject() instanceof TaxonomyLevel) { + TaxonomyLevel taxonomyLevel = (TaxonomyLevel)node.getUserObject(); + taxonomyLevel = taxonomyService.getTaxonomyLevel(taxonomyLevel); + detailsLevelCtrl.setTaxonomyLevel(taxonomyLevel); + mainVC.put("details", detailsLevelCtrl.getInitialComponent()); + } else if(node.getUserObject() instanceof Taxonomy) { + Taxonomy taxonomy = (Taxonomy)node.getUserObject(); + taxonomy = taxonomyService.getTaxonomy(taxonomy); + detailsCtrl.setTaxonomy(taxonomy); + mainVC.put("details", detailsCtrl.getInitialComponent()); + } else { + mainVC.remove("details"); + } + } else { + mainVC.remove("details"); + } + } + + private void doEnableAddLevel(UserRequest ureq) { + if(taxonomiesTree.getInsertionPosition() != null) { + TreePosition position = taxonomiesTree.getInsertionPosition(); + + TreeNode parent = position.getParentTreeNode(); + Object uobject = parent.getUserObject(); + if(uobject instanceof Taxonomy) { + doCreateTaxonomyLevel(ureq, null, (Taxonomy)uobject); + } else if(uobject instanceof TaxonomyLevel) { + TaxonomyLevel parentLevel = (TaxonomyLevel)uobject; + doCreateTaxonomyLevel(ureq, parentLevel, parentLevel.getTaxonomy()); + } + } else { + taxonomiesTree.enableInsertTool(true); + taxonomiesTree.setDirty(true); + } + } + + private void doCreateTaxonomy(UserRequest ureq) { + if(editTaxonomyCtrl != null) return; + + editTaxonomyCtrl = new EditTaxonomyController(ureq, getWindowControl(), null); + listenTo(editTaxonomyCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", editTaxonomyCtrl.getInitialComponent(), true, translate("create.taxonomy")); + listenTo(cmc); + cmc.activate(); + } + + private void doCreateTaxonomyLevel(UserRequest ureq, TaxonomyLevel parentLevel, Taxonomy taxonomy) { + if(createTaxonomyLevelCtrl != null) return; + + createTaxonomyLevelCtrl = new EditTaxonomyLevelController(ureq, getWindowControl(), parentLevel, taxonomy); + listenTo(createTaxonomyLevelCtrl); + + cmc = new CloseableModalController(getWindowControl(), "close", createTaxonomyLevelCtrl.getInitialComponent(), true, translate("add.taxonomy.level")); + listenTo(cmc); + cmc.activate(); + } + + public class TaxonomyTreesModel extends GenericTreeModel implements InsertionTreeModel { + + private static final long serialVersionUID = -3141702425361197931L; + + @Override + public boolean isSource(TreeNode node) { + return false; + } + + @Override + public Position[] getInsertionPosition(TreeNode node) { + Position[] positions; + if(node.getUserObject() instanceof TaxonomyLevel) { + positions = new Position[] { Position.down, Position.under }; + } else if(node.getUserObject() instanceof Taxonomy) { + positions = new Position[] { Position.under }; + } else { + positions = new Position[0]; + } + return positions; + } + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_content/admin_level_types.html b/src/main/java/org/olat/modules/taxonomy/ui/_content/admin_level_types.html new file mode 100644 index 0000000000000000000000000000000000000000..78a77ea47ce4406a5bad44d481a087b69838c928 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/_content/admin_level_types.html @@ -0,0 +1,7 @@ +#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") diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_content/admin_trees.html b/src/main/java/org/olat/modules/taxonomy/ui/_content/admin_trees.html new file mode 100644 index 0000000000000000000000000000000000000000..69ba7b7fbdf15148f71c88115732629b243a46c7 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/_content/admin_trees.html @@ -0,0 +1,18 @@ +#if($r.available("create.taxonomy")) +<div class="o_button_group o_button_group_right"> + $r.render("create.taxonomy") +</div> +#end +<div class="row"> + <div class="col-sm-6"> + $r.render("trees") + #if($r.available("add.taxonomy.level")) + $r.render("add.taxonomy.level") + #end + </div> + <div class="col-sm-6"> + #if($r.available("details")) + $r.render("details") + #end + </div> +</div> \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_content/error.html b/src/main/java/org/olat/modules/taxonomy/ui/_content/error.html new file mode 100644 index 0000000000000000000000000000000000000000..dcbef92fcbdded69c2ba096888a03d29b427a8b1 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/_content/error.html @@ -0,0 +1 @@ +<div class="o_error">$message</div> \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_content/identity_competences.html b/src/main/java/org/olat/modules/taxonomy/ui/_content/identity_competences.html new file mode 100644 index 0000000000000000000000000000000000000000..5b72ebbec8cbdb7c4a2f87a34dd8e35f1bbc2893 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/_content/identity_competences.html @@ -0,0 +1,15 @@ +<div class="o_button_group o_button_group_right"> +#if($r.available("add.competence.manage")) + $r.render("add.competence.manage") +#end +#if($r.available("add.competence.teach")) + $r.render("add.competence.teach") +#end +#if($r.available("add.competence.have")) + $r.render("add.competence.have") +#end +#if($r.available("add.competence.target")) + $r.render("add.competence.target") +#end +</div> +$r.render("table") diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_content/level_competences.html b/src/main/java/org/olat/modules/taxonomy/ui/_content/level_competences.html new file mode 100644 index 0000000000000000000000000000000000000000..a95f5776e7a9736333c1442dc1380805b7fdb16b --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/_content/level_competences.html @@ -0,0 +1,18 @@ +<div class="o_button_group o_button_group_right"> +#if($r.available("add.competence.manage")) + $r.render("add.competence.manage") +#end +#if($r.available("add.competence.teach")) + $r.render("add.competence.teach") +#end +#if($r.available("add.competence.have")) + $r.render("add.competence.have") +#end +#if($r.available("add.competence.target")) + $r.render("add.competence.target") +#end +</div> +$r.render("table") +<div class="o_button_group"> + $r.render("ok") +</div> diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_content/select_level.html b/src/main/java/org/olat/modules/taxonomy/ui/_content/select_level.html new file mode 100644 index 0000000000000000000000000000000000000000..c971e6f915f63af0b953d0d9aecd2b2d49db4bdb --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/_content/select_level.html @@ -0,0 +1,7 @@ +$r.render("taxonomy") +<div class="o_button_group"> + $r.render("cancel") + #if($r.available("ok")) + $r.render("ok") + #end +</div> \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_content/taxonomy_admin.html b/src/main/java/org/olat/modules/taxonomy/ui/_content/taxonomy_admin.html new file mode 100644 index 0000000000000000000000000000000000000000..ae882e5cd7ff007e2178957708ef2bbe38538d5c --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/_content/taxonomy_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/taxonomy/ui/_content/taxonomy_directory.html b/src/main/java/org/olat/modules/taxonomy/ui/_content/taxonomy_directory.html new file mode 100644 index 0000000000000000000000000000000000000000..fa02110a39052efa5c29a9c1884d96150d8a9102 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/_content/taxonomy_directory.html @@ -0,0 +1,6 @@ +<h2><i class="o_icon $iconCssClass"> </i> $displayName#if($r.isNotEmpty($identifier)) <small>${identifier}</small>#end</h2> +#if($r.available("folder")) +<div class="clearfix"> + $r.render("folder") +</div> +#end \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_content/taxonomy_level_directory.html b/src/main/java/org/olat/modules/taxonomy/ui/_content/taxonomy_level_directory.html new file mode 100644 index 0000000000000000000000000000000000000000..fa02110a39052efa5c29a9c1884d96150d8a9102 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/_content/taxonomy_level_directory.html @@ -0,0 +1,6 @@ +<h2><i class="o_icon $iconCssClass"> </i> $displayName#if($r.isNotEmpty($identifier)) <small>${identifier}</small>#end</h2> +#if($r.available("folder")) +<div class="clearfix"> + $r.render("folder") +</div> +#end \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_content/taxonomy_root.html b/src/main/java/org/olat/modules/taxonomy/ui/_content/taxonomy_root.html new file mode 100644 index 0000000000000000000000000000000000000000..300e0c59ac5d7afcb5077161fc6658237faec07f --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/_content/taxonomy_root.html @@ -0,0 +1,3 @@ +<h1><i class="o_icon $o_icon_taxonomy"> </i> $displayName#if($r.isNotEmpty($identifier)) <small>${identifier}</small>#end</h1> +$r.render("subscription") +$r.render("index") diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_de.properties new file mode 100644 index 0000000000000000000000000000000000000000..53ea88e7f669b4dfd9b269c9c7af5feb0fcd6c7f --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_de.properties @@ -0,0 +1,64 @@ +#Mon Oct 30 09:56:46 CET 2017 +add.competence.have="$\:have" hinzuf\u00FCgen +add.competence.manage="$\:manage" hinzuf\u00FCgen +add.competence.target="$\:target" hinzuf\u00FCgen +add.competence.teach="$\:teach" hinzuf\u00FCgen +add.root.type=Neue Root Typ erstellen +add.taxonomy.level=Levels erstellen +admin.configuration=Konfiguration +admin.configuration.title=Konfiguration Taxonomy +admin.menu.title=Taxonomy +admin.menu.title.alt=Taxonomy +admin.taxonomy.trees=Taxonomies +confirm.removed.competence=Die Kompetenz "{0}" f\u00FCr den Level "{1}" wurde erfolgreich entfert? +confirmation.remove.competence=Wollen Sie wirklich die Kompetenz "{0}" f\u00FCr den Level "{1}" entfern? +create.taxonomy=Neue Taxonomy erstellen +edit.competences=Komptenz editieren +edit.info.page=Info. Seite editieren +edit.level.types=Typ editieren +error.sort.order.integer=Ordnungnummer muss ein Ganzzahl sein. +have=Haben +have.can.read="$\:have" d\u00FCrfen lesen +level.description=Beschreibung +level.directory.path=Tecknische Ordner +level.displayname=Name +level.externalId=External ID +level.identifier=Bezeichnung +level.sort.order=Ordnungnummer +level.type=Typ +level.type.allowed.sub.types=Sub types +level.type.cssClass=CSS class +level.type.docs.enabled=Dokumenten einschalten +level.visible=Sichtbar +manage=Bearbeiten +manage.can.manage="$\:manage" d\u00FCrfen bearbeiten +my.taxonomies=Meine Taxonomy +not.configured=Noch nicht konfiguriert\! Bitte ein Taxonomy in Administration w\u00E4hlen. +notifications.document.entry=Datei "{0}" von {1} ver\u00E4ndert +notifications.entry=Datei "{0}" von {1} ge\u00E4ndert +remove=Entfernen +selected.taxonomy.qpool=Taxonomy f\u00FCr Fragepool +selected.taxonomy.tree=Taxonomy f\u00FCr HFM +site.title=HFM +site.title.alt=HFM +table.header.competence.type=Typ +table.header.taxonomy.displayName=Taxonomy +table.header.taxonomy.externalId=Taxanom Ext. Ref. +table.header.taxonomy.identifier=Taxonomy ID +table.header.taxonomy.level.displayName=Level +table.header.taxonomy.level.externalId=Level Ext. Ref. +table.header.taxonomy.level.identifier=Level ID +table.header.type.displayName=Name +table.header.type.identifier=Bezeichnung +target=Ziel +target.can.read="$\:target" d\u00FCrfen lesen +taxonomy.admin.enabled=Taxonomy einschalten +taxonomy.description=Beschreibung +taxonomy.displayname=Name +taxonomy.identifier=Bezeichnung +taxonomy.library=Bibliothek +taxonomy.templates=Vorlagen +teach=Lernen +teach.can.read="$\:teach" d\u00FCrfen lesen +teach.can.read.parent.levels="$\:teach" d\u00FCrfen "parent" lesen +teach.can.write="$\:teach" d\u00FCrfen schreiben diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_en.properties new file mode 100644 index 0000000000000000000000000000000000000000..af9df3b359e085d20e3c46a5856c97c45849b610 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_en.properties @@ -0,0 +1,64 @@ +#Mon Oct 30 09:56:12 CET 2017 +add.competence.have=Add "$\:have" +add.competence.manage=Add "$\:manage" +add.competence.target=Add "$\:target" +add.competence.teach=Add "$\:teach" +add.root.type=Add new root type +add.taxonomy.level=Add levels +admin.configuration=Configuration +admin.configuration.title=Configuration Taxonomy +admin.menu.title=Taxonomy +admin.menu.title.alt=Taxonomy +admin.taxonomy.trees=Taxonomies +confirm.removed.competence=the competence "{0}" for the level "{1}" was successfully removed. +confirmation.remove.competence=Do you really want to remove the competence "{0}" for the level {1}? +create.taxonomy=Create new taxonomy tree +edit.competences=Edit competences +edit.info.page=Edit info. page +edit.level.types=Edit types +error.sort.order.integer=Ordering number need to be an integer. +have=Have +have.can.read="$\:have" allowed to read +level.description=Description +level.directory.path=Technical path +level.displayname=Name +level.externalId=External ID +level.identifier=Identifier +level.sort.order=Order number +level.type=Type +level.type.allowed.sub.types=Sub types +level.type.cssClass=CSS class +level.type.docs.enabled=Documents enabled +level.visible=Visible +manage=Manage +manage.can.manage="$\:manage" allowed to manage +my.taxonomies=My taxonomies +not.configured=Not configured\! Please choose a taxonomy in the administration. +notifications.document.entry=File "{0}" changed by {1} +notifications.entry=File "{0}" modified by {1} +remove=Remove +selected.taxonomy.qpool=Taxonomy for question pool +selected.taxonomy.tree=Taxonomy for HFM +site.title=HFM +site.title.alt=HFM +table.header.competence.type=Type +table.header.taxonomy.displayName=Taxonomy +table.header.taxonomy.externalId=Taxanom ext. ref. +table.header.taxonomy.identifier=Taxonomy ID +table.header.taxonomy.level.displayName=Level +table.header.taxonomy.level.externalId=Level rxt. ref. +table.header.taxonomy.level.identifier=Level ID +table.header.type.displayName=Name +table.header.type.identifier=Identifier +target=Target +target.can.read="$\:target" allowed to read +taxonomy.admin.enabled=Enable taxonomy +taxonomy.description=Description +taxonomy.displayname=Name +taxonomy.identifier=Identifier +taxonomy.library=Library +taxonomy.templates=Templates +teach=Teach +teach.can.read="$\:teach" allowed to read +teach.can.read.parent.levels="$\:teach" allowed to read "parent" levels +teach.can.write="$\:teach" allowed to write diff --git a/src/main/java/org/olat/modules/taxonomy/ui/component/TaxonomyCompetenceTypeRenderer.java b/src/main/java/org/olat/modules/taxonomy/ui/component/TaxonomyCompetenceTypeRenderer.java new file mode 100644 index 0000000000000000000000000000000000000000..02caa0749e6ae6c687a846cf3d390d82148f5b47 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/component/TaxonomyCompetenceTypeRenderer.java @@ -0,0 +1,52 @@ +/** + * <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.taxonomy.ui.component; + +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; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; + +/** + * + * Initial date: 3 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyCompetenceTypeRenderer implements FlexiCellRenderer { + + private final Translator translator; + + public TaxonomyCompetenceTypeRenderer(Translator translator) { + this.translator = translator; + } + + @Override + public void render(Renderer renderer, StringOutput target, Object cellValue, int row, FlexiTableComponent source, + URLBuilder ubu, Translator trans) { + if(cellValue instanceof TaxonomyCompetenceTypes) { + TaxonomyCompetenceTypes type = (TaxonomyCompetenceTypes)cellValue; + target.append(translator.translate(type.name())); + } + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/ui/component/TaxonomyVFSSecurityCallback.java b/src/main/java/org/olat/modules/taxonomy/ui/component/TaxonomyVFSSecurityCallback.java new file mode 100644 index 0000000000000000000000000000000000000000..29856830ed776b54953114207e63543da6adc977 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/ui/component/TaxonomyVFSSecurityCallback.java @@ -0,0 +1,92 @@ +/** + * <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.taxonomy.ui.component; + +import org.olat.core.commons.services.notifications.SubscriptionContext; +import org.olat.core.util.vfs.Quota; +import org.olat.core.util.vfs.callbacks.VFSSecurityCallback; +import org.olat.modules.taxonomy.model.TaxonomyTreeNode; + +/** + * + * Initial date: 4 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyVFSSecurityCallback implements VFSSecurityCallback { + + private final TaxonomyTreeNode node; + private final SubscriptionContext subscriptionContext; + + public TaxonomyVFSSecurityCallback(TaxonomyTreeNode node, SubscriptionContext subscriptionContext) { + this.node = node; + this.subscriptionContext = subscriptionContext; + } + + @Override + public boolean canRead() { + return node.isCanRead(); + } + + @Override + public boolean canWrite() { + return node.isCanWrite(); + } + + @Override + public boolean canCreateFolder() { + return node.isCanWrite(); + } + + @Override + public boolean canDelete() { + return node.isCanWrite(); + } + + @Override + public boolean canList() { + return node.isCanRead(); + } + + @Override + public boolean canCopy() { + return node.isCanWrite(); + } + + @Override + public boolean canDeleteRevisionsPermanently() { + return node.isCanWrite(); + } + + @Override + public Quota getQuota() { + return null; + } + + @Override + public void setQuota(Quota quota) { + // + } + + @Override + public SubscriptionContext getSubscriptionContext() { + return subscriptionContext; + } +} diff --git a/src/main/java/org/olat/modules/taxonomy/webdav/TaxonomyDocumentsLibraryWebDAVMergeSource.java b/src/main/java/org/olat/modules/taxonomy/webdav/TaxonomyDocumentsLibraryWebDAVMergeSource.java new file mode 100644 index 0000000000000000000000000000000000000000..1b9987da6eb5be14eec8bc3c7997a2663c614fb8 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/webdav/TaxonomyDocumentsLibraryWebDAVMergeSource.java @@ -0,0 +1,119 @@ +/** + * <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.taxonomy.webdav; + +import java.util.ArrayList; +import java.util.List; + +import org.olat.core.CoreSpringFactory; +import org.olat.core.commons.services.notifications.SubscriptionContext; +import org.olat.core.commons.services.webdav.manager.WebDAVMergeSource; +import org.olat.core.commons.services.webdav.servlets.RequestUtil; +import org.olat.core.gui.components.tree.TreeModel; +import org.olat.core.gui.components.tree.TreeNode; +import org.olat.core.id.IdentityEnvironment; +import org.olat.core.util.StringHelper; +import org.olat.core.util.nodes.INode; +import org.olat.core.util.vfs.NamedContainerImpl; +import org.olat.core.util.vfs.VFSContainer; +import org.olat.core.util.vfs.VirtualContainer; +import org.olat.core.util.vfs.callbacks.DefaultVFSSecurityCallback; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyModule; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.manager.TaxonomyDocumentsLibraryNotificationsHandler; +import org.olat.modules.taxonomy.manager.TaxonomyTreeBuilder; +import org.olat.modules.taxonomy.model.TaxonomyRefImpl; +import org.olat.modules.taxonomy.model.TaxonomyTreeNode; +import org.olat.modules.taxonomy.ui.component.TaxonomyVFSSecurityCallback; + +/** + * + * Initial date: 20 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +class TaxonomyDocumentsLibraryWebDAVMergeSource extends WebDAVMergeSource { + + private final IdentityEnvironment identityEnv; + + private final TaxonomyModule taxonomyModule; + private final TaxonomyService taxonomyService; + private final TaxonomyDocumentsLibraryNotificationsHandler notificationsHandler; + + public TaxonomyDocumentsLibraryWebDAVMergeSource(IdentityEnvironment identityEnv) { + super(identityEnv.getIdentity()); + this.identityEnv = identityEnv; + taxonomyModule = CoreSpringFactory.getImpl(TaxonomyModule.class); + taxonomyService = CoreSpringFactory.getImpl(TaxonomyService.class); + notificationsHandler = CoreSpringFactory.getImpl(TaxonomyDocumentsLibraryNotificationsHandler.class); + } + + @Override + protected List<VFSContainer> loadMergedContainers() { + List<VFSContainer> containers = new ArrayList<>(); + + String taxonomyTreeKey = taxonomyModule.getTaxonomyTreeKey(); + if(StringHelper.containsNonWhitespace(taxonomyTreeKey)) { + Taxonomy taxonomy = taxonomyService.getTaxonomy(new TaxonomyRefImpl(new Long(taxonomyTreeKey))); + if(taxonomy != null) { + TaxonomyTreeBuilder builder = new TaxonomyTreeBuilder(taxonomy, identityEnv.getIdentity(), null, identityEnv.getRoles().isOLATAdmin()); + TreeModel model = builder.buildTreeModel(); + TreeNode rootNode = model.getRootNode(); + for(int i=0; i<rootNode.getChildCount(); i++) { + VFSContainer container = loadRecursiveMergedContainers(taxonomy, rootNode.getChildAt(i)); + if(container != null) { + containers.add(container); + } + } + } + } + return containers; + } + + private VFSContainer loadRecursiveMergedContainers(Taxonomy taxonomy, INode node) { + VFSContainer container = null; + if(node instanceof TaxonomyTreeNode) { + TaxonomyTreeNode taxonomyNode = (TaxonomyTreeNode)node; + String name = RequestUtil.normalizeFilename(taxonomyNode.getTitle()); + VirtualContainer levelContainer = new VirtualContainer(name); + levelContainer.setLocalSecurityCallback(new DefaultVFSSecurityCallback()); + if(taxonomyNode.getTaxonomyLevel() != null && taxonomyNode.isDocumentsLibraryEnabled() + && taxonomyNode.isCanRead()) { + // the real thing + VFSContainer documents = taxonomyService.getDocumentsLibrary(taxonomyNode.getTaxonomyLevel()); + SubscriptionContext subscriptionCtx = notificationsHandler.getTaxonomyDocumentsLibrarySubscriptionContext(taxonomy); + TaxonomyVFSSecurityCallback secCallback = new TaxonomyVFSSecurityCallback(taxonomyNode, subscriptionCtx); + documents.setLocalSecurityCallback(secCallback); + VFSContainer namedContainer = new NamedContainerImpl("_documents", documents); + levelContainer.addItem(namedContainer); + } + + for(int i=0; i<node.getChildCount(); i++) { + VFSContainer childContainer = loadRecursiveMergedContainers(taxonomy, node.getChildAt(i)); + if(childContainer != null) { + levelContainer.addItem(childContainer); + } + } + container = levelContainer; + } + return container; + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/webdav/TaxonomyDocumentsLibraryWebDAVProvider.java b/src/main/java/org/olat/modules/taxonomy/webdav/TaxonomyDocumentsLibraryWebDAVProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..2a12dcfb80698a4ce18c40d1d1fbcd6b85bfcd40 --- /dev/null +++ b/src/main/java/org/olat/modules/taxonomy/webdav/TaxonomyDocumentsLibraryWebDAVProvider.java @@ -0,0 +1,52 @@ +/** + * <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.taxonomy.webdav; + +import org.olat.core.commons.services.webdav.WebDAVProvider; +import org.olat.core.id.IdentityEnvironment; +import org.olat.core.util.vfs.VFSContainer; +import org.springframework.stereotype.Service; + +/** + * + * Initial date: 20 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Service("taxonomyDocumentsLibraryWebDAVProvider") +public class TaxonomyDocumentsLibraryWebDAVProvider implements WebDAVProvider { + + private static final String MOUNTPOINT = "hfm"; + + @Override + public String getMountPoint() { + return MOUNTPOINT; + } + + @Override + public boolean hasAccess(IdentityEnvironment identityEnv) { + return identityEnv != null; + } + + @Override + public VFSContainer getContainer(IdentityEnvironment identityEnv) { + return new TaxonomyDocumentsLibraryWebDAVMergeSource(identityEnv); + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/restapi/_spring/restApiContext.xml b/src/main/java/org/olat/restapi/_spring/restApiContext.xml index 5240c1a4d6d5f39339902892133f78b7b93ea085..f256c0a45f10709d4fd79a3c0c86ad1debdcbc0d 100644 --- a/src/main/java/org/olat/restapi/_spring/restApiContext.xml +++ b/src/main/java/org/olat/restapi/_spring/restApiContext.xml @@ -42,6 +42,7 @@ <value>org.olat.modules.fo.restapi.MyForumsWebService</value> <value>org.olat.modules.lecture.restapi.LectureBlocksRootWebService</value> <value>org.olat.modules.openmeetings.restapi.OpenMeetingsWebService</value> + <value>org.olat.modules.taxonomy.restapi.TaxonomyModuleWebService</value> <value>org.olat.modules.vitero.restapi.ViteroWebService</value> <value>org.olat.core.commons.services.notifications.restapi.NotificationsWebService</value> <value>org.olat.registration.restapi.RegistrationWebService</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 b86538cd5b1b710869adb4aff91b256febb61add..9fa3cea7424ebcad530f077697b2281514345b86 100644 --- a/src/main/java/org/olat/restapi/api/_content/application.html +++ b/src/main/java/org/olat/restapi/api/_content/application.html @@ -200,242 +200,290 @@ </p> <ul> <li><a href="#resources">Resources</a><ul> - <li><a href="#d2e2">http://www.example.com/repo/courses/{courseId}/elements/folder</a><ul> - <li><a href="#d2e143">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}</a></li> - <li><a href="#d2e226">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files</a><ul> - <li><a href="#d2e260">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files/{path:.*}</a></li> - <li><a href="#d2e304">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files/metadata/{path:.*}</a></li> - <li><a href="#d2e310">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files/version</a></li> - </ul> - </li> + <li><a href="#d2e2">http://www.example.com/pwchange</a></li> + <li><a href="#d2e11">http://www.example.com/catalog</a><ul> + <li><a href="#d2e16">http://www.example.com/catalog/{path:.*}/children</a></li> + <li><a href="#d2e25">http://www.example.com/catalog/{path:.*}/owners/{identityKey}</a></li> + <li><a href="#d2e37">http://www.example.com/catalog/version</a></li> + <li><a href="#d2e41">http://www.example.com/catalog/{path:.*}</a></li> + <li><a href="#d2e92">http://www.example.com/catalog/{path:.*}/owners</a></li> </ul> </li> - <li><a href="#d2e314">http://www.example.com/users/{identityKey}/calendars</a><ul> - <li><a href="#d2e320">http://www.example.com/users/{identityKey}/calendars/events</a></li> - <li><a href="#d2e330">http://www.example.com/users/{identityKey}/calendars/{calendarId}</a><ul> - <li><a href="#d2e335">http://www.example.com/users/{identityKey}/calendars/{calendarId}/events</a></li> - <li><a href="#d2e358">http://www.example.com/users/{identityKey}/calendars/{calendarId}/events/{eventId}</a></li> - <li><a href="#d2e364">http://www.example.com/users/{identityKey}/calendars/{calendarId}/event</a></li> - </ul> - </li> + <li><a href="#d2e98">http://www.example.com/api</a><ul> + <li><a href="#d2e99">http://www.example.com/api/version</a></li> + <li><a href="#d2e103">http://www.example.com/api/doc</a></li> + <li><a href="#d2e107">http://www.example.com/api/doc/{filename}</a></li> + <li><a href="#d2e112">http://www.example.com/api/{filename}</a></li> + <li><a href="#d2e117">http://www.example.com/api/copyright</a></li> </ul> </li> - <li><a href="#d2e380">http://www.example.com/repo/courses</a><ul> - <li><a href="#d2e425">http://www.example.com/repo/courses/version</a></li> - <li><a href="#d2e429">http://www.example.com/repo/courses/{courseId}</a><ul> - <li><a href="#d2e439">http://www.example.com/repo/courses/{courseId}/configuration</a></li> - <li><a href="#d2e457">http://www.example.com/repo/courses/{courseId}/tutors/{identityKey}</a></li> - <li><a href="#d2e462">http://www.example.com/repo/courses/{courseId}/file</a></li> - <li><a href="#d2e467">http://www.example.com/repo/courses/{courseId}/status</a></li> - <li><a href="#d2e475">http://www.example.com/repo/courses/{courseId}/runstructure</a></li> - <li><a href="#d2e479">http://www.example.com/repo/courses/{courseId}/editortreemodel</a></li> - <li><a href="#d2e483">http://www.example.com/repo/courses/{courseId}/authors/{identityKey}</a></li> - <li><a href="#d2e496">http://www.example.com/repo/courses/{courseId}/authors</a></li> - <li><a href="#d2e508">http://www.example.com/repo/courses/{courseId}/tutors</a></li> - <li><a href="#d2e519">http://www.example.com/repo/courses/{courseId}/participants</a></li> - <li><a href="#d2e530">http://www.example.com/repo/courses/{courseId}/participants/{identityKey}</a></li> - <li><a href="#d2e535">http://www.example.com/repo/courses/{courseId}/version</a></li> - <li><a href="#d2e539">http://www.example.com/repo/courses/{courseId}/resource</a></li> - <li><a href="#d2e544">http://www.example.com/repo/courses/{courseId}/publish</a></li> - <li><a href="#d2e553">http://www.example.com/repo/courses/{courseId}/groups</a><ul> - <li><a href="#d2e565">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}</a></li> - <li><a href="#d2e578">http://www.example.com/repo/courses/{courseId}/groups/version</a></li> - <li><a href="#d2e582">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder</a><ul> - <li><a href="#d2e615">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder/{path:.*}</a></li> - <li><a href="#d2e659">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder/metadata/{path:.*}</a></li> - <li><a href="#d2e665">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder/version</a></li> - </ul> - </li> - <li><a href="#d2e669">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum</a><ul> - <li><a href="#d2e701">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/threads</a></li> - <li><a href="#d2e810">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{threadKey}</a></li> - <li><a href="#d2e851">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}</a></li> - <li><a href="#d2e963">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments</a></li> - <li><a href="#d2e1034">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</a></li> - </ul> - </li> - </ul> - </li> - <li><a href="#d2e1056">http://www.example.com/repo/courses/{courseId}/calendar</a><ul> - <li><a href="#d2e1059">http://www.example.com/repo/courses/{courseId}/calendar/events</a></li> - <li><a href="#d2e1082">http://www.example.com/repo/courses/{courseId}/calendar/events/{eventId}</a></li> - <li><a href="#d2e1088">http://www.example.com/repo/courses/{courseId}/calendar/event</a></li> - </ul> - </li> - <li><a href="#d2e1104">http://www.example.com/repo/courses/{courseId}/vitero/{subIdentifier}</a><ul> - <li><a href="#d2e1162">http://www.example.com/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}/members</a></li> - <li><a href="#d2e1201">http://www.example.com/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}</a></li> + <li><a href="#d2e125">http://www.example.com/registration</a></li> + <li><a href="#d2e159">http://www.example.com/repo/courses/{courseId}/assessments</a><ul> + <li><a href="#d2e165">http://www.example.com/repo/courses/{courseId}/assessments/version</a></li> + <li><a href="#d2e169">http://www.example.com/repo/courses/{courseId}/assessments/users/{identityKey}</a></li> + <li><a href="#d2e176">http://www.example.com/repo/courses/{courseId}/assessments/{nodeId}</a></li> + <li><a href="#d2e189">http://www.example.com/repo/courses/{courseId}/assessments/{nodeId}/users/{identityKey}</a></li> + </ul> + </li> + <li><a href="#d2e197">http://www.example.com/users/{username}/auth</a><ul> + <li><a href="#d2e268">http://www.example.com/users/{username}/auth/{authKey}</a></li> + <li><a href="#d2e296">http://www.example.com/users/{username}/auth/version</a></li> + <li><a href="#d2e313">http://www.example.com/users/{username}/auth/password</a></li> + </ul> + </li> + <li><a href="#d2e349">http://www.example.com/repo/courses/{courseId}/elements/enrollment</a><ul> + <li><a href="#d2e468">http://www.example.com/repo/courses/{courseId}/elements/enrollment/{nodeId}/groups</a></li> + </ul> + </li> + <li><a href="#d2e499">http://www.example.com/repo/courses/{courseId}/resourcefolders</a><ul> + <li><a href="#d2e500">http://www.example.com/repo/courses/{courseId}/resourcefolders/version</a></li> + <li><a href="#d2e504">http://www.example.com/repo/courses/{courseId}/resourcefolders/sharedfolder/{path:.*}</a></li> + <li><a href="#d2e513">http://www.example.com/repo/courses/{courseId}/resourcefolders/sharedfolder</a></li> + <li><a href="#d2e518">http://www.example.com/repo/courses/{courseId}/resourcefolders/coursefolder/{path:.*}</a></li> + <li><a href="#d2e533">http://www.example.com/repo/courses/{courseId}/resourcefolders/coursefolder</a></li> + </ul> + </li> + <li><a href="#d2e544">http://www.example.com/repo/courses/{courseId}/elements/contact</a></li> + <li><a href="#d2e669">http://www.example.com/repo/courses/{courseId}/db/{category}</a><ul> + <li><a href="#d2e672">http://www.example.com/repo/courses/{courseId}/db/{category}/values/{name}</a></li> + <li><a href="#d2e756">http://www.example.com/repo/courses/{courseId}/db/{category}/values</a></li> + <li><a href="#d2e797">http://www.example.com/repo/courses/{courseId}/db/{category}/version</a></li> + <li><a href="#d2e812">http://www.example.com/repo/courses/{courseId}/db/{category}/values/{name}/delete</a></li> + </ul> + </li> + <li><a href="#d2e837">http://www.example.com/users</a><ul> + <li><a href="#d2e905">http://www.example.com/users/{identityKey}</a></li> + <li><a href="#d2e1006">http://www.example.com/users/{identityKey}/status</a></li> + <li><a href="#d2e1069">http://www.example.com/users/{identityKey}/roles</a></li> + <li><a href="#d2e1132">http://www.example.com/users/version</a></li> + <li><a href="#d2e1149">http://www.example.com/users/{identityKey}/portrait</a></li> + <li><a href="#d2e1219">http://www.example.com/users/managed</a></li> + <li><a href="#d2e1224">http://www.example.com/users/{identityKey}/preferences</a></li> + <li><a href="#d2e1287">http://www.example.com/users/{identityKey}/portrait/{size}</a></li> + <li><a href="#d2e1306">http://www.example.com/users/{identityKey}/folders</a><ul> + <li><a href="#d2e1332">http://www.example.com/users/{identityKey}/folders/personal</a><ul> + <li><a href="#d2e1364">http://www.example.com/users/{identityKey}/folders/personal/{path:.*}</a></li> + <li><a href="#d2e1408">http://www.example.com/users/{identityKey}/folders/personal/version</a></li> + <li><a href="#d2e1412">http://www.example.com/users/{identityKey}/folders/personal/metadata/{path:.*}</a></li> </ul> </li> - <li><a href="#d2e1212">http://www.example.com/repo/courses/{courseId}/gotomeeting/{subIdentifier}</a><ul> - <li><a href="#d2e1216">http://www.example.com/repo/courses/{courseId}/gotomeeting/{subIdentifier}/trainings</a></li> - <li><a href="#d2e1271">http://www.example.com/repo/courses/{courseId}/gotomeeting/{subIdentifier}//trainings/{trainingKey}</a></li> + <li><a href="#d2e1418">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}</a><ul> + <li><a href="#d2e1452">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/{path:.*}</a></li> + <li><a href="#d2e1496">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/version</a></li> + <li><a href="#d2e1500">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/metadata/{path:.*}</a></li> </ul> </li> - <li><a href="#d2e1282">http://www.example.com/repo/courses/{courseId}/lectureblocks</a><ul> - <li><a href="#d2e1302">http://www.example.com/repo/courses/{courseId}/lectureblocks/configuration</a></li> - <li><a href="#d2e1315">http://www.example.com/repo/courses/{courseId}/lectureblocks/sync/calendar</a></li> - <li><a href="#d2e1319">http://www.example.com/repo/courses/{courseId}/lectureblocks/adaptation</a></li> - <li><a href="#d2e1323">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}</a><ul> - <li><a href="#d2e1332">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</a></li> - <li><a href="#d2e1340">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers</a></li> - <li><a href="#d2e1345">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</a></li> - <li><a href="#d2e1352">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/sync/calendar</a></li> - </ul> - </li> + <li><a href="#d2e1506">http://www.example.com/users/{identityKey}/folders/group/{groupKey}</a><ul> + <li><a href="#d2e1539">http://www.example.com/users/{identityKey}/folders/group/{groupKey}/{path:.*}</a></li> + <li><a href="#d2e1583">http://www.example.com/users/{identityKey}/folders/group/{groupKey}/version</a></li> + <li><a href="#d2e1587">http://www.example.com/users/{identityKey}/folders/group/{groupKey}/metadata/{path:.*}</a></li> </ul> </li> </ul> </li> - </ul> - </li> - <li><a href="#d2e1356">http://www.example.com/pwchange</a></li> - <li><a href="#d2e1365">http://www.example.com/vitero</a><ul> - <li><a href="#d2e1368">http://www.example.com/vitero/{resourceName}/{resourceId}/{subIdentifier}</a><ul> - <li><a href="#d2e1428">http://www.example.com/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}/members</a></li> - <li><a href="#d2e1467">http://www.example.com/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}</a></li> - </ul> - </li> - </ul> - </li> - <li><a href="#d2e1478">http://www.example.com/groups</a><ul> - <li><a href="#d2e1493">http://www.example.com/groups/{groupKey}</a></li> - <li><a href="#d2e1509">http://www.example.com/groups/{groupKey}/news</a></li> - <li><a href="#d2e1523">http://www.example.com/groups/{groupKey}/configuration</a></li> - <li><a href="#d2e1530">http://www.example.com/groups/{groupKey}/infos</a></li> - <li><a href="#d2e1536">http://www.example.com/groups/{groupKey}/owners</a></li> - <li><a href="#d2e1542">http://www.example.com/groups/{groupKey}/participants</a></li> - <li><a href="#d2e1548">http://www.example.com/groups/{groupKey}/owners/{identityKey}</a></li> - <li><a href="#d2e1557">http://www.example.com/groups/{groupKey}/participants/{identityKey}</a></li> - <li><a href="#d2e1566">http://www.example.com/groups/version</a></li> - <li><a href="#d2e1571">http://www.example.com/groups/{groupKey}/wiki</a></li> - <li><a href="#d2e1581">http://www.example.com/groups/{groupKey}/folder</a><ul> - <li><a href="#d2e1614">http://www.example.com/groups/{groupKey}/folder/{path:.*}</a></li> - <li><a href="#d2e1658">http://www.example.com/groups/{groupKey}/folder/metadata/{path:.*}</a></li> - <li><a href="#d2e1664">http://www.example.com/groups/{groupKey}/folder/version</a></li> + <li><a href="#d2e1593">http://www.example.com/users/{identityKey}/courses</a><ul> + <li><a href="#d2e1595">http://www.example.com/users/{identityKey}/courses/my</a></li> + <li><a href="#d2e1625">http://www.example.com/users/{identityKey}/courses/teached</a></li> + <li><a href="#d2e1655">http://www.example.com/users/{identityKey}/courses/favorite</a></li> </ul> </li> - <li><a href="#d2e1668">http://www.example.com/groups/{groupKey}/forum</a><ul> - <li><a href="#d2e1700">http://www.example.com/groups/{groupKey}/forum/threads</a></li> - <li><a href="#d2e1809">http://www.example.com/groups/{groupKey}/forum/posts/{threadKey}</a></li> - <li><a href="#d2e1850">http://www.example.com/groups/{groupKey}/forum/posts/{messageKey}</a></li> - <li><a href="#d2e1962">http://www.example.com/groups/{groupKey}/forum/posts/{messageKey}/attachments</a></li> - <li><a href="#d2e2033">http://www.example.com/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</a></li> + <li><a href="#d2e1685">http://www.example.com/users/{identityKey}/groups</a><ul> + <li><a href="#d2e1696">http://www.example.com/users/{identityKey}/groups/owner</a></li> + <li><a href="#d2e1706">http://www.example.com/users/{identityKey}/groups/participant</a></li> + <li><a href="#d2e1716">http://www.example.com/users/{identityKey}/groups/infos</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e2055">http://www.example.com/repo/courses/{courseId}/db/{category}</a><ul> - <li><a href="#d2e2058">http://www.example.com/repo/courses/{courseId}/db/{category}/values/{name}</a></li> - <li><a href="#d2e2142">http://www.example.com/repo/courses/{courseId}/db/{category}/values</a></li> - <li><a href="#d2e2183">http://www.example.com/repo/courses/{courseId}/db/{category}/values/{name}/delete</a></li> - <li><a href="#d2e2208">http://www.example.com/repo/courses/{courseId}/db/{category}/version</a></li> + <li><a href="#d2e1727">http://www.example.com/notifications</a><ul> + <li><a href="#d2e1759">http://www.example.com/notifications/subscribers</a></li> + <li><a href="#d2e1766">http://www.example.com/notifications/subscribers/{subscriberKey}</a></li> + <li><a href="#d2e1771">http://www.example.com/notifications/subscribers/{ressourceName}/{ressourceId}/{subIdentifier}</a></li> </ul> </li> - <li><a href="#d2e2223">http://www.example.com/repo/courses/{courseId}/resourcefolders</a><ul> - <li><a href="#d2e2224">http://www.example.com/repo/courses/{courseId}/resourcefolders/version</a></li> - <li><a href="#d2e2228">http://www.example.com/repo/courses/{courseId}/resourcefolders/sharedfolder/{path:.*}</a></li> - <li><a href="#d2e2237">http://www.example.com/repo/courses/{courseId}/resourcefolders/sharedfolder</a></li> - <li><a href="#d2e2242">http://www.example.com/repo/courses/{courseId}/resourcefolders/coursefolder/{path:.*}</a></li> - <li><a href="#d2e2257">http://www.example.com/repo/courses/{courseId}/resourcefolders/coursefolder</a></li> + <li><a href="#d2e1779">http://www.example.com/vitero</a><ul> + <li><a href="#d2e1782">http://www.example.com/vitero/{resourceName}/{resourceId}/{subIdentifier}</a><ul> + <li><a href="#d2e1842">http://www.example.com/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}/members</a></li> + <li><a href="#d2e1881">http://www.example.com/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}</a></li> + </ul> + </li> </ul> </li> - <li><a href="#d2e2268">http://www.example.com/repo/courses/{courseId}/elements/forum</a><ul> - <li><a href="#d2e2379">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}</a></li> - <li><a href="#d2e2414">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/thread</a></li> - <li><a href="#d2e2462">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/message</a></li> - <li><a href="#d2e2510">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum</a><ul> - <li><a href="#d2e2543">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/threads</a></li> - <li><a href="#d2e2652">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{threadKey}</a></li> - <li><a href="#d2e2693">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}</a></li> - <li><a href="#d2e2805">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments</a></li> - <li><a href="#d2e2876">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments/{filename}</a></li> + <li><a href="#d2e1892">http://www.example.com/repo/forums</a><ul> + <li><a href="#d2e1895">http://www.example.com/repo/forums/version</a></li> + <li><a href="#d2e1910">http://www.example.com/repo/forums/{forumKey}</a><ul> + <li><a href="#d2e1944">http://www.example.com/repo/forums/{forumKey}/threads</a></li> + <li><a href="#d2e2053">http://www.example.com/repo/forums/{forumKey}/posts/{threadKey}</a></li> + <li><a href="#d2e2094">http://www.example.com/repo/forums/{forumKey}/posts/{messageKey}</a></li> + <li><a href="#d2e2206">http://www.example.com/repo/forums/{forumKey}/posts/{messageKey}/attachments</a></li> + <li><a href="#d2e2277">http://www.example.com/repo/forums/{forumKey}/posts/{messageKey}/attachments/{filename}</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e2898">http://www.example.com/users/{identityKey}/forums</a><ul> - <li><a href="#d2e2926">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}</a><ul> - <li><a href="#d2e2959">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/threads</a></li> - <li><a href="#d2e3068">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{threadKey}</a></li> - <li><a href="#d2e3109">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}</a></li> - <li><a href="#d2e3221">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments</a></li> - <li><a href="#d2e3292">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments/{filename}</a></li> + <li><a href="#d2e2299">http://www.example.com/users/{identityKey}/forums</a><ul> + <li><a href="#d2e2327">http://www.example.com/users/{identityKey}/forums/group/{groupKey}</a><ul> + <li><a href="#d2e2359">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/threads</a></li> + <li><a href="#d2e2468">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{threadKey}</a></li> + <li><a href="#d2e2509">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}</a></li> + <li><a href="#d2e2621">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments</a></li> + <li><a href="#d2e2692">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments/{filename}</a></li> </ul> </li> - <li><a href="#d2e3314">http://www.example.com/users/{identityKey}/forums/group/{groupKey}</a><ul> - <li><a href="#d2e3346">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/threads</a></li> - <li><a href="#d2e3455">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{threadKey}</a></li> - <li><a href="#d2e3496">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}</a></li> - <li><a href="#d2e3608">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments</a></li> - <li><a href="#d2e3679">http://www.example.com/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments/{filename}</a></li> + <li><a href="#d2e2714">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}</a><ul> + <li><a href="#d2e2747">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/threads</a></li> + <li><a href="#d2e2856">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{threadKey}</a></li> + <li><a href="#d2e2897">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}</a></li> + <li><a href="#d2e3009">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments</a></li> + <li><a href="#d2e3080">http://www.example.com/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments/{filename}</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e3701">http://www.example.com/repo/courses/{resourceKey}/certificates</a><ul> - <li><a href="#d2e3704">http://www.example.com/repo/courses/{resourceKey}/certificates/{identityKey}</a></li> + <li><a href="#d2e3102">http://www.example.com/i18n</a><ul> + <li><a href="#d2e3103">http://www.example.com/i18n/version</a></li> + <li><a href="#d2e3107">http://www.example.com/i18n/{package}/{key}</a></li> </ul> </li> - <li><a href="#d2e3797">http://www.example.com/ping</a><ul> - <li><a href="#d2e3801">http://www.example.com/ping/version</a></li> - <li><a href="#d2e3805">http://www.example.com/ping/{name}</a></li> - </ul> - </li> - <li><a href="#d2e3810">http://www.example.com/openmeetings</a><ul> - <li><a href="#d2e3813">http://www.example.com/openmeetings/{identityToken}/portrait</a></li> + <li><a href="#d2e3115">http://www.example.com/groups</a><ul> + <li><a href="#d2e3130">http://www.example.com/groups/version</a></li> + <li><a href="#d2e3134">http://www.example.com/groups/{groupKey}</a></li> + <li><a href="#d2e3150">http://www.example.com/groups/{groupKey}/news</a></li> + <li><a href="#d2e3164">http://www.example.com/groups/{groupKey}/configuration</a></li> + <li><a href="#d2e3171">http://www.example.com/groups/{groupKey}/infos</a></li> + <li><a href="#d2e3177">http://www.example.com/groups/{groupKey}/owners</a></li> + <li><a href="#d2e3183">http://www.example.com/groups/{groupKey}/participants</a></li> + <li><a href="#d2e3189">http://www.example.com/groups/{groupKey}/owners/{identityKey}</a></li> + <li><a href="#d2e3198">http://www.example.com/groups/{groupKey}/participants/{identityKey}</a></li> + <li><a href="#d2e3208">http://www.example.com/groups/{groupKey}/folder</a><ul> + <li><a href="#d2e3241">http://www.example.com/groups/{groupKey}/folder/{path:.*}</a></li> + <li><a href="#d2e3285">http://www.example.com/groups/{groupKey}/folder/version</a></li> + <li><a href="#d2e3289">http://www.example.com/groups/{groupKey}/folder/metadata/{path:.*}</a></li> + </ul> + </li> + <li><a href="#d2e3295">http://www.example.com/groups/{groupKey}/forum</a><ul> + <li><a href="#d2e3327">http://www.example.com/groups/{groupKey}/forum/threads</a></li> + <li><a href="#d2e3436">http://www.example.com/groups/{groupKey}/forum/posts/{threadKey}</a></li> + <li><a href="#d2e3477">http://www.example.com/groups/{groupKey}/forum/posts/{messageKey}</a></li> + <li><a href="#d2e3589">http://www.example.com/groups/{groupKey}/forum/posts/{messageKey}/attachments</a></li> + <li><a href="#d2e3660">http://www.example.com/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</a></li> + </ul> + </li> + <li><a href="#d2e3682">http://www.example.com/groups/{groupKey}/wiki</a></li> </ul> </li> - <li><a href="#d2e3832">http://www.example.com/repo/courses/{courseId}/assessments</a><ul> - <li><a href="#d2e3838">http://www.example.com/repo/courses/{courseId}/assessments/users/{identityKey}</a></li> - <li><a href="#d2e3845">http://www.example.com/repo/courses/{courseId}/assessments/{nodeId}</a></li> - <li><a href="#d2e3858">http://www.example.com/repo/courses/{courseId}/assessments/version</a></li> - <li><a href="#d2e3862">http://www.example.com/repo/courses/{courseId}/assessments/{nodeId}/users/{identityKey}</a></li> + <li><a href="#d2e3692">http://www.example.com/taxonomy</a><ul> + <li><a href="#d2e3695">http://www.example.com/taxonomy/module/configuration</a></li> + <li><a href="#d2e3718">http://www.example.com/taxonomy/{taxonomyKey}</a><ul> + <li><a href="#d2e3744">http://www.example.com/taxonomy/{taxonomyKey}/levels</a></li> + <li><a href="#d2e3798">http://www.example.com/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences</a></li> + <li><a href="#d2e3853">http://www.example.com/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{identityKey}</a></li> + <li><a href="#d2e3878">http://www.example.com/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{competenceKey}</a></li> + <li><a href="#d2e3902">http://www.example.com/taxonomy/{taxonomyKey}/types</a></li> + <li><a href="#d2e3962">http://www.example.com/taxonomy/{taxonomyKey}/types/{typeKey}</a></li> + <li><a href="#d2e3992">http://www.example.com/taxonomy/{taxonomyKey}/types/{typeKey}/allowedSubTypes</a></li> + <li><a href="#d2e4022">http://www.example.com/taxonomy/{taxonomyKey}/types/{typeKey}/allowedSubTypes/{subTypeKey}</a></li> + </ul> + </li> </ul> </li> - <li><a href="#d2e3870">http://www.example.com/repo/wikis</a><ul> - <li><a href="#d2e3879">http://www.example.com/repo/wikis/{wikiKey}</a></li> + <li><a href="#d2e4074">http://www.example.com/repo/sharedfolder</a><ul> + <li><a href="#d2e4075">http://www.example.com/repo/sharedfolder/version</a></li> + <li><a href="#d2e4079">http://www.example.com/repo/sharedfolder/{repoEntryKey}/{path:.*}</a></li> + <li><a href="#d2e4085">http://www.example.com/repo/sharedfolder/{repoEntryKey}</a></li> + <li><a href="#d2e4090">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files</a><ul> + <li><a href="#d2e4123">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files/{path:.*}</a></li> + <li><a href="#d2e4167">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files/version</a></li> + <li><a href="#d2e4171">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files/metadata/{path:.*}</a></li> + </ul> + </li> </ul> </li> - <li><a href="#d2e3891">http://www.example.com/users/{username}/auth</a><ul> - <li><a href="#d2e3962">http://www.example.com/users/{username}/auth/{authKey}</a></li> - <li><a href="#d2e3990">http://www.example.com/users/{username}/auth/password</a></li> - <li><a href="#d2e4026">http://www.example.com/users/{username}/auth/version</a></li> + <li><a href="#d2e4177">http://www.example.com/repo/courses/{courseId}/elements/folder</a><ul> + <li><a href="#d2e4318">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}</a></li> + <li><a href="#d2e4401">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files</a><ul> + <li><a href="#d2e4435">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files/{path:.*}</a></li> + <li><a href="#d2e4479">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files/version</a></li> + <li><a href="#d2e4483">http://www.example.com/repo/courses/{courseId}/elements/folder/{nodeId}/files/metadata/{path:.*}</a></li> + </ul> + </li> </ul> </li> - <li><a href="#d2e4043">http://www.example.com/repo/lifecycle</a></li> - <li><a href="#d2e4048">http://www.example.com/notifications</a><ul> - <li><a href="#d2e4080">http://www.example.com/notifications/subscribers</a></li> - <li><a href="#d2e4087">http://www.example.com/notifications/subscribers/{subscriberKey}</a></li> - <li><a href="#d2e4092">http://www.example.com/notifications/subscribers/{ressourceName}/{ressourceId}/{subIdentifier}</a></li> + <li><a href="#d2e4489">http://www.example.com/users/{identityKey}/calendars</a><ul> + <li><a href="#d2e4495">http://www.example.com/users/{identityKey}/calendars/events</a></li> + <li><a href="#d2e4505">http://www.example.com/users/{identityKey}/calendars/{calendarId}</a><ul> + <li><a href="#d2e4510">http://www.example.com/users/{identityKey}/calendars/{calendarId}/events/{eventId}</a></li> + <li><a href="#d2e4516">http://www.example.com/users/{identityKey}/calendars/{calendarId}/event</a></li> + <li><a href="#d2e4532">http://www.example.com/users/{identityKey}/calendars/{calendarId}/events</a></li> + </ul> + </li> </ul> </li> - <li><a href="#d2e4100">http://www.example.com/i18n</a><ul> - <li><a href="#d2e4101">http://www.example.com/i18n/{package}/{key}</a></li> - <li><a href="#d2e4109">http://www.example.com/i18n/version</a></li> + <li><a href="#d2e4555">http://www.example.com/repo/wikis</a><ul> + <li><a href="#d2e4564">http://www.example.com/repo/wikis/{wikiKey}</a></li> </ul> </li> - <li><a href="#d2e4113">http://www.example.com/repo/entries</a><ul> - <li><a href="#d2e4133">http://www.example.com/repo/entries/search</a></li> - <li><a href="#d2e4143">http://www.example.com/repo/entries/version</a></li> - <li><a href="#d2e4147">http://www.example.com/repo/entries/{repoEntryKey}</a><ul> - <li><a href="#d2e4168">http://www.example.com/repo/entries/{repoEntryKey}/coaches/{identityKey}</a></li> - <li><a href="#d2e4177">http://www.example.com/repo/entries/{repoEntryKey}/coaches</a></li> - <li><a href="#d2e4189">http://www.example.com/repo/entries/{repoEntryKey}/file</a></li> - <li><a href="#d2e4195">http://www.example.com/repo/entries/{repoEntryKey}/status</a></li> - <li><a href="#d2e4204">http://www.example.com/repo/entries/{repoEntryKey}/participants</a></li> - <li><a href="#d2e4216">http://www.example.com/repo/entries/{repoEntryKey}/participants/{identityKey}</a></li> - <li><a href="#d2e4226">http://www.example.com/repo/entries/{repoEntryKey}/owners</a></li> - <li><a href="#d2e4238">http://www.example.com/repo/entries/{repoEntryKey}/owners/{identityKey}</a></li> - <li><a href="#d2e4247">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks</a><ul> - <li><a href="#d2e4268">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/configuration</a></li> - <li><a href="#d2e4281">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/sync/calendar</a></li> - <li><a href="#d2e4285">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/adaptation</a></li> - <li><a href="#d2e4289">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}</a><ul> - <li><a href="#d2e4298">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</a></li> - <li><a href="#d2e4306">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers</a></li> - <li><a href="#d2e4311">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</a></li> - <li><a href="#d2e4318">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/sync/calendar</a></li> + <li><a href="#d2e4577">http://www.example.com/repo/courses</a><ul> + <li><a href="#d2e4624">http://www.example.com/repo/courses/version</a></li> + <li><a href="#d2e4628">http://www.example.com/repo/courses/{courseId}</a><ul> + <li><a href="#d2e4638">http://www.example.com/repo/courses/{courseId}/configuration</a></li> + <li><a href="#d2e4656">http://www.example.com/repo/courses/{courseId}/version</a></li> + <li><a href="#d2e4660">http://www.example.com/repo/courses/{courseId}/file</a></li> + <li><a href="#d2e4665">http://www.example.com/repo/courses/{courseId}/status</a></li> + <li><a href="#d2e4673">http://www.example.com/repo/courses/{courseId}/runstructure</a></li> + <li><a href="#d2e4677">http://www.example.com/repo/courses/{courseId}/editortreemodel</a></li> + <li><a href="#d2e4681">http://www.example.com/repo/courses/{courseId}/authors/{identityKey}</a></li> + <li><a href="#d2e4694">http://www.example.com/repo/courses/{courseId}/authors</a></li> + <li><a href="#d2e4706">http://www.example.com/repo/courses/{courseId}/tutors/{identityKey}</a></li> + <li><a href="#d2e4711">http://www.example.com/repo/courses/{courseId}/tutors</a></li> + <li><a href="#d2e4722">http://www.example.com/repo/courses/{courseId}/resource</a></li> + <li><a href="#d2e4727">http://www.example.com/repo/courses/{courseId}/publish</a></li> + <li><a href="#d2e4736">http://www.example.com/repo/courses/{courseId}/participants</a></li> + <li><a href="#d2e4747">http://www.example.com/repo/courses/{courseId}/participants/{identityKey}</a></li> + <li><a href="#d2e4752">http://www.example.com/repo/courses/{courseId}/groups</a><ul> + <li><a href="#d2e4764">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}</a></li> + <li><a href="#d2e4777">http://www.example.com/repo/courses/{courseId}/groups/version</a></li> + <li><a href="#d2e4781">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder</a><ul> + <li><a href="#d2e4814">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder/{path:.*}</a></li> + <li><a href="#d2e4858">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder/version</a></li> + <li><a href="#d2e4862">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/folder/metadata/{path:.*}</a></li> + </ul> + </li> + <li><a href="#d2e4868">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum</a><ul> + <li><a href="#d2e4900">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/threads</a></li> + <li><a href="#d2e5009">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{threadKey}</a></li> + <li><a href="#d2e5050">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}</a></li> + <li><a href="#d2e5162">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments</a></li> + <li><a href="#d2e5233">http://www.example.com/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</a></li> + </ul> + </li> + </ul> + </li> + <li><a href="#d2e5255">http://www.example.com/repo/courses/{courseId}/calendar</a><ul> + <li><a href="#d2e5258">http://www.example.com/repo/courses/{courseId}/calendar/events/{eventId}</a></li> + <li><a href="#d2e5264">http://www.example.com/repo/courses/{courseId}/calendar/event</a></li> + <li><a href="#d2e5280">http://www.example.com/repo/courses/{courseId}/calendar/events</a></li> + </ul> + </li> + <li><a href="#d2e5303">http://www.example.com/repo/courses/{courseId}/vitero/{subIdentifier}</a><ul> + <li><a href="#d2e5361">http://www.example.com/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}/members</a></li> + <li><a href="#d2e5400">http://www.example.com/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}</a></li> + </ul> + </li> + <li><a href="#d2e5411">http://www.example.com/repo/courses/{courseId}/gotomeeting/{subIdentifier}</a><ul> + <li><a href="#d2e5415">http://www.example.com/repo/courses/{courseId}/gotomeeting/{subIdentifier}/trainings</a></li> + <li><a href="#d2e5470">http://www.example.com/repo/courses/{courseId}/gotomeeting/{subIdentifier}//trainings/{trainingKey}</a></li> + </ul> + </li> + <li><a href="#d2e5481">http://www.example.com/repo/courses/{courseId}/lectureblocks</a><ul> + <li><a href="#d2e5501">http://www.example.com/repo/courses/{courseId}/lectureblocks/configuration</a></li> + <li><a href="#d2e5514">http://www.example.com/repo/courses/{courseId}/lectureblocks/sync/calendar</a></li> + <li><a href="#d2e5518">http://www.example.com/repo/courses/{courseId}/lectureblocks/adaptation</a></li> + <li><a href="#d2e5522">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}</a><ul> + <li><a href="#d2e5531">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</a></li> + <li><a href="#d2e5539">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/sync/calendar</a></li> + <li><a href="#d2e5543">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers</a></li> + <li><a href="#d2e5548">http://www.example.com/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</a></li> </ul> </li> </ul> @@ -444,1459 +492,1513 @@ </li> </ul> </li> - <li><a href="#d2e4322">http://www.example.com/repo/courses/{courseId}/elements/contact</a></li> - <li><a href="#d2e4447">http://www.example.com/api</a><ul> - <li><a href="#d2e4448">http://www.example.com/api/doc</a></li> - <li><a href="#d2e4452">http://www.example.com/api/doc/{filename}</a></li> - <li><a href="#d2e4457">http://www.example.com/api/{filename}</a></li> - <li><a href="#d2e4462">http://www.example.com/api/copyright</a></li> - <li><a href="#d2e4470">http://www.example.com/api/version</a></li> - </ul> - </li> - <li><a href="#d2e4475">http://www.example.com/repo/courses/{courseId}/elements/enrollment</a><ul> - <li><a href="#d2e4594">http://www.example.com/repo/courses/{courseId}/elements/enrollment/{nodeId}/groups</a></li> + <li><a href="#d2e5555">http://www.example.com/repo/lifecycle</a></li> + <li><a href="#d2e5560">http://www.example.com/openmeetings</a><ul> + <li><a href="#d2e5563">http://www.example.com/openmeetings/{identityToken}/portrait</a></li> </ul> </li> - <li><a href="#d2e4625">http://www.example.com/catalog</a><ul> - <li><a href="#d2e4630">http://www.example.com/catalog/{path:.*}/children</a></li> - <li><a href="#d2e4639">http://www.example.com/catalog/{path:.*}/owners/{identityKey}</a></li> - <li><a href="#d2e4651">http://www.example.com/catalog/{path:.*}</a></li> - <li><a href="#d2e4702">http://www.example.com/catalog/{path:.*}/owners</a></li> - <li><a href="#d2e4708">http://www.example.com/catalog/version</a></li> - </ul> - </li> - <li><a href="#d2e4712">http://www.example.com/system</a><ul> - <li><a href="#d2e4713">http://www.example.com/system/environment</a></li> - <li><a href="#d2e4718">http://www.example.com/system/release</a></li> - <li><a href="#d2e4723">http://www.example.com/system/notifications</a><ul> - <li><a href="#d2e4724">http://www.example.com/system/notifications/status</a></li> + <li><a href="#d2e5582">http://www.example.com/system</a><ul> + <li><a href="#d2e5583">http://www.example.com/system/environment</a></li> + <li><a href="#d2e5588">http://www.example.com/system/release</a></li> + <li><a href="#d2e5593">http://www.example.com/system/log</a><ul> + <li><a href="#d2e5598">http://www.example.com/system/log/version</a></li> + <li><a href="#d2e5602">http://www.example.com/system/log/{date}</a></li> </ul> </li> - <li><a href="#d2e4738">http://www.example.com/system/log</a><ul> - <li><a href="#d2e4743">http://www.example.com/system/log/{date}</a></li> - <li><a href="#d2e4749">http://www.example.com/system/log/version</a></li> + <li><a href="#d2e5608">http://www.example.com/system/notifications</a><ul> + <li><a href="#d2e5609">http://www.example.com/system/notifications/status</a></li> </ul> </li> - <li><a href="#d2e4753">http://www.example.com/system/monitoring</a><ul> - <li><a href="#d2e4754">http://www.example.com/system/monitoring/configuration</a></li> - <li><a href="#d2e4759">http://www.example.com/system/monitoring/status</a></li> - <li><a href="#d2e4764">http://www.example.com/system/monitoring/runtime</a><ul> - <li><a href="#d2e4769">http://www.example.com/system/monitoring/runtime/memory</a></li> - <li><a href="#d2e4774">http://www.example.com/system/monitoring/runtime/threads</a></li> - <li><a href="#d2e4779">http://www.example.com/system/monitoring/runtime/classes</a></li> + <li><a href="#d2e5623">http://www.example.com/system/monitoring</a><ul> + <li><a href="#d2e5624">http://www.example.com/system/monitoring/configuration</a></li> + <li><a href="#d2e5629">http://www.example.com/system/monitoring/status</a></li> + <li><a href="#d2e5634">http://www.example.com/system/monitoring/runtime</a><ul> + <li><a href="#d2e5639">http://www.example.com/system/monitoring/runtime/threads</a></li> + <li><a href="#d2e5644">http://www.example.com/system/monitoring/runtime/memory</a></li> + <li><a href="#d2e5649">http://www.example.com/system/monitoring/runtime/classes</a></li> </ul> </li> - <li><a href="#d2e4784">http://www.example.com/system/monitoring/database</a></li> - <li><a href="#d2e4789">http://www.example.com/system/monitoring/openolat</a><ul> - <li><a href="#d2e4794">http://www.example.com/system/monitoring/openolat/tasks</a></li> - <li><a href="#d2e4799">http://www.example.com/system/monitoring/openolat/users</a></li> - <li><a href="#d2e4804">http://www.example.com/system/monitoring/openolat/repository</a></li> - <li><a href="#d2e4809">http://www.example.com/system/monitoring/openolat/sessions</a></li> - <li><a href="#d2e4814">http://www.example.com/system/monitoring/openolat/indexer</a><ul> - <li><a href="#d2e4819">http://www.example.com/system/monitoring/openolat/indexer/status</a></li> + <li><a href="#d2e5654">http://www.example.com/system/monitoring/database</a></li> + <li><a href="#d2e5659">http://www.example.com/system/monitoring/openolat</a><ul> + <li><a href="#d2e5664">http://www.example.com/system/monitoring/openolat/tasks</a></li> + <li><a href="#d2e5669">http://www.example.com/system/monitoring/openolat/users</a></li> + <li><a href="#d2e5674">http://www.example.com/system/monitoring/openolat/repository</a></li> + <li><a href="#d2e5679">http://www.example.com/system/monitoring/openolat/sessions</a></li> + <li><a href="#d2e5684">http://www.example.com/system/monitoring/openolat/indexer</a><ul> + <li><a href="#d2e5689">http://www.example.com/system/monitoring/openolat/indexer/status</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e4833">http://www.example.com/system/monitoring/memory</a><ul> - <li><a href="#d2e4841">http://www.example.com/system/monitoring/memory/pools</a></li> - <li><a href="#d2e4849">http://www.example.com/system/monitoring/memory/samples</a></li> + <li><a href="#d2e5703">http://www.example.com/system/monitoring/memory</a><ul> + <li><a href="#d2e5711">http://www.example.com/system/monitoring/memory/pools</a></li> + <li><a href="#d2e5719">http://www.example.com/system/monitoring/memory/samples</a></li> </ul> </li> - <li><a href="#d2e4858">http://www.example.com/system/monitoring/threads</a><ul> - <li><a href="#d2e4866">http://www.example.com/system/monitoring/threads/cpu</a></li> + <li><a href="#d2e5728">http://www.example.com/system/monitoring/threads</a><ul> + <li><a href="#d2e5736">http://www.example.com/system/monitoring/threads/cpu</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e4871">http://www.example.com/system/indexer</a><ul> - <li><a href="#d2e4876">http://www.example.com/system/indexer/status</a></li> + <li><a href="#d2e5741">http://www.example.com/system/indexer</a><ul> + <li><a href="#d2e5746">http://www.example.com/system/indexer/status</a></li> </ul> </li> </ul> </li> - <li><a href="#d2e4890">http://www.example.com/registration</a></li> - <li><a href="#d2e4924">http://www.example.com/repo/sharedfolder</a><ul> - <li><a href="#d2e4925">http://www.example.com/repo/sharedfolder/version</a></li> - <li><a href="#d2e4929">http://www.example.com/repo/sharedfolder/{repoEntryKey}/{path:.*}</a></li> - <li><a href="#d2e4935">http://www.example.com/repo/sharedfolder/{repoEntryKey}</a></li> - <li><a href="#d2e4940">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files</a><ul> - <li><a href="#d2e4973">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files/{path:.*}</a></li> - <li><a href="#d2e5017">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files/metadata/{path:.*}</a></li> - <li><a href="#d2e5023">http://www.example.com/repo/sharedfolder/{repoEntryKey}/files/version</a></li> - </ul> - </li> + <li><a href="#d2e5760">http://www.example.com/repo/courses/{resourceKey}/certificates</a><ul> + <li><a href="#d2e5763">http://www.example.com/repo/courses/{resourceKey}/certificates/{identityKey}</a></li> </ul> </li> - <li><a href="#d2e5027">http://www.example.com/repo/forums</a><ul> - <li><a href="#d2e5030">http://www.example.com/repo/forums/version</a></li> - <li><a href="#d2e5045">http://www.example.com/repo/forums/{forumKey}</a><ul> - <li><a href="#d2e5079">http://www.example.com/repo/forums/{forumKey}/threads</a></li> - <li><a href="#d2e5188">http://www.example.com/repo/forums/{forumKey}/posts/{threadKey}</a></li> - <li><a href="#d2e5229">http://www.example.com/repo/forums/{forumKey}/posts/{messageKey}</a></li> - <li><a href="#d2e5341">http://www.example.com/repo/forums/{forumKey}/posts/{messageKey}/attachments</a></li> - <li><a href="#d2e5412">http://www.example.com/repo/forums/{forumKey}/posts/{messageKey}/attachments/{filename}</a></li> - </ul> - </li> + <li><a href="#d2e5855">http://www.example.com/ping</a><ul> + <li><a href="#d2e5859">http://www.example.com/ping/version</a></li> + <li><a href="#d2e5863">http://www.example.com/ping/{name}</a></li> </ul> </li> - <li><a href="#d2e5434">http://www.example.com/auth</a><ul> - <li><a href="#d2e5435">http://www.example.com/auth/{username}</a></li> - <li><a href="#d2e5444">http://www.example.com/auth/version</a></li> + <li><a href="#d2e5868">http://www.example.com/repo/courses/infos</a><ul> + <li><a href="#d2e5876">http://www.example.com/repo/courses/infos/{courseId}</a></li> </ul> </li> - <li><a href="#d2e5448">http://www.example.com/users</a><ul> - <li><a href="#d2e5516">http://www.example.com/users/{identityKey}</a></li> - <li><a href="#d2e5617">http://www.example.com/users/{identityKey}/portrait</a></li> - <li><a href="#d2e5687">http://www.example.com/users/{identityKey}/status</a></li> - <li><a href="#d2e5750">http://www.example.com/users/{identityKey}/roles</a></li> - <li><a href="#d2e5813">http://www.example.com/users/managed</a></li> - <li><a href="#d2e5818">http://www.example.com/users/{identityKey}/preferences</a></li> - <li><a href="#d2e5881">http://www.example.com/users/{identityKey}/portrait/{size}</a></li> - <li><a href="#d2e5899">http://www.example.com/users/version</a></li> - <li><a href="#d2e5917">http://www.example.com/users/{identityKey}/folders</a><ul> - <li><a href="#d2e5943">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}</a><ul> - <li><a href="#d2e5977">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/{path:.*}</a></li> - <li><a href="#d2e6021">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/metadata/{path:.*}</a></li> - <li><a href="#d2e6027">http://www.example.com/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/version</a></li> - </ul> - </li> - <li><a href="#d2e6031">http://www.example.com/users/{identityKey}/folders/personal</a><ul> - <li><a href="#d2e6063">http://www.example.com/users/{identityKey}/folders/personal/{path:.*}</a></li> - <li><a href="#d2e6107">http://www.example.com/users/{identityKey}/folders/personal/metadata/{path:.*}</a></li> - <li><a href="#d2e6113">http://www.example.com/users/{identityKey}/folders/personal/version</a></li> - </ul> - </li> - <li><a href="#d2e6117">http://www.example.com/users/{identityKey}/folders/group/{groupKey}</a><ul> - <li><a href="#d2e6150">http://www.example.com/users/{identityKey}/folders/group/{groupKey}/{path:.*}</a></li> - <li><a href="#d2e6194">http://www.example.com/users/{identityKey}/folders/group/{groupKey}/metadata/{path:.*}</a></li> - <li><a href="#d2e6200">http://www.example.com/users/{identityKey}/folders/group/{groupKey}/version</a></li> + <li><a href="#d2e5882">http://www.example.com/repo/entries</a><ul> + <li><a href="#d2e5902">http://www.example.com/repo/entries/search</a></li> + <li><a href="#d2e5912">http://www.example.com/repo/entries/version</a></li> + <li><a href="#d2e5916">http://www.example.com/repo/entries/{repoEntryKey}</a><ul> + <li><a href="#d2e5937">http://www.example.com/repo/entries/{repoEntryKey}/coaches</a></li> + <li><a href="#d2e5949">http://www.example.com/repo/entries/{repoEntryKey}/coaches/{identityKey}</a></li> + <li><a href="#d2e5958">http://www.example.com/repo/entries/{repoEntryKey}/owners/{identityKey}</a></li> + <li><a href="#d2e5967">http://www.example.com/repo/entries/{repoEntryKey}/file</a></li> + <li><a href="#d2e5973">http://www.example.com/repo/entries/{repoEntryKey}/status</a></li> + <li><a href="#d2e5982">http://www.example.com/repo/entries/{repoEntryKey}/participants</a></li> + <li><a href="#d2e5995">http://www.example.com/repo/entries/{repoEntryKey}/participants/{identityKey}</a></li> + <li><a href="#d2e6004">http://www.example.com/repo/entries/{repoEntryKey}/owners</a></li> + <li><a href="#d2e6016">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks</a><ul> + <li><a href="#d2e6037">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/configuration</a></li> + <li><a href="#d2e6050">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/sync/calendar</a></li> + <li><a href="#d2e6054">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/adaptation</a></li> + <li><a href="#d2e6058">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}</a><ul> + <li><a href="#d2e6067">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</a></li> + <li><a href="#d2e6075">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/sync/calendar</a></li> + <li><a href="#d2e6079">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers</a></li> + <li><a href="#d2e6084">http://www.example.com/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</a></li> + </ul> + </li> </ul> </li> </ul> </li> - <li><a href="#d2e6204">http://www.example.com/users/{identityKey}/courses</a><ul> - <li><a href="#d2e6206">http://www.example.com/users/{identityKey}/courses/my</a></li> - <li><a href="#d2e6236">http://www.example.com/users/{identityKey}/courses/teached</a></li> - <li><a href="#d2e6266">http://www.example.com/users/{identityKey}/courses/favorite</a></li> - </ul> - </li> - <li><a href="#d2e6296">http://www.example.com/users/{identityKey}/groups</a><ul> - <li><a href="#d2e6307">http://www.example.com/users/{identityKey}/groups/owner</a></li> - <li><a href="#d2e6317">http://www.example.com/users/{identityKey}/groups/participant</a></li> - <li><a href="#d2e6327">http://www.example.com/users/{identityKey}/groups/infos</a></li> - </ul> - </li> </ul> </li> - <li><a href="#d2e6337">http://www.example.com/repo/courses/infos</a><ul> - <li><a href="#d2e6345">http://www.example.com/repo/courses/infos/{courseId}</a></li> + <li><a href="#d2e6091">http://www.example.com/auth</a><ul> + <li><a href="#d2e6092">http://www.example.com/auth/{username}</a></li> + <li><a href="#d2e6101">http://www.example.com/auth/version</a></li> </ul> </li> - <li><a href="#d2e6351">http://www.example.com/contacts</a></li> - <li><a href="#d2e6366">http://www.example.com/repo/courses/{courseId}/elements</a><ul> - <li><a href="#d2e6367">http://www.example.com/repo/courses/{courseId}/elements/{nodeId}</a></li> - <li><a href="#d2e6374">http://www.example.com/repo/courses/{courseId}/elements/version</a></li> - <li><a href="#d2e6378">http://www.example.com/repo/courses/{courseId}/elements/structure/{nodeId}</a></li> - <li><a href="#d2e6385">http://www.example.com/repo/courses/{courseId}/elements/structure</a></li> - <li><a href="#d2e6404">http://www.example.com/repo/courses/{courseId}/elements/singlepage/{nodeId}</a></li> - <li><a href="#d2e6411">http://www.example.com/repo/courses/{courseId}/elements/singlepage</a></li> - <li><a href="#d2e6450">http://www.example.com/repo/courses/{courseId}/elements/task/{nodeId}</a></li> - <li><a href="#d2e6466">http://www.example.com/repo/courses/{courseId}/elements/task</a></li> - <li><a href="#d2e6497">http://www.example.com/repo/courses/{courseId}/elements/test/{nodeId}</a></li> - <li><a href="#d2e6512">http://www.example.com/repo/courses/{courseId}/elements/test</a></li> - <li><a href="#d2e6541">http://www.example.com/repo/courses/{courseId}/elements/assessment/{nodeId}</a></li> - <li><a href="#d2e6556">http://www.example.com/repo/courses/{courseId}/elements/assessment</a></li> - <li><a href="#d2e6583">http://www.example.com/repo/courses/{courseId}/elements/wiki/{nodeId}</a></li> - <li><a href="#d2e6598">http://www.example.com/repo/courses/{courseId}/elements/wiki</a></li> - <li><a href="#d2e6626">http://www.example.com/repo/courses/{courseId}/elements/blog/{nodeId}</a></li> - <li><a href="#d2e6641">http://www.example.com/repo/courses/{courseId}/elements/blog</a></li> - <li><a href="#d2e6669">http://www.example.com/repo/courses/{courseId}/elements/survey/{nodeId}</a></li> - <li><a href="#d2e6684">http://www.example.com/repo/courses/{courseId}/elements/survey</a></li> - <li><a href="#d2e6712">http://www.example.com/repo/courses/{courseId}/elements/externalpage/{nodeId}</a></li> - <li><a href="#d2e6727">http://www.example.com/repo/courses/{courseId}/elements/externalpage</a></li> - <li><a href="#d2e6755">http://www.example.com/repo/courses/{courseId}/elements/task/{nodeId}/file</a></li> - <li><a href="#d2e6766">http://www.example.com/repo/courses/{courseId}/elements/task/{nodeId}/configuration</a></li> - <li><a href="#d2e6838">http://www.example.com/repo/courses/{courseId}/elements/survey/{nodeId}/configuration</a></li> - <li><a href="#d2e6869">http://www.example.com/repo/courses/{courseId}/elements/test/{nodeId}/configuration</a></li> + <li><a href="#d2e6105">http://www.example.com/contacts</a></li> + <li><a href="#d2e6120">http://www.example.com/repo/courses/{courseId}/elements</a><ul> + <li><a href="#d2e6121">http://www.example.com/repo/courses/{courseId}/elements/version</a></li> + <li><a href="#d2e6125">http://www.example.com/repo/courses/{courseId}/elements/{nodeId}</a></li> + <li><a href="#d2e6132">http://www.example.com/repo/courses/{courseId}/elements/structure/{nodeId}</a></li> + <li><a href="#d2e6139">http://www.example.com/repo/courses/{courseId}/elements/structure</a></li> + <li><a href="#d2e6158">http://www.example.com/repo/courses/{courseId}/elements/singlepage/{nodeId}</a></li> + <li><a href="#d2e6165">http://www.example.com/repo/courses/{courseId}/elements/singlepage</a></li> + <li><a href="#d2e6204">http://www.example.com/repo/courses/{courseId}/elements/task/{nodeId}</a></li> + <li><a href="#d2e6220">http://www.example.com/repo/courses/{courseId}/elements/task</a></li> + <li><a href="#d2e6251">http://www.example.com/repo/courses/{courseId}/elements/test/{nodeId}</a></li> + <li><a href="#d2e6266">http://www.example.com/repo/courses/{courseId}/elements/test</a></li> + <li><a href="#d2e6295">http://www.example.com/repo/courses/{courseId}/elements/assessment/{nodeId}</a></li> + <li><a href="#d2e6310">http://www.example.com/repo/courses/{courseId}/elements/assessment</a></li> + <li><a href="#d2e6337">http://www.example.com/repo/courses/{courseId}/elements/wiki/{nodeId}</a></li> + <li><a href="#d2e6352">http://www.example.com/repo/courses/{courseId}/elements/wiki</a></li> + <li><a href="#d2e6380">http://www.example.com/repo/courses/{courseId}/elements/blog/{nodeId}</a></li> + <li><a href="#d2e6395">http://www.example.com/repo/courses/{courseId}/elements/blog</a></li> + <li><a href="#d2e6423">http://www.example.com/repo/courses/{courseId}/elements/survey/{nodeId}</a></li> + <li><a href="#d2e6438">http://www.example.com/repo/courses/{courseId}/elements/survey</a></li> + <li><a href="#d2e6466">http://www.example.com/repo/courses/{courseId}/elements/externalpage/{nodeId}</a></li> + <li><a href="#d2e6481">http://www.example.com/repo/courses/{courseId}/elements/externalpage</a></li> + <li><a href="#d2e6509">http://www.example.com/repo/courses/{courseId}/elements/task/{nodeId}/file</a></li> + <li><a href="#d2e6520">http://www.example.com/repo/courses/{courseId}/elements/task/{nodeId}/configuration</a></li> + <li><a href="#d2e6592">http://www.example.com/repo/courses/{courseId}/elements/survey/{nodeId}/configuration</a></li> + <li><a href="#d2e6623">http://www.example.com/repo/courses/{courseId}/elements/test/{nodeId}/configuration</a></li> + </ul> + </li> + <li><a href="#d2e6677">http://www.example.com/repo/courses/{courseId}/elements/forum</a><ul> + <li><a href="#d2e6788">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}</a></li> + <li><a href="#d2e6823">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/thread</a></li> + <li><a href="#d2e6871">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/message</a></li> + <li><a href="#d2e6919">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum</a><ul> + <li><a href="#d2e6952">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/threads</a></li> + <li><a href="#d2e7061">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{threadKey}</a></li> + <li><a href="#d2e7102">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}</a></li> + <li><a href="#d2e7214">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments</a></li> + <li><a href="#d2e7285">http://www.example.com/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments/{filename}</a></li> + </ul> + </li> </ul> </li> </ul> </li> <li><a href="#representations">Representations</a><ul> - <li><a href="#d2e39">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e52"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e58"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e67">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>)</a></li> - <li><a href="#d2e80"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e86"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e93">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e121">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e134"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e9">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e10">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e14">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e15">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e23">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e24">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e30">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e33">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e36">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e40">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e45">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e46">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e54">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e55">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e58">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e59">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</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="#d2e65">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e70">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e71">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e75">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e76">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e78">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e79">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e86">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e87">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e90">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e91">application/json<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="#d2e102">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e106">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e111">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e116">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e120">application/xhtml+xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e121">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e124">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e136"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e140"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e154">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e176">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e189"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e195"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e204">application/xml, application/json (<abbr title="{http://www.example.com} folderVO">ns3:folderVO</abbr>)</a></li> - <li><a href="#d2e217"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e223"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e231">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e232">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e233">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e234">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e235">*/*<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/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e247">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e248">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e251">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e252">application/xml<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} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e256">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e258">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e259">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e264">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e265">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e266">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e267">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e268">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></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="#d2e273">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e276">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e281">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e282">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e283">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e286">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e287">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e288">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e291">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e292">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e294">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e295">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e298">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e299">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e302">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e303">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e308">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e309">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e313">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e318">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e319">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e328">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e329">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e342">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e343">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e346">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e347">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e349">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e350">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e353">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e354">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e356">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e357">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e362">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e363">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e367">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e368">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e370">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e371">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e374">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e375">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e376">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e378">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e379">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e390">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e391">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e412">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e413">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e416">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> - <li><a href="#d2e417">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> - <li><a href="#d2e419">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e420">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="#d2e428">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e433">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e434">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e437">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e438">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e443">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e444">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e447">application/x-www-form-urlencoded<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="#d2e461">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e465">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e466">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e470">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e473">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e474">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e478">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e482">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e487">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e488">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e491">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e494">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e495">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e499">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e500">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e502">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e505">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e506">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e511">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e512">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e514">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e517">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e518">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e522">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e147">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e152"><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="#d2e163">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e164">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e168">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e174">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e175">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e181">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e182">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} ">assessableResultsVO</abbr>)</a></li> + <li><a href="#d2e186">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>)</a></li> + <li><a href="#d2e188">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e195">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e196">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e207">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> + <li><a href="#d2e208">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> + <li><a href="#d2e212">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>)</a></li> + <li><a href="#d2e225"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e231"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e237"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e243"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e250">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>)</a></li> + <li><a href="#d2e261"><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="#d2e281"><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="#d2e293"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e303">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e321">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e328"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e334"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e340"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e346"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e389">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e402"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e408"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e415">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e446">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e459"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e465"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e477">application/xml, application/json (<abbr title="{http://www.example.com} groupVO">ns3:groupVO</abbr>)</a></li> + <li><a href="#d2e490"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e496"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e503">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e509">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e510">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e511">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e512">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e517">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e523">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e526">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e527">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e524">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e525">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e526">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e529">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e534">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e538">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e542">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e543">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e551">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e552">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e556">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e557">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} ">groupVO</abbr>)</a></li> - <li><a href="#d2e561">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e563">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e564">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e569">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e572">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e575">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e577">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e581">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e586">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e587">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e588">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e589">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e590">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e593">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e594">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e597">application/x-www-form-urlencoded<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="#d2e603">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e606">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e607">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e610">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e611">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e613">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e614">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e619">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e620">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e621">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e622">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e623">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e626">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e627">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e628">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e631">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e636">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e638">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e641">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e642">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e643">*/*<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} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e647">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e649">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e650">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e653">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e654">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e657">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e658">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e663">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e664">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e668">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e679">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e692"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e698"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e717">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e730"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e736"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e755">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e768"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e774"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e781">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e788">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e801"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e807"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e829">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e842"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e848"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e859">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e872">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e885"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e891"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e898">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e899">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e903">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e916"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e922"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e941">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e954"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e960"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e973">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e979"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e986">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e992">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e998"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1005">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1006">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1010">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1016"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1025">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1031"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1047">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1053"><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/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="#d2e1073">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1074">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1077">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1078">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} "></abbr></a></li> - <li><a href="#d2e1081">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1086">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1087">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} ">eventVO</abbr>)</a></li> - <li><a href="#d2e1092">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e1094">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1095">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1098">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1099">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e1100">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e1102">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1103">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1114">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1128">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1129">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1133">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1147">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1148">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1152">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1172">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> - <li><a href="#d2e1186">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1187">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1191">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> - <li><a href="#d2e1209"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1223">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> - <li><a href="#d2e1237">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - <li><a href="#d2e1238">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - <li><a href="#d2e1242">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> - <li><a href="#d2e1256">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - <li><a href="#d2e1257">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - <li><a href="#d2e1261">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> - <li><a href="#d2e1279"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1285">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1286">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1289">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e1290">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e1292">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1293">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1296">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1297">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e1298">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e1300">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1301">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1305">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1306">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1309">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1310">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - <li><a href="#d2e1311">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - <li><a href="#d2e1313">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1314">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1318">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1322">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1327">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1330">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1331">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1336">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e532">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e537">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e540">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e543">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e598">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e611"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e617"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e624">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e647">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e660"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e666"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e686">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> + <li><a href="#d2e697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e708"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e715">text/plain, text/html (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> + <li><a href="#d2e726"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e733">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e738"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e745"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e749"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e753"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e767">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> + <li><a href="#d2e781">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e782">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e784"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e791">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e792">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e794"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e802">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e826"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e830"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e834"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e844">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> + <li><a href="#d2e845">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> + <li><a href="#d2e849">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e862"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e868">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e889">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>)</a></li> + <li><a href="#d2e902"><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} ">userVO</abbr>)</a></li> + <li><a href="#d2e914">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> + <li><a href="#d2e918">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>)</a></li> + <li><a href="#d2e931"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e937"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e943">application/xml, application/json (<abbr title="{http://www.example.com} errorVO">ns3:errorVO</abbr>)</a></li> + <li><a href="#d2e959"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e965"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e971"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e984">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e997"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1003"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1016">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1029"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1035"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1042">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> + <li><a href="#d2e1043">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> + <li><a href="#d2e1047">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1060"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1066"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1079">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1092"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1098"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1105">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> + <li><a href="#d2e1106">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> + <li><a href="#d2e1110">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1123"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1129"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1139">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1159">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1165"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1174">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1180"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1189">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1195"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1201"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1210"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1216"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1222">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1223">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1234">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1247"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1253"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1260">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> + <li><a href="#d2e1261">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> + <li><a href="#d2e1265">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1278"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1284"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1296">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1302"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1316">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>)</a></li> + <li><a href="#d2e1329"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1335">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1336">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1337">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1338">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e1339">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1342">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e1343">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1344">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1348">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1351">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1355">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1346">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1351">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1352">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1355">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1356">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1359">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1360">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1362">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e1363">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1364">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1380">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1394">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1395">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1399">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1413">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1414">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1418">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1438">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> - <li><a href="#d2e1452">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1453">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1457">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> - <li><a href="#d2e1475"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1484">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1485">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} ">groupVO</abbr>)</a></li> - <li><a href="#d2e1489">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e1368">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1369">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1370">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1371">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1372">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1375">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1376">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1377">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1380">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1385">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1386">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1387">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1390">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1391">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1392">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1395">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1396">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1398">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1399">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1402">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1403">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1406">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1407">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1411">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1416">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1417">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1423">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1424">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1425">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1426">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1427">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1430">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1431">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1434">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1439">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1440">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1443">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1444">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1447">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1448">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1450">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1451">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1456">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1457">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1458">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1459">application/octet-stream<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="#d2e1463">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1464">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1465">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1468">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1473">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1474">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1475">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1478">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1479">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1480">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1483">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1484">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1486">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1487">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1490">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e1491">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1492">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1497">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1498">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1501">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e1502">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e1504">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1505">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1508">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1513">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1516">application/x-www-form-urlencoded<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="#d2e1522">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1527">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e1529">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1534">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1535">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1540">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1541">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1546">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1547">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1553">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1556">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1494">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1495">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1499">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1504">application/json<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} "></abbr></a></li> + <li><a href="#d2e1510">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1511">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1512">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1513">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1514">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1517">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1518">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1521">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1526">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1527">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1530">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1531">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1534">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1535">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1537">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1538">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1543">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1544">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1545">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1546">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1547">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1550">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1551">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1552">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1555">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1560">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1561">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e1562">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1565">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1569">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1579">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1580">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1585">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1586">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1587">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1588">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1589">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1592">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1593">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1596">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1601">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1602">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1605">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1606">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1609">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1610">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1612">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1613">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1618">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1619">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1620">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1621">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1622">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1625">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1626">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1627">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1630">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1635">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1636">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1637">*/*<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="#d2e1642">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1645">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1646">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1648">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1649">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1652">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1653">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1656">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1657">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1662">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1663">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1667">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1678">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e1691"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1697"><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} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e1729"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1735"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1754">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e1767"><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="#d2e1780">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1787">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e1800"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1806"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1828">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e1841"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1847"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1858">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1871">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e1884"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1890"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1897">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e1898">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e1902">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e1915"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1921"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1940">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e1953"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1959"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1972">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1978"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1985">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1991">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1997"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2004">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2005">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2009">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2015"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2024">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2030"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2046">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2052"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2072">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> - <li><a href="#d2e2083"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2090">text/plain, text/html (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> - <li><a href="#d2e2101"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2108">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2113"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2120"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2124"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1565">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1566">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1567">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1570">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1571">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1573">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1574">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1577">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1578">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1581">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1582">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1586">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1591">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1592">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1609">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> + <li><a href="#d2e1622"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1639">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> + <li><a href="#d2e1652"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1669">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> + <li><a href="#d2e1682"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1694">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1695">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1704">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1705">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="#d2e1715">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1724">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1725">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1743">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1756"><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} ">subscribersVO</abbr>)</a></li> + <li><a href="#d2e1763">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>)</a></li> + <li><a href="#d2e1765">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1770">*/*<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="#d2e1778">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1794">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1808">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1809">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1813">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1827">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1828">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1832">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1852">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e1866">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1867">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1871">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e1889"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1900">text/plain<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} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e1935"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1941"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1960">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e1973"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1979"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1986">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1993">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2006"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2012"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2031">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2044"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2050"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2072">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e2085"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2091"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2102">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2115">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> <li><a href="#d2e2128"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2139"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2153">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> - <li><a href="#d2e2167">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> - <li><a href="#d2e2168">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> - <li><a href="#d2e2170"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2177">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> - <li><a href="#d2e2178">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> - <li><a href="#d2e2180"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2134"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2153">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2166"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2172"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2179">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e2180">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e2184">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> <li><a href="#d2e2197"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2201"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2205"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2213">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2227">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2233">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2234">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2235">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2236">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2241">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2247">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2248">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2249">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2250">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2253">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2256">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2261">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2264">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2267">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2278">application/xml, application/json (<abbr title="{http://www.example.com} forumVOes">ns3:forumVOes</abbr>)</a></li> - <li><a href="#d2e2291"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2297"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2304">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2318">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e2331"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2337"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2357">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e2370"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2376"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2392">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e2405"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2411"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2440">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e2453"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2203"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2216">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2222"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2231">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2237"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2244">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2245">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2249">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2255"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2262">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2268">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2274"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2290">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2296"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2311">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e2324"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2337">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e2350"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2356"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2375">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e2388"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2394"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2401">application/x-www-form-urlencoded<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} messageVO">ns3:messageVO</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="#d2e2446">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> <li><a href="#d2e2459"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2488">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e2501"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2507"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2521">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e2534"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2540"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2559">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e2572"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2578"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2597">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e2610"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2616"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2623">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2630">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e2643"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2649"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2671">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e2684"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2690"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2701">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2714">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e2727"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2733"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2740">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e2741">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e2745">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e2758"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2764"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2783">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</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="#d2e2815">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2821"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2828">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2834">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2840"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2847">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2848">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2852">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2858"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2867">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2873"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2889">application/octet-stream<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="#d2e2910">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e2923"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2937">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e2950"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2956"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2975">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e2988"><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="#d2e3013">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e3026"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3032"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3039">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3046">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e3059"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3065"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3087">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e3100"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3106"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3117">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3130">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e3143"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3149"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3156">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e3157">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e3161">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e3174"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3180"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3199">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e3212"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3218"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3231">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3237"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3244">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3250">application/json, application/xml<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="#d2e3263">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e3264">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e3268">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3274"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3283">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3289"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3305">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3311"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3324">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e3337"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3343"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3362">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e3375"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3381"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3400">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e3413"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3419"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3426">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3433">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e3446"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3452"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3474">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e3487"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3493"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3504">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3517">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e3530"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3536"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3543">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e3544">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e3548">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e3561"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3567"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3586">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e3599"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2465"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2487">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e2500"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2506"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2517">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2530">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2543"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2549"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2568">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2581"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2587"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2594">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e2595">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e2599">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2612"><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="#d2e2631">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2637"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2646">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2652"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2659">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2660">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2664">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2670"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2677">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2683">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2689"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2705">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2711"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2725">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</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="#d2e2763">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e2776"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2782"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2789">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2796">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2809"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2815"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2834">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2847"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2853"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2875">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e2888"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2894"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2905">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2918">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2931"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2937"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2956">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2969"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2975"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2982">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e2983">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e2987">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3000"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3006"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3019">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3025"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3034">application/json, application/xml<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="#d2e3047">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e3048">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e3052">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3058"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3065">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3071">application/json, application/xml<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="#d2e3093">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3099"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3106">text/plain<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">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e3119">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e3121">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3122">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3128">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3129">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3133">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3138">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3139">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3142">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e3143">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e3145">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3146">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3149">*/*<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="#d2e3157">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3160">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3163">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3168">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e3170">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3175">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3176">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3181">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3182">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3187">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3188">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3194">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3197">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3203">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3206">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3212">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} "></abbr></a></li> + <li><a href="#d2e3214">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3215">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3216">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3219">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3220">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3223">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3228">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3229">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3232">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3233">application/xml<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} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e3237">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e3239">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3240">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3245">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3246">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3247">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3248">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3249">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3252">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3253">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3254">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3257">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3262">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3263">application/xml<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">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3268">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3269">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3272">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e3273">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e3275">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3276">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3279">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3280">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3283">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3284">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3288">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3293">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3294">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3305">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e3318"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3324"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3343">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e3356"><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">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3376">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3389"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3395"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3414">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3427"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3433"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3455">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e3468"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3474"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3485">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3498">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3511"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3517"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3536">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3549"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3555"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3562">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e3563">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e3567">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3580"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3586"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3599">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e3605"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3618">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3624"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3631">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3637">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3643"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3650">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e3651">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e3655">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3661"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3670">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3676"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3692">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3698"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3713">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3720">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3726"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3732"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3737">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3754"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3760"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3766"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3772"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3781"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3787"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3793"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3800">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3804">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3809">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3823">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3829"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3836">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3837">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3843">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3844">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3850">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3851">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3854">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>)</a></li> - <li><a href="#d2e3855">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>)</a></li> - <li><a href="#d2e3857">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3861">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3868">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3869">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3877">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3878">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3889">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3890">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3901">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> - <li><a href="#d2e3902">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> - <li><a href="#d2e3906">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>)</a></li> - <li><a href="#d2e3919"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3925"><abbr title="{http://wadl.dev.java.net/2009/02} "></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="#d2e3944">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>)</a></li> - <li><a href="#d2e3955"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3614">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3620"><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} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e3628">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e3632">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3638"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3645">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3651">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3657"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3673">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3679"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3690">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3691">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3702">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyModuleConfigurationVO">ns3:taxonomyModuleConfigurationVO</abbr>)</a></li> + <li><a href="#d2e3715"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3728">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyVO">ns3:taxonomyVO</abbr>)</a></li> + <li><a href="#d2e3741"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3751">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e3764"><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} ">taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e3772">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e3776">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelVO">ns3:taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e3789"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3795"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3806">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e3819"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3826">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e3827">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e3831">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e3844"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3850"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3862">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyCompetenceVO">ns3:taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e3875"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3887"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3893"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3899"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3909">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e3922"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3928"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3935">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e3936">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e3940">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e3953"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e3959"><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="#d2e3981"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3987"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3998">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4005"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4011"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4017"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4023"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4033">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4046">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4047">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4064">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4077"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4083">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>)</a></li> - <li><a href="#d2e4084">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>)</a></li> - <li><a href="#d2e4086">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4091">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4098">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4099">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4108">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4112">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4123">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4124">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4127">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4128">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4131">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4132">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4141">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4142">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4146">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4151">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4152">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4155">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4156">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4159">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> - <li><a href="#d2e4160">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> + <li><a href="#d2e3970">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e3983"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3989"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4000">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e4013"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4019"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4031">application/xml, application/json (<abbr title="{http://www.example.com} taxonomyLevelTypeVO">ns3:taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e4044"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4050"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4059"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4065"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4071"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4078">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4084">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4089">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4094">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4095">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4096">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4097">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4098">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4101">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4102">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4105">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4110">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4111">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4114">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4115">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4118">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4119">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4121">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4122">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4127">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4128">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4129">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4130">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4131">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4134">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4135">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4136">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4139">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4144">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4145">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4146">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4149">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4150">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4151">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4154">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4155">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4157">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4158">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4161">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e4162">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4163">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4165">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e4166">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4167">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4173">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4176">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4181">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4182">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4184">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4187">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4188">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4193">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4194">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4199">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4202">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4203">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4208">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4209">application/json<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="#d2e4215">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4221">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4224">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4230">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4231">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4233">*/*<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="#d2e4243">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4246">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4251">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4252">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4255">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e4256">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e4258">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4259">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4262">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4263">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e4264">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e4266">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4267">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4271">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4272">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4275">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4276">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - <li><a href="#d2e4277">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - <li><a href="#d2e4279">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4280">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4284">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4288">*/*<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="#d2e4296">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4297">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4302">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4305">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4309">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4310">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4314">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4317">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4321">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4376">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e4389"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4395"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4402">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4425">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e4438"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4444"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4451">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4456">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4461">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4465">application/xhtml+xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4466">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4469">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4473">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4515">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e4528"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4534"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4541">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4572">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - <li><a href="#d2e4585"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4591"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4603">application/xml, application/json (<abbr title="{http://www.example.com} groupVO">ns3:groupVO</abbr>)</a></li> - <li><a href="#d2e4616"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4622"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4628">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4629">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4638">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4644">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4647">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4650">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4655">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} "></abbr></a></li> - <li><a href="#d2e4659">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> - <li><a href="#d2e4660">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> - <li><a href="#d2e4662">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4663">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4170">text/plain<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="#d2e4176">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4189">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>)</a></li> + <li><a href="#d2e4202"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4208"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4242">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e4255"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4261"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4268">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4296">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e4309"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4315"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4329">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4351">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e4364"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4370"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4379">application/xml, application/json (<abbr title="{http://www.example.com} folderVO">ns3:folderVO</abbr>)</a></li> + <li><a href="#d2e4392"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4398"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4406">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4407">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4408">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4409">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4410">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4413">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4414">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4417">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4422">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4423">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4426">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4427">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4430">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4431">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4433">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4434">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4439">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4440">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4441">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4442">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4443">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4446">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4447">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4448">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4451">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4456">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4457">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4458">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4461">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4462">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4463">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4466">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4467">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4469">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4470">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4473">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4474">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4477">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4478">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4482">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4487">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4488">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4493">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4494">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4503">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4504">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4514">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4515">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4519">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e4520">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e4522">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4523">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4526">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4527">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e4528">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e4530">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4531">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4539">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4540">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4543">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4544">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4546">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4547">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4550">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4551">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4553">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4554">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4562">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4563">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4574">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4575">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4587">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4588">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4591">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> + <li><a href="#d2e4592">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> + <li><a href="#d2e4594">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4595">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4616">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4617">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4622">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4623">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4627">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4632">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4633">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4636">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4637">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4642">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4643">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4646">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4654">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4655">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4659">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4663">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4664">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4668">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e4671">application/xml<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="#d2e4675">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4676">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e4680">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4681">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4685">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> - <li><a href="#d2e4686">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</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">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="#d2e4697">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="#d2e4701">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4706">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4707">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4711">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4716">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4717">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4721">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4722">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4727">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4728">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4731">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4734">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4737">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4741">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4742">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4747">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4748">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4752">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4757">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4758">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4685">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4686">application/json<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/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4693">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4697">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4698">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4700">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4703">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4704">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4710">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4714">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4715">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4717">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4720">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4721">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4725">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4726">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4735">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4739">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4740">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4743">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4744">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4746">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4751">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4755">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4756">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4759">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e4760">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> <li><a href="#d2e4762">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e4763">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4767">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4768">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4772">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4773">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4777">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4778">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4782">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4783">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4787">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4788">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4792">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4793">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4797">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4798">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4768">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4771">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4774">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e4776">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4780">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4785">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4786">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4787">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4788">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4789">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4792">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4793">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4796">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4801">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e4802">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4803">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4807">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4808">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4812">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4813">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4817">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4805">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4806">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4809">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4810">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4812">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4813">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e4818">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4822">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4823">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4826">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4829">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4832">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4836">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4839">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4819">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4820">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4821">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4822">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4825">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4826">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4827">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4830">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4835">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4836">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4837">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e4840">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4844">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4847">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4841">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4842">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4845">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4846">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> <li><a href="#d2e4848">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4856">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4857">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4849">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4852">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4853">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4856">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4857">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e4861">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4864">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4865">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4869">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4870">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4874">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4875">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4879">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4880">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4883">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4886">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4889">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4901"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4905"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4912">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4917"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4921"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4928">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4934">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4939">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4944">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4945">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4946">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4947">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4948">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4951">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4952">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4955">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4960">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4961">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4964">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4965">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4968">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e4969">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e4971">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4972">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4977">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4978">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4979">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4980">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4981">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4984">application/json<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} "></abbr></a></li> - <li><a href="#d2e4986">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4989">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4994">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4995">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4996">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4999">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5000">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5001">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5004">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5005">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5007">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5008">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5011">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5012">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5015">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5016">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5021">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5022">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5026">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5035">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5057">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - <li><a href="#d2e5070"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5076"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5095">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e5108"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5114"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5133">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e5146"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5152"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5159">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5166">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e5179"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5185"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5207">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - <li><a href="#d2e5220"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5226"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5237">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5250">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e5263"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5269"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5276">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e5277">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e5281">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e5294"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5300"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5319">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - <li><a href="#d2e5332"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5338"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5351">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5357"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5364">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5370">application/json, application/xml<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="#d2e5383">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5384">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5388">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5394"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5403">application/json, application/xml<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="#d2e5425">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5431"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5442">text/plain<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="#d2e5447">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5455">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> - <li><a href="#d2e5456">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> - <li><a href="#d2e5460">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5473"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5479">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5500">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>)</a></li> - <li><a href="#d2e5513"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5524">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> - <li><a href="#d2e5525">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> - <li><a href="#d2e5529">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>)</a></li> - <li><a href="#d2e5542"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5548"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5554">application/xml, application/json (<abbr title="{http://www.example.com} errorVO">ns3:errorVO</abbr>)</a></li> - <li><a href="#d2e5570"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5576"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5582"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5595">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5608"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5614"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5627">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5633"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5642">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5648"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5657">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></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="#d2e5678"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5684"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5697">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5710"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5716"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5723">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> - <li><a href="#d2e5724">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> - <li><a href="#d2e5728">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5741"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5747"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5760">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5773"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5779"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5786">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> - <li><a href="#d2e5787">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> - <li><a href="#d2e5791">application/xml, application/json<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="#d2e5810"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5816">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5817">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5828">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5841"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5847"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5854">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> - <li><a href="#d2e5855">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> - <li><a href="#d2e5859">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5872"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5878"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5890">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5896"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5906">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5927">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>)</a></li> - <li><a href="#d2e5940"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5948">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5949">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5950">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5951">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5952">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5955">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5956">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5959">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5964">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5965">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5968">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5969">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5972">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5973">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5975">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5976">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4866">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4867">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4878">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e4891"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4897"><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="#d2e4942">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4949">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e4962"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4968"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4987">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5000"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5006"><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} messageVOes">ns3:messageVOes</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="#d2e5058">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5071">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5084"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5090"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5109">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5122"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5128"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5135">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e5136">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e5140">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5153"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5159"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5172">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5178"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5187">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5193"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5200">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e5201">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e5205">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5211"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5218">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5224">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5230"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5246">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5252"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5262">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5263">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5267">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e5268">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e5270">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5271">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5274">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5275">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e5276">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e5278">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5279">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5287">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5288">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5291">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5292">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5294">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5295">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5298">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5299">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="#d2e5313">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e5327">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e5328">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e5332">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e5346">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e5347">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e5351">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e5371">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e5385">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="#d2e5390">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e5408"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5422">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> + <li><a href="#d2e5436">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> + <li><a href="#d2e5437">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> + <li><a href="#d2e5441">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> + <li><a href="#d2e5455">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> + <li><a href="#d2e5456">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> + <li><a href="#d2e5460">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>)</a></li> + <li><a href="#d2e5478"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5484">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5485">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5488">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e5489">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e5491">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5492">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5495">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5496">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e5497">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e5499">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5500">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5504">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5505">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5508">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5509">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e5510">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e5512">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5513">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5517">*/*<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="#d2e5526">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5529">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5530">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5535">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5538">*/*<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="#d2e5546">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5547">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5551">*/*<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="#d2e5558">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5559">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5573">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5579"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5586">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5587">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5591">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5592">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5596">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5597">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5601">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5606">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5607">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5612">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5613">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5616">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5619">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5622">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5627">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5628">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5632">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5633">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5638">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5642">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5643">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5647">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5648">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5652">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5653">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5657">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5658">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5662">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5663">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5667">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5668">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5672">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5673">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5677">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5678">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5682">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5683">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5687">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5688">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5692">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5693">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5696">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5699">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5702">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5706">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5709">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5710">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5714">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5717">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5718">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5726">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5727">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5731">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5735">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5739">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5740">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5744">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5745">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5749">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5750">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5753">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5756">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5759">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5772">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5779">application/pdf<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="#d2e5791"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5796">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5813"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5819"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5825"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5831"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5840"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5846"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5852"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5858">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5862">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5867">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5874">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5875">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5880">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5881">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5892">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5893">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5896">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5897">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5900">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5901">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5910">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5911">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5915">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5920">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5921">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5924">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> + <li><a href="#d2e5925">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> + <li><a href="#d2e5927">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5928">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5931">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5932">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5935">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5936">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5941">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5942">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5945">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5946">application/json<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="#d2e5957">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5963">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5966">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5971">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5972">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5977">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5980">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e5981">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5982">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5983">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5984">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5985">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5988">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5989">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5990">*/*<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="#d2e5998">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5999">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5986">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5987">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5990">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5991">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5993">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e6000">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6003">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6004">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6005">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6008">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6009">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6011">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6012">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6003">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6008">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6009">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6011">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6014">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e6015">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6016">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6019">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6020">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6025">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6026">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6030">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6034">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6035">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6036">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6037">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6038">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6041">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6042">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6045">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6050">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6051">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6054">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6055">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6058">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6059">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6061">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6062">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6067">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6068">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6069">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6070">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6020">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6021">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6024">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e6025">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e6027">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6028">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6031">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6032">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e6033">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e6035">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6036">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6040">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6041">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6044">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6045">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e6046">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e6048">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6049">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6053">*/*<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="#d2e6062">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6065">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6066">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e6071">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6074">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6075">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6076">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6079">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6084">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6085">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6086">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6089">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6090">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6091">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6094">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6095">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6097">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6098">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6101">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6102">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6105">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6106">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6111">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6112">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6116">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6121">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6122">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6123">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6124">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6125">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6128">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6129">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6132">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6137">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6138">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6141">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6142">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6145">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6146">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6148">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6149">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6154">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6155">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6156">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6157">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6158">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6161">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6162">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6163">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6166">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6171">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6172">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6173">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6176">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6177">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6178">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6181">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6182">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6184">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6185">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6188">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6189">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6192">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6193">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6198">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6199">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6203">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6220">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> - <li><a href="#d2e6233"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6250">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> - <li><a href="#d2e6263"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6280">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> - <li><a href="#d2e6293"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6305">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6306">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6315">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6316">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6325">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6326">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6074">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6078">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6082">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6083">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6087">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6090">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6099">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6100">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6104">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6117"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6124">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6130">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6131">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6137">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6138">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6143">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6144">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6156">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6157">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6163">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6164">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6169">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6180">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6181">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6184">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6185">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6188">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6189">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6202">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6203">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6209">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6218">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6219">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6224">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6235">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6236">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6249">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6250">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6256">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6264">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6265">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6270">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6280">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6281">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6293">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6294">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6300">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6307">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6308">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6314">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6323">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6324">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e6335">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e6336">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6343">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6344">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6349">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6350">application/json<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> - <li><a href="#d2e6372">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6373">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6377">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6383">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6384">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6389">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6390">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6402">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6403">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6409">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6410">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6415">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6426">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6427">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6430">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6431">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6434">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6435">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6448">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6449">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6455">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6342">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6350">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6351">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6365">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6366">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6378">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6379">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6385">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6393">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6394">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6408">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6409">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6421">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6422">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6428">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6436">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6437">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6451">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6452">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e6464">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e6465">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6470">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6481">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6482">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6495">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6496">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6502">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6510">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6511">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6516">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6526">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6527">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6539">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6540">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6546">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6471">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6479">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6480">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6494">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6495">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6507">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6508">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6514">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6515">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6518">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6519">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e6553">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> <li><a href="#d2e6554">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6560">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6569">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6570">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6581">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6582">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6588">application/x-www-form-urlencoded<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="#d2e6611">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6612">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6624">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6625">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6631">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6639">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6640">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6654">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6655">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="#d2e6674">application/x-www-form-urlencoded<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="#d2e6697">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6698">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6710">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6711">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6717">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6725">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6726">application/json<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="#d2e6753">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6754">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6760">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6761">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6764">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6765">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6799">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6800">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6831">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6832">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6835">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6836">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6851">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6852">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6863">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="#d2e6867">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6868">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6893">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6894">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6916">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6917">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6920">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6921">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6585">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6586">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6589">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6590">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6605">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6606">application/json<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="#d2e6621">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6622">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="#d2e6670">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6671">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6674">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6675">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6687">application/xml, application/json (<abbr title="{http://www.example.com} forumVOes">ns3:forumVOes</abbr>)</a></li> + <li><a href="#d2e6700"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6706"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6713">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6727">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e6740"><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="#d2e6766">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e6779"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6785"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6801">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e6814"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6820"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6849">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6862"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6868"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6897">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e6910"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6916"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6930">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e6943"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6949"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6968">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e6981"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6987"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6994">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7001">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e7014"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7020"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7039">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e7052"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7058"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7080">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e7093"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7099"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7110">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7123">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e7136"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7142"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7161">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e7174"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7180"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7187">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e7188">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e7192">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e7205"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7211"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7224">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7230"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7239">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7245"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7252">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7253">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7257">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7263"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7270">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7276">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7282"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7298">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7304"><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/{courseId}/elements/folder<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">&downloadExpertRules</span><span class="optional">&uploadExpertRules</span></h3> - <p>Description:<br> + <h3 id="d2e2">/pwchange<span class="optional">?identityKey</span></h3> + <p>Webservice to create a temporary key to change the password - <P> - Initial Date: 6 févr. 2012 <br> + Initial date: 15.10.2013<br> </p> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <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="#d2e9">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e10">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e11">/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="#d2e14">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e15">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e16">/catalog/{path:.*}/children<span class="optional">?start</span><span class="optional">&limit</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -1906,23 +2008,18 @@ </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><strong>path</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#attachFolder">PUT</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#getChildren">GET</h4> <h6>request query parameters</h6> <table> <tr> @@ -1932,151 +2029,101 @@ </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> + <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> - </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> + <td></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> + <p><strong>limit</strong></p> </td> <td> - <p>The rules to upload files (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> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e39">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e23">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e24">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e25">/catalog/{path:.*}/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>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>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="#d2e52"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e58"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e30">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <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="#d2e67">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="#d2e80"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#addOwner">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e86"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e33">*/*<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="#d2e93">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="#d2e121">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#removeOwner">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e134"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e36">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e37">/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="#d2e140"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e40">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e143">/repo/courses/{courseId}/elements/folder/{nodeId}</h3> + <h3 id="d2e41">/catalog/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2086,80 +2133,186 @@ </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> + <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 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> + <h4 id="http://www.example.com#getCatalogEntry">GET</h4> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e154">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e45">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e46">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> + <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>type</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>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> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e176">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e54">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e55">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="#d2e58">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e59">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="#d2e189"><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> + </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="#d2e65">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="#d2e195"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e70">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e71">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#getFolder">GET</h4> - <p>Retrieves metadata of the course node</p> + <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="#d2e75">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e76">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="#d2e204">application/xml, application/json (<abbr title="{http://www.example.com} folderVO">ns3:folderVO</abbr>)</a></li> + <li><a href="#d2e78">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e79">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>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="#d2e217"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e86">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e87">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="#d2e223"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e90">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e91">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e226">/repo/courses/{courseId}/elements/folder/{nodeId}/files</h3> + <h3 id="d2e92">/catalog/{path:.*}/owners</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2169,27 +2322,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> - </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>path</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -2200,61 +2333,48 @@ <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="#d2e231">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e232">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e233">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e234">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e235">*/*<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="#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> - </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="#d2e242">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="#d2e247">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e248">application/xml<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> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e98">/api</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e99">/api/version</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#putFileToRoot">PUT</h4> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e251">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e252">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e102">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e103">/api/doc</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#putFile64VOToRoot">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e255">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e256">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getHtmlDoc">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e258">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e259">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e106">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e260">/repo/courses/{courseId}/elements/folder/{nodeId}/files/{path:.*}</h3> + <h3 id="d2e107">/api/doc/{filename}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2264,36 +2384,37 @@ </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><strong>filename</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#getImage1">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e111">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e112">/api/{filename}</h3> + <h6>resource-wide template parameters</h6> + <table> <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> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>path</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> @@ -2304,80 +2425,96 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#listFiles">GET</h4> + <h4 id="http://www.example.com#getImage2">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e264">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e265">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e266">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e267">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e268">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e116">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e117">/api/copyright</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#postFileToFolder">POST</h4> + <h4 id="http://www.example.com#getCopyrightXhtml">GET</h4> <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> - <li><a href="#d2e273">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e120">application/xhtml+xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e121">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#postFile64ToFolder">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e276">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getCopyrightPlainText">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e281">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e282">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e283">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e124">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e125">/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#putFileToFolder">PUT</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="#d2e286">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e287">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e288">*/*<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="#d2e291">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e292">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e136"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e294">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e295">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e140"><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#registerPost">POST</h4> + <p>Register with the specified email</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e147">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="#d2e298">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e299">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e152"><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="#d2e302">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e303">application/xml<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> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e304">/repo/courses/{courseId}/elements/folder/{nodeId}/files/metadata/{path:.*}</h3> + <h3 id="d2e159">/repo/courses/{courseId}/assessments</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2392,52 +2529,23 @@ <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></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#getFileMetadata">GET</h4> + <h4 id="http://www.example.com#getCourseResults">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e308">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e309">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e163">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e164">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e310">/repo/courses/{courseId}/elements/folder/{nodeId}/files/version</h3> + <h3 id="d2e165">/repo/courses/{courseId}/assessments/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2452,26 +2560,6 @@ <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></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> @@ -2481,13 +2569,13 @@ <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e313">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e168">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e314">/users/{identityKey}/calendars</h3> + <h3 id="d2e169">/repo/courses/{courseId}/assessments/users/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2497,35 +2585,13 @@ </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> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getCalendars">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e318">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e319">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e320">/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> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> <tr> <td> <p><strong>identityKey</strong></p> @@ -2537,7 +2603,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> @@ -2548,56 +2614,17 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <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> + <h4 id="http://www.example.com#getCourseResultsOf">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e328">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e329">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e174">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e175">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e330">/users/{identityKey}/calendars/{calendarId}</h3> - <p>Initial date: 23.12.2015<br></p> + <h3 id="d2e176">/repo/courses/{courseId}/assessments/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2607,7 +2634,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> @@ -2616,28 +2643,49 @@ </tr> <tr> <td> - <p><strong>calendarId</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>identityKey</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> + <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="#d2e181">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e182">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="#d2e185">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>)</a></li> + <li><a href="#d2e186">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="#d2e188">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> </div> <div class="resource"> - <h3 id="d2e335">/users/{identityKey}/calendars/{calendarId}/events<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&onlyFuture</span></h3> + <h3 id="d2e189">/repo/courses/{courseId}/assessments/{nodeId}/users/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2645,6 +2693,15 @@ <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> @@ -2656,16 +2713,16 @@ </tr> <tr> <td> - <p><strong>calendarId</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>identityKey</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> @@ -2676,81 +2733,88 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <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> + <h4 id="http://www.example.com#getCourseNodeResultsForNode">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e342">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e343">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e195">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e196">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e197">/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#putEventsByCalendar">PUT</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="#d2e346">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e347">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e207">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> + <li><a href="#d2e208">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="#d2e212">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="#d2e225"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e231"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e237"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e349">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e350">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e243"><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> + <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="#d2e250">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="#d2e353">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e354">application/json<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="#d2e356">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e357">application/json<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> </div> <div class="resource"> - <h3 id="d2e358">/users/{identityKey}/calendars/{calendarId}/events/{eventId}</h3> + <h3 id="d2e268">/users/{username}/auth/{authKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2760,55 +2824,60 @@ </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><strong>username</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>calendarId</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 username of the user to retrieve authentication</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <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></td> + <td> + <p>The authentication key identifier</p> + </td> </tr> <tr> <td> - <p><strong>eventId</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#deleteEventByCalendar">DELETE</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="#d2e281"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e287"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e362">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e363">application/json<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> </div> <div class="resource"> - <h3 id="d2e364">/users/{identityKey}/calendars/{calendarId}/event</h3> + <h3 id="d2e296">/users/{username}/auth/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -2818,69 +2887,122 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <p><strong>username</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> + <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#getVersion">GET</h4> + <p>The version of the User Authentication Web Service</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e303">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e313">/users/{username}/auth/password</h3> + <h6>resource-wide template parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>calendarId</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>identityKey</strong></p> + <p><strong>username</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 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#putEventByCalendar">PUT</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="#d2e367">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e368">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e321">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="#d2e370">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e371">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e328"><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> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e374">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e375">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e376">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e334"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e378">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e379">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e340"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e346"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e380">/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> + <h3 id="d2e349">/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> + </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#getCourseList">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> @@ -2890,266 +3012,147 @@ </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> + <p>The node's id which will be the parent of this structure</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> + <td> + <p>The node's position relative to its sibling nodes (optional)</p> + </td> </tr> <tr> <td> - <p><strong>managed</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> + <p>The node short title</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>externalId</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> + <p>Default: <tt>undefined</tt></p> + </td> + <td> + <p>The node long title</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>externalRef</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> + <p>Default: <tt>undefined</tt></p> + </td> + <td> + <p>The node learning objectives</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>repositoryEntryKey</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> </td> - <td></td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e390">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e391">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#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> + <td> + <p>The rules to view the node (optional)</p> + </td> </tr> <tr> <td> - <p><strong>displayName</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> </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> + <p>The rules to access the node (optional)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>softKey</strong></p> + <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></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> + <p>A list of learning groups (list of keys)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>membersOnly</strong></p> + <p><strong>cancelEnabled</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> + <p>Default: <tt>false</tt></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>cancel enrollment enabled or not</p> </td> - <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e412">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e413">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e389">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="#d2e402"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e408"><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> + <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="#d2e416">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> - <li><a href="#d2e417">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> + <li><a href="#d2e415">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="#d2e419">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e420">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e446">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#importCourse">POST</h4> <p><em>available response representations:</em></p> <ul> - <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="#d2e459"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e425">/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="#d2e428">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e465"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e429">/repo/courses/{courseId}</h3> + <h3 id="d2e468">/repo/courses/{courseId}/elements/enrollment/{nodeId}/groups</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3164,37 +3167,9 @@ <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#deleteCourse">DELETE</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e433">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e434">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#findById">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e437">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e438">application/json<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}/configuration</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> + <td> + <p>The course resourceable's id</p> + </td> </tr> <tr> <td> @@ -3207,10 +3182,10 @@ </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> @@ -3218,29 +3193,43 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getConfiguration">GET</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="#d2e443">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e444">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e477">application/xml, application/json (<abbr title="{http://www.example.com} groupVO">ns3:groupVO</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="#d2e447">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e490"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <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> + <li><a href="#d2e496"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e499">/repo/courses/{courseId}/resourcefolders</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e500">/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="#d2e503">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e457">/repo/courses/{courseId}/tutors/{identityKey}</h3> + <h3 id="d2e504">/repo/courses/{courseId}/resourcefolders/sharedfolder/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3250,16 +3239,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>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> @@ -3270,16 +3259,19 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addCoach">PUT</h4> + <h4 id="http://www.example.com#getSharedFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e461">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e509">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e510">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e511">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e512">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e462">/repo/courses/{courseId}/file</h3> + <h3 id="d2e513">/repo/courses/{courseId}/resourcefolders/sharedfolder</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3300,17 +3292,16 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getRepoFileById">GET</h4> + <h4 id="http://www.example.com#getSharedFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e465">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e466">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e517">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e467">/repo/courses/{courseId}/status</h3> + <h3 id="d2e518">/repo/courses/{courseId}/resourcefolders/coursefolder/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3318,6 +3309,15 @@ <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> @@ -3331,21 +3331,33 @@ <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> + <h4 id="http://www.example.com#getCourseFiles">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e523">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e524">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e525">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e526">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="#d2e470">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e529">*/*<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="#d2e473">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e474">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e532">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e475">/repo/courses/{courseId}/runstructure</h3> + <h3 id="d2e533">/repo/courses/{courseId}/resourcefolders/coursefolder</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3366,46 +3378,36 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#findRunStructureById">GET</h4> + <h4 id="http://www.example.com#getCourseFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e478">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e537">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e479">/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#findEditorTreeModelById">GET</h4> + <h4 id="http://www.example.com#attachFileToFolderPost">POST</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e540">*/*<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="#d2e482">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e543">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e483">/repo/courses/{courseId}/authors/{identityKey}</h3> + <h3 id="d2e544">/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> @@ -3422,45 +3424,231 @@ </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> + <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="#d2e487">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e488">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e598">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="#d2e611"><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="#d2e491">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e617"><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#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="#d2e624">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="#d2e647">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="#d2e660"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e494">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e495">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e666"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e496">/repo/courses/{courseId}/authors</h3> + <h3 id="d2e669">/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="d2e672">/repo/courses/{courseId}/db/{category}/values/{name}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3470,46 +3658,25 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>name</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 key value pair</p> </td> - <td></td> </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#addAuthors">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e499">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e500">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="#d2e502">*/*<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="#d2e505">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e506">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e508">/repo/courses/{courseId}/tutors</h3> - <h6>resource-wide template parameters</h6> - <table> <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> + <td> + <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> + <p>The name of the database</p> + </td> </tr> <tr> <td> @@ -3518,78 +3685,96 @@ <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#addCoaches">PUT</h4> - <p><em>acceptable request representations:</em></p> + <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="#d2e511">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e512">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e686">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="#d2e514">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#getTutors">GET</h4> + <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="#d2e517">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e518">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e708"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e519">/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#getParticipants">GET</h4> + <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="#d2e522">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e523">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e715">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="#d2e726"><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> + <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="#d2e526">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e527">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e733">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="#d2e529">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e738"><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="#d2e745"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e749"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e753"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e530">/repo/courses/{courseId}/participants/{identityKey}</h3> + <h3 id="d2e756">/repo/courses/{courseId}/db/{category}/values</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3599,66 +3784,81 @@ </tr> <tr> <td> - <p><strong>courseId</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>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> + <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#addParticipant">PUT</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="#d2e767">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#putValues">PUT</h4> + <p>Put a new value for an authenticated user.</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e781">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e782">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="#d2e784"><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="#d2e791">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e792">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="#d2e534">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e794"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e535">/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> + <h3 id="d2e797">/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="#d2e538">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e802">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e539">/repo/courses/{courseId}/resource</h3> + <h3 id="d2e812">/repo/courses/{courseId}/db/{category}/values/{name}/delete</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3666,6 +3866,28 @@ <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> + <p>The name of the key value pair</p> + </td> + </tr> + <tr> + <td> + <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> + <p>The name of the database</p> + </td> + </tr> <tr> <td> <p><strong>courseId</strong></p> @@ -3673,44 +3895,72 @@ <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#getOlatResource">GET</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="#d2e826"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e830"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e542">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e543">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e834"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e544">/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> + <h3 id="d2e837">/users</h3> + <p>This web service handles functionalities related to <code>User</code>.</p> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#publishCourse">POST</h4> + <h4 id="http://www.example.com#create">PUT</h4> + <p>Creates and persists a new user entity</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e844">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> + <li><a href="#d2e845">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="#d2e849">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="#d2e862"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e868">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#getUserListQuery">GET</h4> + <p>Search users and return them in a simple form (without user properties). User properties + can be added two the query parameters. If the authUsername and the authProvider are set, + the search is made only with these two parameters because they are sufficient to return + a single user.<br> + The search with login and user properties are made default with wild cards. If an exact + match is needed, the parameter msut be quoted:<br> + users?login="username"<br> + Don't forget the right escaping in the URL!<br> + You can make a search with the user properties like this:<br> + users?telMobile=39847592&login=test + <br >/ The lookup is possible for authors, usermanagers and system administrators. Normal + users are not allowed to use the lookup service. + </p> <h6>request query parameters</h6> <table> <tr> @@ -3720,7 +3970,7 @@ </tr> <tr> <td> - <p><strong>locale</strong></p> + <p><strong>login</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -3729,33 +3979,45 @@ </tr> <tr> <td> - <p><strong>access</strong></p> + <p><strong>authProvider</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/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>membersOnly</strong></p> + <p><strong>authUsername</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> </td> <td></td> </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e551">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e552">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> + <tr> + <td> + <p><strong>statusVisibleLimit</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="#d2e889">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="#d2e902"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> <div class="resource"> - <h3 id="d2e553">/repo/courses/{courseId}/groups</h3> + <h3 id="d2e905">/users/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3765,41 +4027,99 @@ </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> + <td> + <p>The user 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#getGroupList">GET</h4> + <h4 id="http://www.example.com#update">POST</h4> + <p>Update an user</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e913">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> + <li><a href="#d2e914">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="#d2e918">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="#d2e931"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e937"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e556">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e557">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e943">application/xml, application/json (<abbr title="{http://www.example.com} errorVO">ns3:errorVO</abbr>)</a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#putNewGroup">PUT</h4> - <p><em>acceptable request representations:</em></p> + <h4 id="http://www.example.com#delete">DELETE</h4> + <p>Delete an user from the system</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e959"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e965"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e971"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#findById">GET</h4> + <p>Retrieves an user given its unique key identifier</p> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>withPortrait</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>If true return the portrait as Base64 (default false)</p> + </td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e984">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="#d2e560">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e561">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e997"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e563">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e564">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1003"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e565">/repo/courses/{courseId}/groups/{groupKey}</h3> + <h3 id="d2e1006">/users/{identityKey}/status</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3809,54 +4129,66 @@ </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> - <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> + <p>The user key identifier 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#getGroup">GET</h4> + <h4 id="http://www.example.com#getStatus">GET</h4> + <p>Retrieves the status of a user given its unique key identifier</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e569">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1016">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="#d2e1029"><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="#d2e572">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1035"><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> + <h4 id="http://www.example.com#updateStatus">POST</h4> + <p>Update the roles of a user given its unique key identifier: + <ul> + <li>1: Permanent user</li> + <li>2: activ</li> + <li>101: login denied</li> + <li>199: deleted</li> + </ul> + </p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e575">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e1042">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> + <li><a href="#d2e1043">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="#d2e1047">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="#d2e1060"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e577">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1066"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e578">/repo/courses/{courseId}/groups/version</h3> + <h3 id="d2e1069">/users/{identityKey}/roles</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3866,27 +4198,73 @@ </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> + <td> + <p>The user 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#getRoles">GET</h4> + <p>Retrieves the roles of a user given its unique key identifier</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1079">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="#d2e1092"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1098"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#updateRoles">POST</h4> + <p>Update the roles of a user given its unique key identifier</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e1105">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> + <li><a href="#d2e1106">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="#d2e1110">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="#d2e1123"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1129"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e1132">/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="#d2e581">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1139">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e582">/repo/courses/{courseId}/groups/{groupKey}/folder</h3> + <h3 id="d2e1149">/users/{identityKey}/portrait</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3896,81 +4274,88 @@ </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> - <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> + <p>The identity key identifier 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#listFiles">GET</h4> + <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="#d2e586">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e587">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e588">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e589">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e590">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1159">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#postFileToRoot">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e593">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e594">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1165"><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#getPortraitHead">HEAD</h4> + <p>Retrieves the portrait of an user</p> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e597">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1174">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="#d2e602">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e603">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1180"><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#postPortrait">POST</h4> + <p>Upload the portrait of an user</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1189">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="#d2e1195"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e606">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e607">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1201"><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#deletePortrait">DELETE</h4> + <p>Deletes the portrait of an user</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1210"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e610">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e611">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1216"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e1219">/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="#d2e613">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e614">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1222">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1223">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e615">/repo/courses/{courseId}/groups/{groupKey}/folder/{path:.*}</h3> + <h3 id="d2e1224">/users/{identityKey}/preferences</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -3980,109 +4365,59 @@ </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> + <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>The user key identifier 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#listFiles">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e619">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e620">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e621">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e622">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e623">*/*<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#getUserPreferences">GET</h4> + <p>Retrieves the preferences of a user given its unique key identifier</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e626">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e627">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e628">*/*<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="#d2e631">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1234">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="#d2e636">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e638">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1247"><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="#d2e641">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e642">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e643">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1253"><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#updatePreferences">POST</h4> + <p>Update the preferences of a user given its unique key identifier</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e646">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e647">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1260">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> + <li><a href="#d2e1261">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="#d2e649">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e650">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1265">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="#d2e653">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e654">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1278"><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="#d2e657">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e658">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1284"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e659">/repo/courses/{courseId}/groups/{groupKey}/folder/metadata/{path:.*}</h3> + <h3 id="d2e1287">/users/{identityKey}/portrait/{size}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4092,46 +4427,46 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>size</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>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> - </td> - <td></td> - </tr> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFileMetadata">GET</h4> + <h4 id="http://www.example.com#getOriginalPortraitHead">HEAD</h4> + <p>Retrieves the portrait of an user</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1296">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="#d2e663">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e664">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1302"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e665">/repo/courses/{courseId}/groups/{groupKey}/folder/version</h3> + <h3 id="d2e1306">/users/{identityKey}/folders</h3> + <p>Description:<br> + + <P> + Initial Date: 16 déc. 2011 <br> + </p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4141,16 +4476,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>groupKey</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> @@ -4161,22 +4487,24 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <h4 id="http://www.example.com#getFolders">GET</h4> + <p>Retrieves a list of folders on a user base. All folders of groups + where the user is participant/tutor + all folders in course where + the user is a participant (owner, tutor or participant) + </p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1316">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="#d2e668">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1329"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e669">/repo/courses/{courseId}/groups/{groupKey}/forum</h3> - <p>Description:<br> - Web service to manage a forum. - - <P> - Initial Date: 20 apr. 2010 <br> - </p> + <h3 id="d2e1332">/users/{identityKey}/folders/personal</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4186,16 +4514,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>groupKey</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> @@ -4206,25 +4525,61 @@ <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="#d2e1335">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1336">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1337">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1338">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1339">*/*<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="#d2e1342">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1343">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="#d2e1346">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="#d2e679">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e1351">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1352">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="#d2e692"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1355">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1356">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="#d2e1359">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1360">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="#d2e698"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1362">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1363">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e701">/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="d2e1364">/users/{identityKey}/folders/personal/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4234,7 +4589,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> @@ -4243,10 +4598,10 @@ </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> @@ -4254,154 +4609,80 @@ <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="#d2e717">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e730"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1368">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1369">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1370">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1371">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1372">*/*<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="#d2e736"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1375">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1376">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1377">*/*<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> + <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e755">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e1380">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="#d2e768"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1385">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1386">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1387">*/*<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="#d2e774"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1390">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1391">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1392">*/*<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> + <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e781">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1395">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1396">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="#d2e788">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e1398">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1399">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="#d2e801"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1402">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1403">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="#d2e807"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1406">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1407">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e810">/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> + <h3 id="d2e1408">/users/{identityKey}/folders/personal/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4411,16 +4692,37 @@ </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#getVersion">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1411">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e1412">/users/{identityKey}/folders/personal/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>groupKey</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> @@ -4429,90 +4731,28 @@ </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> + <p><strong>path</strong></p> </td> <td> - <p>The key of the thread</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#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="#d2e829">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="#d2e842"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getFileMetadata">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e848"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1416">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1417">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e851">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}</h3> + <h3 id="d2e1418">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4522,7 +4762,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> @@ -4531,7 +4771,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> @@ -4540,120 +4780,72 @@ </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>courseNodeId</strong></p> </td> <td> - <p>The id of the reply 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#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="#d2e859">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="#d2e872">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e885"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1423">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1424">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1425">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1426">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1427">*/*<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="#d2e891"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1430">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1431">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#replyToPost">PUT</h4> - <p>Creates a new reply in the forum of the course node</p> + <h4 id="http://www.example.com#postFile64ToRoot">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e898">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e899">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="#d2e903">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e1434">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="#d2e916"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e922"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1439">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1440">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#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> + <h4 id="http://www.example.com#putFileToRoot">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e941">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e1443">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1444">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="#d2e954"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1447">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1448">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="#d2e960"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1450">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1451">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e963">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments</h3> + <h3 id="d2e1452">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4663,7 +4855,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> @@ -4672,7 +4864,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> @@ -4681,88 +4873,100 @@ </tr> <tr> <td> - <p><strong>messageKey</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> + <tr> <td> - <p>The key of the message</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> </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> + <h4 id="http://www.example.com#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e973">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1456">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1457">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1458">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1459">application/octet-stream<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> </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="#d2e979"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1463">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1464">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1465">*/*<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#postFile64ToFolder">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e986">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1468">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="#d2e992">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1473">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1474">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1475">*/*<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="#d2e998"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1478">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1479">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1480">*/*<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#putFile64ToFolder">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1005">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1006">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="#d2e1010">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1483">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1484">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="#d2e1016"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1486">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1487">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#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#putFolders">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1025">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1490">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1491">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="#d2e1031"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1494">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1495">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1034">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</h3> + <h3 id="d2e1496">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4772,7 +4976,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> @@ -4781,7 +4985,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> @@ -4790,46 +4994,27 @@ </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> + <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> - <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="#d2e1047">application/octet-stream<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="#d2e1053"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1499">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1056">/repo/courses/{courseId}/calendar</h3> - <p>Initial date: 23.12.2015<br></p> + <h3 id="d2e1500">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/metadata/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4839,19 +5024,55 @@ </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> + <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> + <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> + <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="#d2e1504">application/json<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} "></abbr></a></li> + </ul> + </div> + </div> </div> <div class="resource"> - <h3 id="d2e1059">/repo/courses/{courseId}/calendar/events<span class="optional">?start</span><span class="optional">&limit</span><span class="optional">&onlyFuture</span></h3> + <h3 id="d2e1506">/users/{identityKey}/folders/group/{groupKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4861,92 +5082,81 @@ </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#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> + <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#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <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="#d2e1510">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1511">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1512">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1513">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1514">*/*<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> + <h4 id="http://www.example.com#postFileToRoot">POST</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1517">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1518">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="#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="#d2e1521">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="#d2e1073">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1074">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1526">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1527">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#postEventsByCalendar">POST</h4> + <h4 id="http://www.example.com#putFileToRoot">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e1530">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1531">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="#d2e1077">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1078">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1534">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1535">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="#d2e1080">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1081">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1537">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1538">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1082">/repo/courses/{courseId}/calendar/events/{eventId}</h3> + <h3 id="d2e1539">/users/{identityKey}/folders/group/{groupKey}/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -4956,7 +5166,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> @@ -4965,41 +5175,19 @@ </tr> <tr> <td> - <p><strong>eventId</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> - </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="#d2e1086">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1087">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1088">/repo/courses/{courseId}/calendar/event</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>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> @@ -5007,103 +5195,80 @@ <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> + <h4 id="http://www.example.com#listFiles">GET</h4> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1091">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e1092">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e1543">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1544">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1545">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1546">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1547">*/*<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="#d2e1094">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1095">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1550">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1551">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1552">*/*<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#postFile64ToFolder">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1098">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1099">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> - <li><a href="#d2e1100">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e1555">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="#d2e1102">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1103">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1560">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1561">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1562">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1104">/repo/courses/{courseId}/vitero/{subIdentifier}</h3> - <p>Initial date: 14.07.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> - <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#getRooms">GET</h4> - <p>returns the list of booking of the resource.</p> + <h4 id="http://www.example.com#putFileToFolder">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1114">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1565">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1566">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1567">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></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> + <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1128">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1129">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1570">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e1571">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="#d2e1133">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1573">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1574">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#updateRoom">POST</h4> - <p>Return the created or updated booking</p> - <p><em>acceptable request representations:</em></p> + <h4 id="http://www.example.com#putFolders">PUT</h4> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1147">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1148">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1577">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1578">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="#d2e1152">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1581">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1582">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1162">/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}/members</h3> + <h3 id="d2e1583">/users/{identityKey}/folders/group/{groupKey}/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5113,7 +5278,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> @@ -5122,54 +5287,27 @@ </tr> <tr> <td> - <p><strong>subIdentifier</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>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> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1172">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</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="#d2e1186">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1187">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><em>available response representations:</em></p> <ul> - <li><a href="#d2e1191">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e1586">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1201">/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}</h3> + <h3 id="d2e1587">/users/{identityKey}/folders/group/{groupKey}/metadata/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5179,7 +5317,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> @@ -5188,19 +5326,19 @@ </tr> <tr> <td> - <p><strong>subIdentifier</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>bookingId</strong></p> + <p><strong>path</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/#string">string</a></em></p> </td> <td></td> </tr> @@ -5208,18 +5346,17 @@ <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#getFileMetadata">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1209"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1591">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1592">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1212">/repo/courses/{courseId}/gotomeeting/{subIdentifier}</h3> - <p>Initial date: 24.03.2016<br></p> + <h3 id="d2e1593">/users/{identityKey}/courses</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5229,28 +5366,19 @@ </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> - <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="d2e1216">/repo/courses/{courseId}/gotomeeting/{subIdentifier}/trainings</h3> + <h3 id="d2e1595">/users/{identityKey}/courses/my<span class="optional">?start</span><span class="optional">&limit</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5260,170 +5388,64 @@ </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> - <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#getTrainings">GET</h4> - <p>returns the list of booking of the resource.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1223">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#createTraining">PUT</h4> - <p>Return the created or updated training</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1237">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - <li><a href="#d2e1238">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="#d2e1242">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#updateTraining">POST</h4> - <p>Return the created or updated training</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1256">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> - <li><a href="#d2e1257">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="#d2e1261">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="d2e1271">/repo/courses/{courseId}/gotomeeting/{subIdentifier}//trainings/{trainingKey}</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>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> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1279"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1282">/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> - <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="#d2e1285">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1286">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="#d2e1289">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e1290">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - </ul> + <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="#d2e1292">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1293">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="#d2e1296">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1297">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e1298">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e1609">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="#d2e1300">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1301">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1622"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1302">/repo/courses/{courseId}/lectureblocks/configuration</h3> + <h3 id="d2e1625">/users/{identityKey}/courses/teached<span class="optional">?start</span><span class="optional">&limit</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5433,7 +5455,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> @@ -5444,31 +5466,53 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getConfiguration">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> + <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="#d2e1305">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1306">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="#d2e1309">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1310">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - <li><a href="#d2e1311">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e1639">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="#d2e1313">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1314">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1652"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1315">/repo/courses/{courseId}/lectureblocks/sync/calendar</h3> + <h3 id="d2e1655">/users/{identityKey}/courses/favorite<span class="optional">?start</span><span class="optional">&limit</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5478,7 +5522,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> @@ -5489,16 +5533,53 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#syncCalendar">POST</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> + <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="#d2e1669">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="#d2e1318">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1682"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1319">/repo/courses/{courseId}/lectureblocks/adaptation</h3> + <h3 id="d2e1685">/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> @@ -5508,7 +5589,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> @@ -5519,16 +5600,63 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#adapatation">GET</h4> + <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="#d2e1322">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1694">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1695">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1323">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}</h3> + <h3 id="d2e1696">/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> @@ -5538,16 +5666,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>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> @@ -5558,24 +5677,63 @@ <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="#d2e1327">*/*<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> + <h4 id="http://www.example.com#getOwnedGroupList">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="#d2e1330">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1331">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1704">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1705">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1332">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</h3> + <h3 id="d2e1706">/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> @@ -5585,21 +5743,80 @@ </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#getParticipatingGroupList">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="#d2e1714">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1715">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e1716">/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> - <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> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> @@ -5614,23 +5831,134 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addTeacher">PUT</h4> + <h4 id="http://www.example.com#getUserGroupInfosList">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="#d2e1336">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1724">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1725">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e1727">/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#removeTeacher">DELETE</h4> + <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> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1339">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1743">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="#d2e1756"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e1759">/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="#d2e1762">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>)</a></li> + <li><a href="#d2e1763">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="#d2e1765">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1340">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers</h3> + <h3 id="d2e1766">/notifications/subscribers/{subscriberKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5640,16 +5968,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>lectureBlockKey</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> @@ -5660,17 +5979,16 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTeacher">GET</h4> + <h4 id="http://www.example.com#unsubscribe">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1343">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1344">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1770">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1345">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</h3> + <h3 id="d2e1771">/notifications/subscribers/{ressourceName}/{ressourceId}/{subIdentifier}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5680,7 +5998,7 @@ </tr> <tr> <td> - <p><strong>courseId</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> @@ -5689,56 +6007,19 @@ </tr> <tr> <td> - <p><strong>lectureBlockKey</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> - </td> - <td></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#addRepositoryEntryParticipantGroup">PUT</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1348">*/*<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="#d2e1351">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1352">/repo/courses/{courseId}/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>courseId</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>ressourceName</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> @@ -5746,57 +6027,23 @@ <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="#d2e1355">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1356">/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#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> + <h4 id="http://www.example.com#getSubscriber">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1363">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1364">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="#d2e1778">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1365">/vitero</h3> + <h3 id="d2e1779">/vitero</h3> <p>Initial date: 06.07.2015<br></p> <h6>Methods</h6> <div class="methods"></div> </div> <div class="resource"> - <h3 id="d2e1368">/vitero/{resourceName}/{resourceId}/{subIdentifier}</h3> + <h3 id="d2e1782">/vitero/{resourceName}/{resourceId}/{subIdentifier}</h3> <p>Initial date: 14.07.2015<br></p> <h6>resource-wide template parameters</h6> <table> @@ -5840,7 +6087,7 @@ <p>returns the list of booking of the resource.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1380">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1794">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> </ul> </div> <div class="method"> @@ -5848,12 +6095,12 @@ <p>Return the created or updated booking</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1394">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1395">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1808">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1809">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="#d2e1399">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1813">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> </ul> </div> <div class="method"> @@ -5861,18 +6108,18 @@ <p>Return the created or updated booking</p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1413">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> - <li><a href="#d2e1414">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1827">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1828">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="#d2e1418">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e1832">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="d2e1428">/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}/members</h3> + <h3 id="d2e1842">/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}/members</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5926,7 +6173,7 @@ <p>Returns the list of members of the booking.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1438">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e1852">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> </ul> </div> <div class="method"> @@ -5936,18 +6183,18 @@ </p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e1452">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1453">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1866">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1867">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="#d2e1457">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> + <li><a href="#d2e1871">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="d2e1467">/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}</h3> + <h3 id="d2e1881">/vitero/{resourceName}/{resourceId}/{subIdentifier}/{bookingId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -5999,66 +6246,44 @@ <p>Delete the booking</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1475"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1889"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1478">/groups<span class="optional">?externalId</span><span class="optional">&managed</span></h3> + <h3 id="d2e1892">/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="d2e1895">/repo/forums/version</h3> <h6>Methods</h6> <div class="methods"> <div class="method"> - <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="#d2e1484">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1485">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#createGroup">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1488">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e1489">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - </ul> + <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="#d2e1491">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1492">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1900">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1493">/groups/{groupKey}</h3> + <h3 id="d2e1910">/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> @@ -6068,48 +6293,38 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <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></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#findById">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="#d2e1497">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1498">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#postGroup">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1501">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> - <li><a href="#d2e1502">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e1922">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="#d2e1504">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1505">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1935"><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="#d2e1508">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1941"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1509">/groups/{groupKey}/news</h3> + <h3 id="d2e1944">/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> @@ -6119,110 +6334,167 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <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></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#getNews">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="#d2e1513">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1960">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#postNews">POST</h4> - <p><em>acceptable request representations:</em></p> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1516">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1973"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1519">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1979"><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> + <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="#d2e1986">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="#d2e1522">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e1993">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="d2e1523">/groups/{groupKey}/configuration</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#postGroupConfiguration">POST</h4> - <p><em>acceptable request representations:</em></p> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1527">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e2006"><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> + <li><a href="#d2e2012"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1530">/groups/{groupKey}/infos</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#getInformations">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="#d2e2031">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="#d2e1534">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1535">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2044"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2050"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1536">/groups/{groupKey}/owners</h3> + <h3 id="d2e2053">/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> @@ -6232,59 +6504,101 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <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></td> - </tr> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getTutors">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1540">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1541">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1542">/groups/{groupKey}/participants</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> + <td> + <p>The key of the forum</p> + </td> </tr> <tr> <td> - <p><strong>groupKey</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> + <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#getParticipants">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="#d2e2072">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="#d2e1546">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1547">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2085"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2091"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1548">/groups/{groupKey}/owners/{identityKey}</h3> + <h3 id="d2e2094">/repo/forums/{forumKey}/posts/{messageKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6294,43 +6608,131 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <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></td> + <td> + <p>The key of the forum</p> + </td> </tr> <tr> <td> - <p><strong>groupKey</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#addTutor">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="#d2e2102">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="#d2e2115">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="#d2e2128"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1553">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2134"><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#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="#d2e2153">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="#d2e2166"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2172"><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="#d2e2179">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e2180">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="#d2e2184">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="#d2e2197"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1556">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2203"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1557">/groups/{groupKey}/participants/{identityKey}</h3> + <h3 id="d2e2206">/repo/forums/{forumKey}/posts/{messageKey}/attachments</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6340,168 +6742,99 @@ </tr> <tr> <td> - <p><strong>identityKey</strong></p> + <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></td> + <td> + <p>The key of the forum</p> + </td> </tr> <tr> <td> - <p><strong>groupKey</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#addParticipant">PUT</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1562">*/*<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#getAttachments">GET</h4> + <p>Retrieves the attachments of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1565">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2216">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="d2e1566">/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="#d2e1569">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2222"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1571">/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#exportWiki">GET</h4> - <p>will export the wiki from the current group to a CP and serve as - zip-file.<br /> + <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="#d2e1579">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1580">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1581">/groups/{groupKey}/folder</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#listFiles">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1585">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1586">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1587">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1588">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1589">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2231">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#postFileToRoot">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1592">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1593">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2237"><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#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="#d2e1596">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2244">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2245">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="#d2e1601">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1602">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2249">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#putFileToRoot">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1605">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1606">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2255"><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#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="#d2e1609">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1610">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2262">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="#d2e2268">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="#d2e1612">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1613">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2274"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1614">/groups/{groupKey}/folder/{path:.*}</h3> + <h3 id="d2e2277">/repo/forums/{forumKey}/posts/{messageKey}/attachments/{filename}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6511,140 +6844,61 @@ </tr> <tr> <td> - <p><strong>groupKey</strong></p> + <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></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>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#listFiles">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1618">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1619">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1620">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1621">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1622">*/*<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="#d2e1625">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1626">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1627">*/*<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="#d2e1630">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="#d2e1635">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1636">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1637">*/*<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="#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="#d2e1642">*/*<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="#d2e1645">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e1646">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="#d2e1648">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1649">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="#d2e1652">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1653">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="#d2e1656">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1657">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e1658">/groups/{groupKey}/folder/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>groupKey</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 identity key of the user being searched</p> + </td> </tr> <tr> <td> - <p><strong>path</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> + <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#getFileMetadata">GET</h4> + <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="#d2e2290">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="#d2e1662">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e1663">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2296"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1664">/groups/{groupKey}/folder/version</h3> + <h3 id="d2e2299">/users/{identityKey}/forums</h3> + <p>Description:<br> + + <P> + Initial Date: 6 déc. 2011 <br> + </p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6654,27 +6908,37 @@ </tr> <tr> <td> - <p><strong>groupKey</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> + <td> + <p>The key of the user (IdentityImpl)</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#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="#d2e2311">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="#d2e1667">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2324"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1668">/groups/{groupKey}/forum</h3> + <h3 id="d2e2327">/users/{identityKey}/forums/group/{groupKey}</h3> <p>Description:<br> Web service to manage a forum. @@ -6688,6 +6952,17 @@ <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> @@ -6705,21 +6980,21 @@ <p>Retrieves the forum.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1678">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e2337">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="#d2e1691"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2350"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2356"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1700">/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="d2e2359">/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> @@ -6727,6 +7002,17 @@ <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> @@ -6796,15 +7082,35 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1716">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e2375">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="#d2e2388"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2394"><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="#d2e2401">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="#d2e2408">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="#d2e1729"><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> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1735"><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"> @@ -6853,41 +7159,21 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1754">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2446">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="#d2e1767"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2459"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1773"><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="#d2e1780">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="#d2e1787">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="#d2e1800"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1806"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2465"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1809">/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="d2e2468">/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> @@ -6895,6 +7181,17 @@ <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> @@ -6975,21 +7272,21 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1828">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e2487">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="#d2e1841"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2500"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1847"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2506"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e1850">/groups/{groupKey}/forum/posts/{messageKey}</h3> + <h3 id="d2e2509">/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -6997,6 +7294,17 @@ <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> @@ -7025,40 +7333,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="#d2e1858">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="#d2e1871">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="#d2e1884"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e1890"><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="#d2e1897">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e1898">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e2517">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="#d2e1902">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2530">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="#d2e1915"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2543"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1921"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2549"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -7107,21 +7394,42 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1940">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e2568">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="#d2e2581"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1953"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2587"><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="#d2e2594">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e2595">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="#d2e2599">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="#d2e2612"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1959"><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="d2e1962">/groups/{groupKey}/forum/posts/{messageKey}/attachments</h3> + <h3 id="d2e2621">/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7129,6 +7437,17 @@ <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> @@ -7157,11 +7476,11 @@ <p>Retrieves the attachments of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e1972">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2631">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="#d2e1978"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2637"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -7170,17 +7489,13 @@ filename The name of the attachment<br> file The attachment. </p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e1985">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="#d2e1991">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2646">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="#d2e1997"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2652"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -7191,16 +7506,16 @@ </p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e2004">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2005">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2659">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e2660">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="#d2e2009">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2664">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="#d2e2015"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2670"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -7209,19 +7524,23 @@ filename The name of the attachment<br> file The attachment. </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e2677">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="#d2e2024">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2683">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="#d2e2030"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2689"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2033">/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</h3> + <h3 id="d2e2692">/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments/{filename}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7229,6 +7548,17 @@ <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> @@ -7268,28 +7598,23 @@ <p>Retrieves the attachment of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2046">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2705">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="#d2e2052"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2711"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2055">/repo/courses/{courseId}/db/{category}</h3> + <h3 id="d2e2714">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}</h3> <p>Description:<br> - Access the custom dbs of a course + Web service to manage a forum. <P> - Initial Date: *7 apr. 2010 <br> + Initial Date: 20 apr. 2010 <br> </p> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e2058">/repo/courses/{courseId}/db/{category}/values/{name}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7299,95 +7624,186 @@ </tr> <tr> <td> - <p><strong>name</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 name of the key value pair</p> + <p>The key of the user (IdentityImpl)</p> </td> </tr> <tr> <td> - <p><strong>category</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"> + <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="#d2e2725">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="#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="#d2e2744"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2747">/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> + </td> <td> - <p>The name of the database</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>courseId</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>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#getValue">GET</h4> - <p>Retrieve a value of an authenticated user.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2072">application/xml, application/json (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> - </ul> + <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="#d2e2083"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2763">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</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="#d2e2090">text/plain, text/html (<abbr title="{http://www.example.com} keyValuePair">ns3:keyValuePair</abbr>)</a></li> + <li><a href="#d2e2776"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2101"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2782"><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> + <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="#d2e2108">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="#d2e2113"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2789">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#deleteValue">DELETE</h4> - <p>Delete a value for an authenticated user.</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2120"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2796">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="#d2e2124"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2809"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2128"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2815"><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> + <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> @@ -7397,95 +7813,177 @@ </tr> <tr> <td> - <p><strong>value</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 value of the key value pair</p> + <p>The title for the first post in the thread</p> </td> </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2139"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e2142">/repo/courses/{courseId}/db/{category}/values</h3> - <h6>resource-wide template parameters</h6> - <table> - <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="#d2e2834">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="#d2e2847"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e2853"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e2856">/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> <th>parameter</th> <th>value</th> <th>description</th> </tr> <tr> <td> - <p><strong>category</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 name of the database</p> + <p>The key of the user (IdentityImpl)</p> </td> </tr> <tr> <td> - <p><strong>courseId</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>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> + <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#getValues">GET</h4> - <p>Retrieve all values of the authenticated user</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> + <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="#d2e2153">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#putValues">PUT</h4> - <p>Put a new value for an authenticated user.</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2167">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> - <li><a href="#d2e2168">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e2875">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="#d2e2170"><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="#d2e2177">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> - <li><a href="#d2e2178">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">keyValuePair</abbr>)</a></li> + <li><a href="#d2e2888"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2180"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2894"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2183">/repo/courses/{courseId}/db/{category}/values/{name}/delete</h3> + <h3 id="d2e2897">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7495,92 +7993,149 @@ </tr> <tr> <td> - <p><strong>name</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 name of the key value pair</p> + <p>The key of the user (IdentityImpl)</p> </td> </tr> <tr> <td> - <p><strong>category</strong></p> + <p><strong>courseKey</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>The name of the database</p> + <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>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> + <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#deleteValuePost">POST</h4> - <p>Fallbakc method for the browsers</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="#d2e2905">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="#d2e2197"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2918">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="#d2e2201"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2931"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2205"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2937"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e2208">/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> + <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="#d2e2956">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="#d2e2969"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2213">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e2975"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e2223">/repo/courses/{courseId}/resourcefolders</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e2224">/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> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e2982">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e2983">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="#d2e2987">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="#d2e3000"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2227">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3006"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2228">/repo/courses/{courseId}/resourcefolders/sharedfolder/{path:.*}</h3> + <h3 id="d2e3009">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7590,39 +8145,117 @@ </tr> <tr> <td> - <p><strong>path</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 key of the user (IdentityImpl)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>courseId</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> - </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> + </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#getSharedFiles">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="#d2e3019">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="#d2e3025"><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="#d2e3034">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="#d2e3040"><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="#d2e3047">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e3048">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="#d2e3052">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="#d2e3058"><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="#d2e3065">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="#d2e3071">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="#d2e2233">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2234">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2235">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2236">application/octet-stream<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> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2237">/repo/courses/{courseId}/resourcefolders/sharedfolder</h3> + <h3 id="d2e3080">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments/{filename}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7632,27 +8265,92 @@ </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 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> + </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#getSharedFiles">GET</h4> + <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="#d2e3093">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="#d2e3099"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3102">/i18n</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e3103">/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="#d2e2241">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3106">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2242">/repo/courses/{courseId}/resourcefolders/coursefolder/{path:.*}</h3> + <h3 id="d2e3107">/i18n/{package}/{key}<span class="optional">?locale</span></h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7662,7 +8360,7 @@ </tr> <tr> <td> - <p><strong>path</strong></p> + <p><strong>package</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -7671,10 +8369,10 @@ </tr> <tr> <td> - <p><strong>courseId</strong></p> + <p><strong>key</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> @@ -7682,33 +8380,99 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getCourseFiles">GET</h4> + <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="#d2e2247">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2248">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2249">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e2250">application/octet-stream<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> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3115">/groups</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachFileToFolderPost">POST</h4> + <h4 id="http://www.example.com#createGroup">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e3118">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e3119">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="#d2e2253">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3121">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3122">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#attachFileToFolder">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="#d2e3128">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3129">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3130">/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="#d2e2256">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3133">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2257">/repo/courses/{courseId}/resourcefolders/coursefolder</h3> + <h3 id="d2e3134">/groups/{groupKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7718,7 +8482,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> @@ -7729,36 +8493,37 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getCourseFiles">GET</h4> + <h4 id="http://www.example.com#findById">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2261">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3138">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3139">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> + <h4 id="http://www.example.com#postGroup">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e3142">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e3143">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="#d2e2264">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3145">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3146">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#attachFileToFolder">PUT</h4> + <h4 id="http://www.example.com#deleteGroup">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2267">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3149">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2268">/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="d2e3150">/groups/{groupKey}/news</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7768,7 +8533,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> @@ -7779,166 +8544,99 @@ <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> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2278">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="#d2e2291"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getNews">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2297"><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> </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#postNews">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e2304">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3157">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="#d2e2318">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="#d2e2331"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3160">*/*<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="#d2e2337"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3163">*/*<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> - <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>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> + </div> + </div> + <div class="resource"> + <h3 id="d2e3164">/groups/{groupKey}/configuration</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#postGroupConfiguration">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e2357">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e3168">*/* (<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="#d2e2370"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3170">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3171">/groups/{groupKey}/infos</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#getInformations">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2376"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3175">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3176">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2379">/repo/courses/{courseId}/elements/forum/{nodeId}</h3> + <h3 id="d2e3177">/groups/{groupKey}/owners</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -7948,58 +8646,105 @@ </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#getTutors">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3181">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3182">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3183">/groups/{groupKey}/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> + <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 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> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3187">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3188">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3189">/groups/{groupKey}/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>nodeId</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></td> + </tr> + <tr> + <td> + <p><strong>groupKey</strong></p> </td> <td> - <p>The node's id</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#getForum">GET</h4> - <p>Retrieves metadata of the published course node</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2392">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#addTutor">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2405"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3194">*/*<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="#d2e2411"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3197">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2414">/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="d2e3198">/groups/{groupKey}/participants/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8009,7 +8754,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> @@ -8018,101 +8763,109 @@ </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> - <p>The id of the course.</p> - </td> + <td></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> + <div class="method"> + <h4 id="http://www.example.com#addParticipant">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3203">*/*<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="#d2e3206">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3208">/groups/{groupKey}/folder</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> - </td> - <td> - <p>The id of the course node.</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#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> + <h4 id="http://www.example.com#listFiles">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3212">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} "></abbr></a></li> + <li><a href="#d2e3214">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3215">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3216">*/*<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="#d2e2440">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3219">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3220">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="#d2e3223">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="#d2e2453"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3228">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3229">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="#d2e2459"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3232">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3233">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="#d2e3236">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e3237">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="#d2e3239">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3240">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2462">/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="d2e3241">/groups/{groupKey}/folder/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8122,7 +8875,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> @@ -8131,107 +8884,91 @@ </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> + <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 id of the course node.</p> - </td> + <td></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="#d2e3245">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3246">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3247">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3248">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3249">*/*<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="#d2e3252">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3253">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3254">*/*<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="#d2e3257">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="#d2e3262">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3263">application/xml<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> + </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="#d2e3267">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3268">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3269">*/*<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="#d2e3272">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e3273">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="#d2e2488">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3275">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3276">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="#d2e2501"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3279">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3280">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="#d2e2507"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3283">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3284">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2510">/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="d2e3285">/groups/{groupKey}/folder/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8241,16 +8978,37 @@ </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#getVersion">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3288">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3289">/groups/{groupKey}/folder/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>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> @@ -8259,7 +9017,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> @@ -8270,25 +9028,23 @@ <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="#d2e2521">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="#d2e2534"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getFileMetadata">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2540"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3293">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3294">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2543">/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="d2e3295">/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> @@ -8298,28 +9054,49 @@ </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> </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> + </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="#d2e3305">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="#d2e3318"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3324"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3327">/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> + <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> @@ -8383,15 +9160,35 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2559">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e3343">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="#d2e3356"><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#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="#d2e3369">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="#d2e3376">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="#d2e2572"><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> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2578"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3395"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -8440,41 +9237,21 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2597">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="#d2e2610"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2616"><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="#d2e2623">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="#d2e2630">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3414">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="#d2e2643"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3427"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2649"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3433"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2652">/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> + <h3 id="d2e3436">/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> @@ -8484,31 +9261,13 @@ </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> </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> @@ -8580,21 +9339,21 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2671">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e3455">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="#d2e2684"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3468"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2690"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3474"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2693">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}</h3> + <h3 id="d2e3477">/groups/{groupKey}/forum/posts/{messageKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8604,31 +9363,13 @@ </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> </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> @@ -8648,40 +9389,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="#d2e2701">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="#d2e2714">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="#d2e2727"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2733"><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="#d2e2740">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e2741">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e3485">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="#d2e2745">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3498">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="#d2e2758"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3511"><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="#d2e3517"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -8730,21 +9450,42 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2783">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3536">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="#d2e3549"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3555"><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="#d2e3562">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e3563">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="#d2e3567">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="#d2e2796"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3580"><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> + <li><a href="#d2e3586"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2805">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments</h3> + <h3 id="d2e3589">/groups/{groupKey}/forum/posts/{messageKey}/attachments</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8754,31 +9495,13 @@ </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> </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> @@ -8798,11 +9521,11 @@ <p>Retrieves the attachments of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2815">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3599">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="#d2e2821"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3605"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -8811,17 +9534,13 @@ filename The name of the attachment<br> file The attachment. </p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e2828">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="#d2e2834">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3614">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="#d2e2840"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3620"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -8832,16 +9551,16 @@ </p> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e2847">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e2848">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e3627">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e3628">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="#d2e2852">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3632">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="#d2e2858"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3638"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> @@ -8850,19 +9569,23 @@ filename The name of the attachment<br> file The attachment. </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e3645">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="#d2e2867">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3651">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="#d2e2873"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3657"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2876">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/posts/{messageKey}/attachments/{filename}</h3> + <h3 id="d2e3660">/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8872,31 +9595,13 @@ </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> </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> @@ -8927,21 +9632,19 @@ <p>Retrieves the attachment of the message</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e2889">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3673">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="#d2e2895"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3679"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2898">/users/{identityKey}/forums</h3> - <p>Description:<br> - - <P> - Initial Date: 6 déc. 2011 <br> + <h3 id="d2e3682">/groups/{groupKey}/wiki</h3> + <p>The Group Wiki Webservice<br /> + allows the export of group wikis </p> <h6>resource-wide template parameters</h6> <table> @@ -8952,43 +9655,56 @@ </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> - <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#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) + <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="#d2e2910">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> + <li><a href="#d2e3690">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3691">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3692">/taxonomy</h3> + <p>Initial date: 5 Oct 2017<br></p> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e3695">/taxonomy/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="#d2e3702">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="#d2e2923"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3715"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2926">/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="d2e3718">/taxonomy/{taxonomyKey}</h3> + <p>Initial date: 5 Oct 2017<br></p> <h6>resource-wide template parameters</h6> <table> <tr> @@ -8998,56 +9714,32 @@ </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> - <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#getForum">GET</h4> - <p>Retrieves the forum.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2937">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>)</a></li> - </ul> + <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="#d2e2950"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3728">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="#d2e2956"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3741"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e2959">/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> + <h3 id="d2e3744">/taxonomy/{taxonomyKey}/levels</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9057,18 +9749,65 @@ </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> + </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="#d2e3751">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="#d2e3764"><abbr title="{http://wadl.dev.java.net/2009/02} "></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 doesn't change to tree structure + and will ignore a modified parentKey. + </p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e3771">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelVO</abbr>)</a></li> + <li><a href="#d2e3772">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="#d2e3776">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="#d2e3789"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3795"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3798">/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>taxonomyKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -9077,10 +9816,10 @@ </tr> <tr> <td> - <p><strong>courseNodeId</strong></p> + <p><strong>taxonomyLevelKey</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> @@ -9088,154 +9827,42 @@ <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="#d2e2975">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="#d2e2988"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e2994"><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="#d2e3013">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</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="#d2e3026"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3806">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="#d2e3032"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3819"><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> + <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="#d2e3039">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3826">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyCompetenceVO</abbr>)</a></li> + <li><a href="#d2e3827">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="#d2e3046">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3831">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="#d2e3059"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3844"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3065"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3850"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3068">/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="d2e3853">/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9245,18 +9872,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> - <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> @@ -9265,99 +9881,43 @@ </tr> <tr> <td> - <p><strong>courseNodeId</strong></p> + <p><strong>taxonomyLevelKey</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>threadKey</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 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> - <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="#d2e3087">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - </ul> + <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="#d2e3100"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3862">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="#d2e3106"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3875"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3109">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}</h3> + <h3 id="d2e3878">/taxonomy/{taxonomyKey}/levels/{taxonomyLevelKey}/competences/{competenceKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9367,18 +9927,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> - <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> @@ -9387,129 +9936,105 @@ </tr> <tr> <td> - <p><strong>courseNodeId</strong></p> + <p><strong>taxonomyLevelKey</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>competenceKey</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="#d2e3117">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <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="#d2e3130">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3887"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3143"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3893"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3149"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3899"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3902">/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#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="#d2e3156">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e3157">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - </ul> + <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="#d2e3161">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3909">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="#d2e3174"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3922"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3180"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3928"><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> - </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#putTaxonomyLevelType">PUT</h4> + <p>Create or Update a taxonomy level's type.</p> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e3935">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">taxonomyLevelTypeVO</abbr>)</a></li> + <li><a href="#d2e3936">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="#d2e3199">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e3940">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="#d2e3212"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3953"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3218"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e3959"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3221">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments</h3> + <h3 id="d2e3962">/taxonomy/{taxonomyKey}/types/{typeKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9519,117 +10044,93 @@ </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>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#getTaxonomyLevelType">GET</h4> + <p>Get a taxonomy level's type.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3970">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="#d2e3983"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e3989"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e3992">/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>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>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 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="#d2e3231">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="#d2e3237"><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="#d2e3244">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="#d2e3250">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="#d2e3256"><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="#d2e3263">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e3264">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> + <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="#d2e3268">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4000">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="#d2e3274"><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="#d2e3283">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> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3289"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4019"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3292">/users/{identityKey}/forums/course/{courseKey}/{courseNodeId}/posts/{messageKey}/attachments/{filename}</h3> + <h3 id="d2e4022">/taxonomy/{taxonomyKey}/types/{typeKey}/allowedSubTypes/{subTypeKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9639,18 +10140,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> - <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> @@ -9659,60 +10149,79 @@ </tr> <tr> <td> - <p><strong>courseNodeId</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>messageKey</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> - <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> + <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#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="#d2e4031">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="#d2e4044"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4050"><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="#d2e4059"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3305">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4065"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3311"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4071"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3314">/users/{identityKey}/forums/group/{groupKey}</h3> - <p>Description:<br> - Web service to manage a forum. - - <P> - Initial Date: 20 apr. 2010 <br> - </p> + <h3 id="d2e4074">/repo/sharedfolder</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e4075">/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="#d2e4078">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4079">/repo/sharedfolder/{repoEntryKey}/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9722,18 +10231,16 @@ </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><strong>path</strong></p> </td> <td> - <p>The key of the user (IdentityImpl)</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>repoEntryKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -9744,25 +10251,16 @@ <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="#d2e3324">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="#d2e3337"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getSharedFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3343"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4084">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3346">/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="d2e4085">/repo/sharedfolder/{repoEntryKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9772,20 +10270,39 @@ </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> </td> - <td> - <p>The key of the user (IdentityImpl)</p> - </td> + <td></td> </tr> - <tr> - <td> - <p><strong>groupKey</strong></p> - </td> - <td> + </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="#d2e4089">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4090">/repo/sharedfolder/{repoEntryKey}/files</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> @@ -9794,154 +10311,164 @@ <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> + <h4 id="http://www.example.com#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3362">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e4094">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4095">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4096">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4097">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4098">*/*<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="#d2e3375"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4101">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4102">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="#d2e4105">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="#d2e3381"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4110">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4111">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#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#putFileToRoot">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4114">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4115">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="#d2e4118">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4119">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="#d2e4121">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4122">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4123">/repo/sharedfolder/{repoEntryKey}/files/{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> + </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="#d2e3400">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e4127">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4128">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4129">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4130">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4131">*/*<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="#d2e3413"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4134">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4135">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4136">*/*<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="#d2e4139">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="#d2e3419"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4144">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4145">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4146">*/*<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> + <h4 id="http://www.example.com#putFileToFolder">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4149">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4150">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4151">*/*<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="#d2e3426">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4154">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4155">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="#d2e3433">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e4157">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4158">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="#d2e3446"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4161">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4162">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="#d2e3452"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4165">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4166">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3455">/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="d2e4167">/repo/sharedfolder/{repoEntryKey}/files/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -9951,18 +10478,37 @@ </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> </td> - <td> - <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#getVersion">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4170">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4171">/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>groupKey</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> @@ -9971,90 +10517,33 @@ </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> + <p><strong>path</strong></p> </td> <td> - <p>The key of the thread</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#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="#d2e3474">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="#d2e3487"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getFileMetadata">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3493"><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="#d2e4176">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3496">/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}</h3> + <h3 id="d2e4177">/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> @@ -10064,82 +10553,39 @@ </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> + <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 reply message</p> + <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#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="#d2e3504">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="#d2e3517">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="#d2e3530"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3536"><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="#d2e3543">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e3544">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - </ul> + <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="#d2e3548">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e4189">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="#d2e3561"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4202"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3567"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4208"><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#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> @@ -10149,55 +10595,135 @@ </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> - <p>The title for the first post in the thread</p> + <p>The node's id which will be the parent of this folder</p> </td> </tr> <tr> <td> - <p><strong>body</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> + </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 body for the first post in the thread</p> + <p>The node short title</p> </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> + <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> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3586">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e4242">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="#d2e3599"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4255"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3605"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4261"><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="#d2e4268">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="#d2e4296">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="#d2e4309"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4315"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3608">/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments</h3> + <h3 id="d2e4318">/repo/courses/{courseId}/elements/folder/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10207,108 +10733,80 @@ </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> - <p>The key of the user (IdentityImpl)</p> + <p>The course resourceable's id</p> </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> + <td> + <p>The course resourceable's id</p> + </td> </tr> <tr> <td> - <p><strong>messageKey</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> - <p>The key of the message</p> + <p>The node's id</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> + <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="#d2e3618">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4329">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="#d2e3624"><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="#d2e3631">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4351">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="#d2e3637">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4364"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3643"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4370"><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="#d2e3650">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e3651">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="#d2e3655">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <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="#d2e3661"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4379">application/xml, application/json (<abbr title="{http://www.example.com} folderVO">ns3:folderVO</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="#d2e3670">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4392"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3676"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4398"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3679">/users/{identityKey}/forums/group/{groupKey}/posts/{messageKey}/attachments/{filename}</h3> + <h3 id="d2e4401">/repo/courses/{courseId}/elements/folder/{nodeId}/files</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10318,18 +10816,18 @@ </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> - <p>The key of the user (IdentityImpl)</p> + <p>The course resourceable's id</p> </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> @@ -10338,51 +10836,72 @@ </tr> <tr> <td> - <p><strong>messageKey</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> - </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> + <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#getAttachment">GET</h4> - <p>Retrieves the attachment of the message</p> + <h4 id="http://www.example.com#listFiles">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4406">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4407">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4408">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4409">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4410">*/*<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="#d2e4413">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4414">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="#d2e4417">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="#d2e3692">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4422">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4423">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="#d2e4426">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4427">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="#d2e4430">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4431">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="#d2e3698"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4433">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4434">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3701">/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="d2e3704">/repo/courses/{resourceKey}/certificates/{identityKey}</h3> + <h3 id="d2e4435">/repo/courses/{courseId}/elements/folder/{nodeId}/files/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10392,166 +10911,120 @@ </tr> <tr> <td> - <p><strong>resourceKey</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> - <p>The primary key of the resource of the repository entry of the course.</p> + <p>The course resourceable's id</p> </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> </td> + <td></td> + </tr> + <tr> + <td> + <p><strong>nodeId</strong></p> + </td> <td> - <p>The owner of the certificate</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> + </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#getCertificateInfo">HEAD</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3713">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#getCertificate">GET</h4> - <p>Return the certificate as PDF file.</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3720">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="#d2e3726"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#listFiles">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3732"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4439">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4440">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4441">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4442">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4443">*/*<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> + <h4 id="http://www.example.com#postFileToFolder">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3737">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4446">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4447">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4448">*/*<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="#d2e3754"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3760"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#postFile64ToFolder">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e3766"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4451">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="#d2e3772"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4456">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4457">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4458">*/*<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> + <h4 id="http://www.example.com#putFileToFolder">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3781"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4461">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4462">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4463">*/*<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#putFile64ToFolder">PUT</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e3787"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4466">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4467">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="#d2e3793"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4469">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4470">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3797">/ping</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#ping">GET</h4> + <h4 id="http://www.example.com#putFolders">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3800">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4473">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4474">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3801">/ping/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#deleteItem">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3804">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4477">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4478">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3805">/ping/{name}</h3> + <h3 id="d2e4479">/repo/courses/{courseId}/elements/folder/{nodeId}/files/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10561,7 +11034,27 @@ </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> + <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></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> @@ -10572,22 +11065,16 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#ping">POST</h4> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3809">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4482">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3810">/openmeetings</h3> - <p>Initial date: 13.11.2012<br></p> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e3813">/openmeetings/{identityToken}/portrait</h3> + <h3 id="d2e4483">/repo/courses/{courseId}/elements/folder/{nodeId}/files/metadata/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10597,34 +11084,57 @@ </tr> <tr> <td> - <p><strong>identityToken</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> + <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></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>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> </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="#d2e3823">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getFileMetadata">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3829"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4487">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4488">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3832">/repo/courses/{courseId}/assessments</h3> + <h3 id="d2e4489">/users/{identityKey}/calendars</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10634,7 +11144,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> @@ -10645,17 +11155,17 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getCourseResults">GET</h4> + <h4 id="http://www.example.com#getCalendars">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3836">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3837">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4493">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4494">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3838">/repo/courses/{courseId}/assessments/users/{identityKey}</h3> + <h3 id="d2e4495">/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> @@ -10663,15 +11173,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> @@ -10683,7 +11184,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> @@ -10694,27 +11195,66 @@ <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="#d2e3843">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3844">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3845">/repo/courses/{courseId}/assessments/{nodeId}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> + <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="#d2e4503">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4504">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4505">/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>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> @@ -10723,49 +11263,28 @@ </tr> <tr> <td> - <p><strong>courseId</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> <tr> <td> - <p><strong>nodeId</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></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="#d2e3850">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3851">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="#d2e3854">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>)</a></li> - <li><a href="#d2e3855">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="#d2e3857">*/*<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="d2e3858">/repo/courses/{courseId}/assessments/version</h3> + <h3 id="d2e4510">/users/{identityKey}/calendars/{calendarId}/events/{eventId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10775,27 +11294,55 @@ </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> + <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> + <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#getVersion">GET</h4> + <h4 id="http://www.example.com#deleteEventByCalendar">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3861">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4514">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4515">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3862">/repo/courses/{courseId}/assessments/{nodeId}/users/{identityKey}</h3> + <h3 id="d2e4516">/users/{identityKey}/calendars/{calendarId}/event</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -10805,13 +11352,22 @@ </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> + <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> @@ -10821,9 +11377,50 @@ </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="#d2e4519">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e4520">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="#d2e4522">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4523">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="#d2e4526">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4527">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e4528">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="#d2e4530">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4531">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4532">/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>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> @@ -10832,7 +11429,16 @@ </tr> <tr> <td> - <p><strong>nodeId</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> @@ -10843,17 +11449,81 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getCourseNodeResultsForNode">GET</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="#d2e4539">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4540">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="#d2e4543">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4544">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="#d2e4546">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4547">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="#d2e4550">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4551">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="#d2e3868">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3869">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4553">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4554">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3870">/repo/wikis</h3> + <h3 id="d2e4555">/repo/wikis</h3> <p>The Wikis Webservice.<br /> OO-112 </p> @@ -10864,14 +11534,14 @@ <p>get list of repo-entry wikis. Group-Wikis are not listed!</p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3877">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3878">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4562">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4563">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3879">/repo/wikis/{wikiKey}</h3> + <h3 id="d2e4564">/repo/wikis/{wikiKey}</h3> <p>The Wiki Webservice<br /> allows the export of "normal" wikis ( in contrast to group-wikis) OO-112 </p> @@ -10905,265 +11575,18 @@ </p> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e3889">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e3890">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4574">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4575">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e3891">/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> + <h3 id="d2e4577">/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#create">PUT</h4> - <p>Creates and persists an authentication</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e3901">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>)</a></li> - <li><a href="#d2e3902">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="#d2e3906">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="#d2e3919"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3925"><abbr title="{http://wadl.dev.java.net/2009/02} "></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="#d2e3937"><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="#d2e3944">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="#d2e3955"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3959"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3962">/users/{username}/auth/{authKey}</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> - <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> - </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> - </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="#d2e3975"><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"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e3987"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e3990">/users/{username}/auth/password</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> - <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 change the password</p> - </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="#d2e3998">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="#d2e4005"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4011"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4017"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4023"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4026">/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> - <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> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4033">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4043">/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="#d2e4046">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4047">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4048">/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#getNotifications">GET</h4> - <p>Retrieves the notification of the logged in user.</p> + <h4 id="http://www.example.com#getCourseList">GET</h4> <h6>request query parameters</h6> <table> <tr> @@ -11173,172 +11596,82 @@ </tr> <tr> <td> - <p><strong>date</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>limit</strong></p> </td> <td> - <p>The date (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>type</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> + </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 type of notifications (User, Forum...) (optional)</p> + <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> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4064">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="#d2e4077"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4587">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4588">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4080">/notifications/subscribers</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#subscribe">PUT</h4> + <h4 id="http://www.example.com#createEmptyCourse">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4083">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>)</a></li> - <li><a href="#d2e4084">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="#d2e4086">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4087">/notifications/subscribers/{subscriberKey}</h3> - <h6>resource-wide template parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <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="#d2e4091">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4591">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> + <li><a href="#d2e4592">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>)</a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4092">/notifications/subscribers/{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>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><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> - </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#getSubscriber">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4098">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4099">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4594">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4595">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4100">/i18n</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e4101">/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> + <h4 id="http://www.example.com#createEmptyCourse">PUT</h4> <h6>request query parameters</h6> <table> <tr> @@ -11348,70 +11681,61 @@ </tr> <tr> <td> - <p><strong>locale</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></td> </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4108">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4109">/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="#d2e4112">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4113">/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#getEntries">GET</h4> - <h6>request query parameters</h6> - <table> <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> + <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>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/#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> - <p>Default: <tt>25</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>managed</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> @@ -11438,54 +11762,25 @@ </tr> <tr> <td> - <p><strong>resourceType</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> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4123">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4124">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="#d2e4127">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4128">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="#d2e4131">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4132">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4133">/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> + <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>type</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> @@ -11494,58 +11789,90 @@ </tr> <tr> <td> - <p><strong>author</strong></p> + <p><strong>sharedFolderSoftKey</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> + <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/#string">string</a></em></p> - <p>Default: <tt>*</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></td> </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4616">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4617">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>myentries</strong></p> + <p><strong>ownerUsername</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> </td> <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4141">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4142">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4622">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4623">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4143">/repo/entries/version</h3> + <h3 id="d2e4624">/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="#d2e4146">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4627">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4147">/repo/entries/{repoEntryKey}</h3> + <h3 id="d2e4628">/repo/courses/{courseId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11555,10 +11882,10 @@ </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> @@ -11569,43 +11896,22 @@ <h4 id="http://www.example.com#deleteCourse">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4151">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4152">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="#d2e4155">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4156">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="#d2e4159">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> - <li><a href="#d2e4160">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="#d2e4162">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4163">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4632">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4633">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> + <h4 id="http://www.example.com#findById">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4166">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4167">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4636">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4637">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4168">/repo/entries/{repoEntryKey}/coaches/{identityKey}</h3> + <h3 id="d2e4638">/repo/courses/{courseId}/configuration</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11615,16 +11921,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>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> @@ -11633,10 +11930,10 @@ </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> @@ -11644,23 +11941,29 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addCoach">PUT</h4> + <h4 id="http://www.example.com#getConfiguration">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4173">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4642">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4643">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#removeCoach">DELETE</h4> + <h4 id="http://www.example.com#updateConfiguration">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4646">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="#d2e4176">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4654">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4655">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4177">/repo/entries/{repoEntryKey}/coaches</h3> + <h3 id="d2e4656">/repo/courses/{courseId}/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11670,19 +11973,10 @@ </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> + <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> @@ -11690,29 +11984,16 @@ <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="#d2e4181">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4182">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="#d2e4184">*/*<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#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4187">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4188">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4659">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4189">/repo/entries/{repoEntryKey}/file</h3> + <h3 id="d2e4660">/repo/courses/{courseId}/file</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11722,19 +12003,10 @@ </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> + <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> @@ -11745,14 +12017,14 @@ <h4 id="http://www.example.com#getRepoFileById">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4193">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4194">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4663">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4664">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4195">/repo/entries/{repoEntryKey}/status</h3> + <h3 id="d2e4665">/repo/courses/{courseId}/status</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11762,19 +12034,10 @@ </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> + <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> @@ -11785,18 +12048,18 @@ <h4 id="http://www.example.com#deleteCoursePermanently">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4199">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4668">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="#d2e4202">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4203">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4671">application/xml<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> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4204">/repo/entries/{repoEntryKey}/participants</h3> + <h3 id="d2e4673">/repo/courses/{courseId}/runstructure</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11806,19 +12069,10 @@ </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> + <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> @@ -11826,29 +12080,16 @@ <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="#d2e4208">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4209">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="#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> + <h4 id="http://www.example.com#findRunStructureById">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4215">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4676">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4216">/repo/entries/{repoEntryKey}/participants/{identityKey}</h3> + <h3 id="d2e4677">/repo/courses/{courseId}/editortreemodel</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11858,52 +12099,27 @@ </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> + <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>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#addParticipant">PUT</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4221">*/*<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#findEditorTreeModelById">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4224">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4680">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4226">/repo/entries/{repoEntryKey}/owners</h3> + <h3 id="d2e4681">/repo/courses/{courseId}/authors/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11913,19 +12129,19 @@ </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>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></td> </tr> @@ -11933,29 +12149,32 @@ <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> + <h4 id="http://www.example.com#getAuthor">GET</h4> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4230">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4231">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4685">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4686">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="#d2e4233">*/*<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#getOwners">GET</h4> + <h4 id="http://www.example.com#removeAuthor">DELETE</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> + <li><a href="#d2e4692">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4693">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4238">/repo/entries/{repoEntryKey}/owners/{identityKey}</h3> + <h3 id="d2e4694">/repo/courses/{courseId}/authors</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -11965,52 +12184,40 @@ </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> + <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>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> + <h4 id="http://www.example.com#addAuthors">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4697">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4698">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="#d2e4243">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4700">*/*<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#getAuthors">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4246">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4703">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4704">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4247">/repo/entries/{repoEntryKey}/lectureblocks</h3> + <h3 id="d2e4706">/repo/courses/{courseId}/tutors/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12020,19 +12227,19 @@ </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>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></td> </tr> @@ -12040,66 +12247,29 @@ <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="#d2e4251">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4252">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="#d2e4255">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e4256">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="#d2e4258">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4259">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="#d2e4262">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4263">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - <li><a href="#d2e4264">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#addCoach">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4266">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4267">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4710">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4268">/repo/entries/{repoEntryKey}/lectureblocks/configuration</h3> + <h3 id="d2e4711">/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>repoEntryKey</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>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> @@ -12107,31 +12277,29 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getConfiguration">GET</h4> + <h4 id="http://www.example.com#addCoaches">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4714">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4715">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="#d2e4271">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4272">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4717">*/*<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="#d2e4275">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4276">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - <li><a href="#d2e4277">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getTutors">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4279">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4280">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4720">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4721">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4281">/repo/entries/{repoEntryKey}/lectureblocks/sync/calendar</h3> + <h3 id="d2e4722">/repo/courses/{courseId}/resource</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12141,19 +12309,10 @@ </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> + <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> @@ -12161,16 +12320,17 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#syncCalendar">POST</h4> + <h4 id="http://www.example.com#getOlatResource">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4284">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4725">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4726">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4285">/repo/entries/{repoEntryKey}/lectureblocks/adaptation</h3> + <h3 id="d2e4727">/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> @@ -12180,19 +12340,10 @@ </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> + <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> @@ -12200,16 +12351,52 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#adapatation">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="#d2e4288">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4735">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4289">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}</h3> + <h3 id="d2e4736">/repo/courses/{courseId}/participants</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12219,25 +12406,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> @@ -12248,24 +12417,29 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#deleteLectureBlock">DELETE</h4> + <h4 id="http://www.example.com#getParticipants">GET</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> + <li><a href="#d2e4739">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4740">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#getLectureBlock">GET</h4> + <h4 id="http://www.example.com#addParticipants">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4743">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4744">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="#d2e4296">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4297">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4746">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4298">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</h3> + <h3 id="d2e4747">/repo/courses/{courseId}/participants/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12275,25 +12449,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> @@ -12313,23 +12469,16 @@ <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="#d2e4302">*/*<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#addParticipant">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4305">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4751">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4306">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers</h3> + <h3 id="d2e4752">/repo/courses/{courseId}/groups</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12339,25 +12488,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> @@ -12368,17 +12499,30 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getTeacher">GET</h4> + <h4 id="http://www.example.com#getGroupList">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4755">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4756">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> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e4759">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>)</a></li> + <li><a href="#d2e4760">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="#d2e4309">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4310">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4762">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4763">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4311">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</h3> + <h3 id="d2e4764">/repo/courses/{courseId}/groups/{groupKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12388,25 +12532,16 @@ </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> + <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>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -12417,23 +12552,34 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addRepositoryEntryParticipantGroup">PUT</h4> + <h4 id="http://www.example.com#getGroup">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4314">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4768">*/*<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#deleteGroup">DELETE</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4771">*/*<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="#d2e4774">*/* (<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="#d2e4317">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4776">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4318">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/sync/calendar</h3> + <h3 id="d2e4777">/repo/courses/{courseId}/groups/version</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12443,25 +12589,46 @@ </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> + </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="#d2e4780">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e4781">/repo/courses/{courseId}/groups/{groupKey}/folder</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>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>groupKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -12472,22 +12639,61 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#syncCalendar">POST</h4> + <h4 id="http://www.example.com#listFiles">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4785">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4786">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4787">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4788">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4789">*/*<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="#d2e4792">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4793">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="#d2e4796">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="#d2e4801">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4802">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="#d2e4805">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4806">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="#d2e4809">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4810">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="#d2e4321">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4812">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4813">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4322">/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="d2e4814">/repo/courses/{courseId}/groups/{groupKey}/folder/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12504,238 +12710,141 @@ </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#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> + <h4 id="http://www.example.com#listFiles">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e4818">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4819">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4820">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4821">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4822">*/*<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="#d2e4376">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e4825">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4826">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4827">*/*<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="#d2e4830">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="#d2e4389"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4835">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4836">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4837">*/*<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="#d2e4395"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4840">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4841">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4842">*/*<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> + <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4402">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4845">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e4846">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="#d2e4425">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e4848">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4849">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="#d2e4438"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4852">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4853">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="#d2e4444"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4856">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4857">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4447">/api</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e4448">/api/doc</h3> + <h3 id="d2e4858">/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#getHtmlDoc">GET</h4> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4451">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4861">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4452">/api/doc/{filename}</h3> + <h3 id="d2e4862">/repo/courses/{courseId}/groups/{groupKey}/folder/metadata/{path:.*}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -12745,7 +12854,25 @@ </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/#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>path</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -12756,16 +12883,23 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getImage1">GET</h4> + <h4 id="http://www.example.com#getFileMetadata">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4456">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4866">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4867">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4457">/api/{filename}</h3> + <h3 id="d2e4868">/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> @@ -12775,10 +12909,19 @@ </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> + <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> @@ -12786,56 +12929,25 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getImage2">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4461">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4462">/api/copyright</h3> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getCopyrightXhtml">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="#d2e4465">application/xhtml+xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4466">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4878">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#getCopyrightPlainText">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4469">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4891"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4470">/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="#d2e4473">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4897"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4475">/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> + <h3 id="d2e4900">/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> @@ -12850,18 +12962,23 @@ <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>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#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#getThreads">GET</h4> + <p>Retrieves the threads in the forum</p> <h6>request query parameters</h6> <table> <tr> @@ -12871,220 +12988,143 @@ </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> - </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> + <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>groups</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>A list of learning groups (list of keys)</p> + <p>(value name,creationDate)</p> </td> </tr> <tr> <td> - <p><strong>cancelEnabled</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> - <p>Default: <tt>false</tt></p> + <p>Default: <tt>true</tt></p> </td> <td> - <p>cancel enrollment enabled or not</p> + <p>(value true/false)</p> </td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4515">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <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="#d2e4528"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4929"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4534"><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> </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> + <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="#d2e4541">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4942">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="#d2e4572">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>)</a></li> + <li><a href="#d2e4949">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="#d2e4585"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4962"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4591"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4968"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4594">/repo/courses/{courseId}/elements/enrollment/{nodeId}/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> - <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></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#getGroups">GET</h4> - <p>Retrieves the groups where the enrollment happens</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4603">application/xml, application/json (<abbr title="{http://www.example.com} groupVO">ns3:groupVO</abbr>)</a></li> - </ul> + <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="#d2e4616"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e4987">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="#d2e4622"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5000"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4625">/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="#d2e4628">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4629">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5006"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4630">/catalog/{path:.*}/children<span class="optional">?start</span><span class="optional">&limit</span></h3> + <h3 id="d2e5009">/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> @@ -13094,18 +13134,39 @@ </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>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#getChildren">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> @@ -13133,17 +13194,48 @@ </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="#d2e4637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4638">application/json<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} messageVOes">ns3:messageVOes</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> + </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> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4639">/catalog/{path:.*}/owners/{identityKey}</h3> + <h3 id="d2e5050">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -13153,92 +13245,59 @@ </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>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> - </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="#d2e4644">*/*<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="#d2e4647">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#getOwner">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e4650">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4651">/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> + <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 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#getCatalogEntry">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="#d2e5058">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="#d2e4655">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} "></abbr></a></li> + <li><a href="#d2e5071">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#addCatalogEntry">PUT</h4> - <p><em>acceptable request representations:</em></p> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4659">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> - <li><a href="#d2e4660">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e5084"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4662">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4663">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5090"><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> + <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> @@ -13248,144 +13307,76 @@ </tr> <tr> <td> - <p><strong>name</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> + <td> + <p>The title for the first post in the thread</p> + </td> </tr> <tr> <td> - <p><strong>description</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>type</strong></p> - </td> <td> - <p><em><a href="http://www.w3.org/TR/xmlschema-2/#int">int</a></em></p> + <p>The body for the first post in the thread</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>repoEntryKey</strong></p> + <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></td> + <td> + <p>The author user key (optional)</p> + </td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4671">application/xml<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="#d2e5109">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#updatePostCatalogEntry">POST</h4> - <p><em>acceptable request representations:</em></p> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4675">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5122"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4680">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4681">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5128"><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> + <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="#d2e4685">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> - <li><a href="#d2e4686">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>)</a></li> + <li><a href="#d2e5135">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e5136">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="#d2e4688">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4689">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5140">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#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="#d2e4696">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4697">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5153"><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="#d2e4700">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4701">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5159"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4702">/catalog/{path:.*}/owners</h3> + <h3 id="d2e5162">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -13395,125 +13386,106 @@ </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>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 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#getOwners">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="#d2e4706">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4707">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5172">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="d2e4708">/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="#d2e4711">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5178"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4712">/system</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e4713">/system/environment</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getEnvironnementXml">GET</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="#d2e4716">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4717">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5187">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="d2e4718">/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="#d2e4721">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4722">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5193"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4723">/system/notifications</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e4724">/system/notifications/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> + <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="#d2e4727">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4728">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5200">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e5201">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#setStatus">POST</h4> - <p><em>acceptable request representations:</em></p> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4731">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5205">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="#d2e4734">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5211"><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#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="#d2e5218">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="#d2e4737">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5224">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="d2e4738">/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="#d2e4741">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4742">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5230"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4743">/system/log/{date}</h3> + <h3 id="d2e5233">/repo/courses/{courseId}/groups/{groupKey}/forum/posts/{messageKey}/attachments/{filename}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -13523,509 +13495,865 @@ </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> + <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#getLogFileByDate">GET</h4> + <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="#d2e4747">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4748">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5246">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4749">/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="#d2e4752">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5252"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4753">/system/monitoring</h3> + <h3 id="d2e5255">/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="d2e4754">/system/monitoring/configuration</h3> + <h3 id="d2e5258">/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#getImplementedProbes">GET</h4> + <h4 id="http://www.example.com#deleteEventByCalendar">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4757">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4758">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5262">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5263">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4759">/system/monitoring/status</h3> + <h3 id="d2e5264">/repo/courses/{courseId}/calendar/event</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#getSystemSummaryVO">GET</h4> + <h4 id="http://www.example.com#putEventByCalendar">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e5267">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e5268">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="#d2e4762">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4763">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5270">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5271">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4764">/system/monitoring/runtime</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getSystemSummaryVO">GET</h4> + <h4 id="http://www.example.com#postEventByCalendar">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e5274">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5275">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>)</a></li> + <li><a href="#d2e5276">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="#d2e4767">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4768">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5278">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5279">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4769">/system/monitoring/runtime/memory</h3> + <h3 id="d2e5280">/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#getMemoryStatistics">GET</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="#d2e4772">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4773">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5287">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5288">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4774">/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> + <h4 id="http://www.example.com#putEventsByCalendar">PUT</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4777">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4778">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5291">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5292">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4779">/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="#d2e4782">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4783">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5294">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5295">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4784">/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#postEventsByCalendar">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4787">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4788">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5298">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5299">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4789">/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="#d2e4792">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4793">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> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4794">/system/monitoring/openolat/tasks</h3> + <h3 id="d2e5303">/repo/courses/{courseId}/vitero/{subIdentifier}</h3> + <p>Initial date: 14.07.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> + <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#getTasks">GET</h4> + <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="#d2e4797">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4798">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5313">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="d2e4799">/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#createRoom">PUT</h4> + <p>Return the created or updated booking</p> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4802">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4803">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5327">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e5328">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4804">/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="#d2e4807">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4808">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5332">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="d2e4809">/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> + <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="#d2e4812">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4813">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5346">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> + <li><a href="#d2e5347">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>)</a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4814">/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="#d2e4817">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4818">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5351">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="d2e4819">/system/monitoring/openolat/indexer/status</h3> + <h3 id="d2e5361">/repo/courses/{courseId}/vitero/{subIdentifier}/{bookingId}/members</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> + <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#getStatus">GET</h4> + <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="#d2e4822">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4823">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5371">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>)</a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#setStatus">POST</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="#d2e4826">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5385">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> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4829">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5390">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="d2e5400">/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#getPlainTextStatus">GET</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="#d2e4832">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5408"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4833">/system/monitoring/memory</h3> + <h3 id="d2e5411">/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="d2e5415">/repo/courses/{courseId}/gotomeeting/{subIdentifier}/trainings</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> + </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getMemory">GET</h4> + <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="#d2e4836">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5422">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#getMemoryXml">GET</h4> - <p><em>available response representations:</em></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="#d2e4839">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4840">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5436">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> + <li><a href="#d2e5437">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4841">/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="#d2e4844">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5441">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#getMemoryPoolsXml">GET</h4> + <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="#d2e5455">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>)</a></li> + <li><a href="#d2e5456">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="#d2e4847">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4848">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5460">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="d2e4849">/system/monitoring/memory/samples<span class="optional">?from</span><span class="optional">&to</span><span class="optional">&lastSamples</span></h3> + <h3 id="d2e5470">/repo/courses/{courseId}/gotomeeting/{subIdentifier}//trainings/{trainingKey}</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>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#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> + <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="#d2e4856">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4857">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5478"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4858">/system/monitoring/threads</h3> + <h3 id="d2e5481">/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> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getThreads">GET</h4> + <h4 id="http://www.example.com#getLectureBlocks">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4861">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5484">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5485">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#getThreadsXml">GET</h4> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#putLectureBlocks">PUT</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4864">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4865">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5488">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e5489">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4866">/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="#d2e4869">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4870">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5491">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5492">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e4871">/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#postLectureBlocks">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e5495">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5496">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e5497">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="#d2e4874">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4875">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5499">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5500">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4876">/system/indexer/status</h3> + <h3 id="d2e5501">/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>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#getConfiguration">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4879">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4880">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5504">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5505">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#setStatus">POST</h4> + <h4 id="http://www.example.com#updateConfiguration">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4883">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5508">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5509">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e5510">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="#d2e4886">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5512">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5513">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5514">/repo/courses/{courseId}/lectureblocks/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>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#syncCalendar">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4889">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5517">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4890">/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="d2e5518">/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> + </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> - <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> + <h4 id="http://www.example.com#adapatation">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4901"><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="d2e5522">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}</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>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#deleteLectureBlock">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4905"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5526">*/*<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="#d2e4912">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="#d2e4917"><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="#d2e4921"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5529">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5530">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4924">/repo/sharedfolder</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e4925">/repo/sharedfolder/version</h3> + <h3 id="d2e5531">/repo/courses/{courseId}/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>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> + </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#getVersion">GET</h4> + <h4 id="http://www.example.com#addTeacher">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5535">*/*<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="#d2e4928">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5538">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4929">/repo/sharedfolder/{repoEntryKey}/{path:.*}</h3> + <h3 id="d2e5539">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/sync/calendar</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -14035,16 +14363,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>lectureBlockKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -14055,16 +14383,16 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getSharedFiles">GET</h4> + <h4 id="http://www.example.com#syncCalendar">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4934">*/*<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> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4935">/repo/sharedfolder/{repoEntryKey}</h3> + <h3 id="d2e5543">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/teachers</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -14074,7 +14402,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> + <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> @@ -14085,16 +14422,17 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getSharedFiles">GET</h4> + <h4 id="http://www.example.com#getTeacher">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4939">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5546">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5547">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4940">/repo/sharedfolder/{repoEntryKey}/files</h3> + <h3 id="d2e5548">/repo/courses/{courseId}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -14104,7 +14442,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> + <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> @@ -14115,61 +14462,140 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#listFiles">GET</h4> + <h4 id="http://www.example.com#addRepositoryEntryParticipantGroup">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4944">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4945">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4946">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4947">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4948">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5551">*/*<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#deleteRepositoryEntryParticipantGroup">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4951">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4952">application/xml<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="d2e5555">/repo/lifecycle</h3> + <h6>Methods</h6> + <div class="methods"> <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#getPublicLifeCycles">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5558">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5559">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5560">/openmeetings</h3> + <p>Initial date: 13.11.2012<br></p> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e5563">/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="#d2e4955">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5573">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="#d2e4960">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4961">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5579"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5582">/system</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e5583">/system/environment</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#putFileToRoot">PUT</h4> + <h4 id="http://www.example.com#getEnvironnementXml">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4964">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4965">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5586">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5587">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5588">/system/release</h3> + <h6>Methods</h6> + <div class="methods"> <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#getReleaseInfos">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5591">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5592">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5593">/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="#d2e4968">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e4969">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e5596">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5597">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5598">/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="#d2e4971">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4972">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5601">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e4973">/repo/sharedfolder/{repoEntryKey}/files/{path:.*}</h3> + <h3 id="d2e5602">/system/log/{date}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -14179,16 +14605,7 @@ </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> - <tr> - <td> - <p><strong>path</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> @@ -14199,427 +14616,319 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#listFiles">GET</h4> + <h4 id="http://www.example.com#getLogFileByDate">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4977">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4978">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4979">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4980">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4981">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5606">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5607">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5608">/system/notifications</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e5609">/system/notifications/status</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#postFileToFolder">POST</h4> + <h4 id="http://www.example.com#getStatus">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4984">application/json<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} "></abbr></a></li> - <li><a href="#d2e4986">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5612">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5613">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> + <h4 id="http://www.example.com#setStatus">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e4989">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5616">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">*/*<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="#d2e5622">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5623">/system/monitoring</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e5624">/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="#d2e5627">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5628">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5629">/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="#d2e5632">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5633">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5634">/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="#d2e5637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5638">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5639">/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="#d2e4994">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4995">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e4996">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5642">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5643">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5644">/system/monitoring/runtime/memory</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#putFileToFolder">PUT</h4> + <h4 id="http://www.example.com#getMemoryStatistics">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e4999">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5000">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5001">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5647">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5648">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5649">/system/monitoring/runtime/classes</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#putFile64ToFolder">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e5004">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5005">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getCompilationXml">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5007">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5008">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5652">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5653">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5654">/system/monitoring/database</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#putFolders">PUT</h4> + <h4 id="http://www.example.com#getDatabaseStatistics">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5011">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5012">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5657">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5658">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5659">/system/monitoring/openolat</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#deleteItem">DELETE</h4> + <h4 id="http://www.example.com#getStatistics">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5015">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5016">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5662">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5663">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5017">/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> - </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> + <h3 id="d2e5664">/system/monitoring/openolat/tasks</h3> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFileMetadata">GET</h4> + <h4 id="http://www.example.com#getTasks">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5021">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5022">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5667">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5668">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5023">/repo/sharedfolder/{repoEntryKey}/files/version</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> + <h3 id="d2e5669">/system/monitoring/openolat/users</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#getUserStatistics">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5026">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5672">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5673">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5027">/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="d2e5030">/repo/forums/version</h3> + <h3 id="d2e5674">/system/monitoring/openolat/repository</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> + <h4 id="http://www.example.com#getRepositoryStatistics">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5035">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5677">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5678">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5045">/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> + <h3 id="d2e5679">/system/monitoring/openolat/sessions</h3> <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="#d2e5057">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="#d2e5070"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getSessions">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5076"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5682">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5683">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5079">/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> + <h3 id="d2e5684">/system/monitoring/openolat/indexer</h3> <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="#d2e5095">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getStatistics">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5108"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5687">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5688">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5689">/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="#d2e5114"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5692">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5693">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> - <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> + <h4 id="http://www.example.com#setStatus">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e5133">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5696">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="#d2e5146"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5699">*/*<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="#d2e5152"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5702">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5703">/system/monitoring/memory</h3> + <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#getMemory">GET</h4> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5159">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5706">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="#d2e5166">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5709">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5710">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5711">/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="#d2e5179"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5714">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="#d2e5185"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5717">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5718">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5188">/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> + <h3 id="d2e5719">/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#getMessages">GET</h4> - <p>Retrieves the messages in the thread</p> + <h4 id="http://www.example.com#getSamplesXml">GET</h4> <h6>request query parameters</h6> <table> <tr> @@ -14629,200 +14938,129 @@ </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>from</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>to</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>lastSamples</strong></p> </td> <td> - <p>(value true/false)</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="#d2e5207">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>)</a></li> + <li><a href="#d2e5726">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5727">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5728">/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="#d2e5220"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5731">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="#d2e5226"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5735">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5229">/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> + <h3 id="d2e5736">/system/monitoring/threads/cpu</h3> <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="#d2e5237">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getThreadsCpu">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5250">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5739">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5740">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5741">/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="#d2e5263"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5744">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5745">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5746">/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="#d2e5269"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5749">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5750">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#replyToPost">PUT</h4> - <p>Creates a new reply in the forum of the course node</p> + <h4 id="http://www.example.com#setStatus">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e5276">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> - <li><a href="#d2e5277">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="#d2e5281">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>)</a></li> + <li><a href="#d2e5753">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="#d2e5294"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5300"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5756">*/*<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> - </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="#d2e5319">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="#d2e5332"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getPlainTextStatus">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5338"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5759">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5341">/repo/forums/{forumKey}/posts/{messageKey}/attachments</h3> + <h3 id="d2e5760">/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="d2e5763">/repo/courses/{resourceKey}/certificates/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -14832,99 +15070,166 @@ </tr> <tr> <td> - <p><strong>forumKey</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> - <p>The key of the forum</p> + <p>The primary key of the resource of the repository entry of the course.</p> </td> </tr> <tr> <td> - <p><strong>messageKey</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 key of the message</p> + <p>The owner of the certificate</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> + <h4 id="http://www.example.com#getCertificateInfo">HEAD</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5772">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#getCertificate">GET</h4> + <p>Return the certificate as PDF file.</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5779">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="#d2e5785"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5791"><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="#d2e5796">*/*<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="#d2e5351">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5813"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5357"><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="#d2e5364">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5819"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5370">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5825"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5376"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5831"><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> + <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="#d2e5383">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5384">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e5840"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5388">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5846"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5394"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5852"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5855">/ping</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> + <h4 id="http://www.example.com#ping">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5403">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5858">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5859">/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="#d2e5409"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5862">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5412">/repo/forums/{forumKey}/posts/{messageKey}/attachments/{filename}</h3> + <h3 id="d2e5863">/ping/{name}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -14934,61 +15239,69 @@ </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> + <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 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="#d2e5425">application/octet-stream<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="#d2e5431"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5867">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5434">/auth</h3> + <h3 id="d2e5868">/repo/courses/infos<span class="optional">?start</span><span class="optional">&limit</span></h3> <h6>Methods</h6> - <div class="methods"></div> + <div class="methods"> + <div class="method"> + <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="#d2e5874">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5875">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> </div> <div class="resource"> - <h3 id="d2e5435">/auth/{username}<span class="optional">?password</span><span class="optional">&x-olat-token</span></h3> + <h3 id="d2e5876">/repo/courses/infos/{courseId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -14998,10 +15311,10 @@ </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> @@ -15009,7 +15322,21 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#login">GET</h4> + <h4 id="http://www.example.com#getCourseInfo">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e5880">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5881">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5882">/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#getEntries">GET</h4> <h6>request query parameters</h6> <table> <tr> @@ -15019,7 +15346,36 @@ </tr> <tr> <td> - <p><strong>password</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>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> @@ -15028,7 +15384,16 @@ </tr> <tr> <td> - <p><strong>x-olat-token</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> + </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> @@ -15038,64 +15403,34 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5442">text/plain<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="#d2e5892">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5893">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e5444">/auth/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#getEntriesText">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5447">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5896">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5897">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e5448">/users</h3> - <p>This web service handles functionalities related to <code>User</code>.</p> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#create">PUT</h4> - <p>Creates and persists a new user entity</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e5455">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> - <li><a href="#d2e5456">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="#d2e5460">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="#d2e5473"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#putResource">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5479">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5900">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5901">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5902">/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#getUserListQuery">GET</h4> - <p>Search users and return them in a simple form (without user properties). User properties - can be added two the query parameters. If the authUsername and the authProvider are set, - the search is made only with these two parameters because they are sufficient to return - a single user.<br> - The search with login and user properties are made default with wild cards. If an exact - match is needed, the parameter msut be quoted:<br> - users?login="username"<br> - Don't forget the right escaping in the URL!<br> - You can make a search with the user properties like this:<br> - users?telMobile=39847592&login=test - </p> + <h4 id="http://www.example.com#searchEntries">GET</h4> <h6>request query parameters</h6> <table> <tr> @@ -15105,7 +15440,7 @@ </tr> <tr> <td> - <p><strong>login</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> @@ -15114,45 +15449,58 @@ </tr> <tr> <td> - <p><strong>authProvider</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>authUsername</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>*</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>statusVisibleLimit</strong></p> + <p><strong>myentries</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>false</tt></p> </td> <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5500">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>)</a></li> + <li><a href="#d2e5910">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5911">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e5912">/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="#d2e5513"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5915">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5516">/users/{identityKey}</h3> + <h3 id="d2e5916">/repo/entries/{repoEntryKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15162,99 +15510,57 @@ </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><strong>repoEntryKey</strong></p> </td> <td> - <p>The user key identifier 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> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#update">POST</h4> - <p>Update an user</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e5524">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>)</a></li> - <li><a href="#d2e5525">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="#d2e5529">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="#d2e5542"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5548"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getById">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5554">application/xml, application/json (<abbr title="{http://www.example.com} errorVO">ns3:errorVO</abbr>)</a></li> + <li><a href="#d2e5920">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5921">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#delete">DELETE</h4> - <p>Delete an user from the system</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5570"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#updateEntry">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e5576"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5924">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>)</a></li> + <li><a href="#d2e5925">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="#d2e5582"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5927">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5928">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#findById">GET</h4> - <p>Retrieves an user given its unique key identifier</p> - <h6>request query parameters</h6> - <table> - <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> - </tr> - <tr> - <td> - <p><strong>withPortrait</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>If true return the portrait as Base64 (default false)</p> - </td> - </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5595">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#replaceResource">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5608"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5931">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5932">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#deleteCourse">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5614"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5935">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5936">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5617">/users/{identityKey}/portrait</h3> + <h3 id="d2e5937">/repo/entries/{repoEntryKey}/coaches</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15264,74 +15570,49 @@ </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> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> + <td></td> + </tr> + <tr> <td> - <p>The identity key identifier of the user being searched</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> </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="#d2e5627">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="#d2e5633"><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="#d2e5642">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="#d2e5648"><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="#d2e5657">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="#d2e5663"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getCoaches">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5669"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5941">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5942">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#deletePortrait">DELETE</h4> - <p>Deletes the portrait of an user</p> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#addCoach">PUT</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e5678"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5945">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5946">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="#d2e5684"><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> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5687">/users/{identityKey}/status</h3> + <h3 id="d2e5949">/repo/entries/{repoEntryKey}/coaches/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15339,6 +15620,15 @@ <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> @@ -15346,61 +15636,38 @@ <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 user key identifier of the user being searched</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> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getStatus">GET</h4> - <p>Retrieves the status of a user given its unique key identifier</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5697">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="#d2e5710"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#removeCoach">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5716"><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> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#updateStatus">POST</h4> - <p>Update the roles of a user given its unique key identifier: - <ul> - <li>1: Permanent user</li> - <li>2: activ</li> - <li>101: login denied</li> - <li>199: deleted</li> - </ul> - </p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e5723">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>)</a></li> - <li><a href="#d2e5724">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="#d2e5728">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="#d2e5741"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#addCoach">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5747"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5957">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5750">/users/{identityKey}/roles</h3> + <h3 id="d2e5958">/repo/entries/{repoEntryKey}/owners/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15408,6 +15675,15 @@ <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> @@ -15415,68 +15691,38 @@ <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 user key identifier of the user being searched</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> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getRoles">GET</h4> - <p>Retrieves the roles of a user given its unique key identifier</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5760">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="#d2e5773"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5779"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#updateRoles">POST</h4> - <p>Update the roles of a user given its unique key identifier</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e5786">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>)</a></li> - <li><a href="#d2e5787">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="#d2e5791">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="#d2e5804"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#addOwner">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5810"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5963">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e5813">/users/managed</h3> - <h6>Methods</h6> - <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getManagedUsers">GET</h4> + <h4 id="http://www.example.com#removeOwner">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5816">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5817">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5966">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5818">/users/{identityKey}/preferences</h3> + <h3 id="d2e5967">/repo/entries/{repoEntryKey}/file</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15486,59 +15732,37 @@ </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> + <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>The user key identifier 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> </table> <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getUserPreferences">GET</h4> - <p>Retrieves the preferences of a user given its unique key identifier</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5828">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="#d2e5841"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5847"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - <div class="method"> - <h4 id="http://www.example.com#updatePreferences">POST</h4> - <p>Update the preferences of a user given its unique key identifier</p> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e5854">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>)</a></li> - <li><a href="#d2e5855">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="#d2e5859">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="#d2e5872"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#getRepoFileById">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5878"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5971">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5972">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5881">/users/{identityKey}/portrait/{size}</h3> + <h3 id="d2e5973">/repo/entries/{repoEntryKey}/status</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15548,7 +15772,7 @@ </tr> <tr> <td> - <p><strong>size</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> @@ -15557,10 +15781,10 @@ </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> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> @@ -15568,40 +15792,21 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getOriginalPortraitHead">HEAD</h4> - <p>Retrieves the portrait of an user</p> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e5890">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - <p><em>available response representations:</em></p> + <h4 id="http://www.example.com#deleteCoursePermanently">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e5896"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5977">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="d2e5899">/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="#d2e5906">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5980">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5981">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5917">/users/{identityKey}/folders</h3> - <p>Description:<br> - - <P> - Initial Date: 16 déc. 2011 <br> - </p> + <h3 id="d2e5982">/repo/entries/{repoEntryKey}/participants</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15611,10 +15816,19 @@ </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> + <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> @@ -15622,24 +15836,29 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFolders">GET</h4> - <p>Retrieves a list of folders on a user base. All folders of groups - where the user is participant/tutor + all folders in course where - the user is a participant (owner, tutor or participant) - </p> + <h4 id="http://www.example.com#getParticipants">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5927">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>)</a></li> + <li><a href="#d2e5986">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5987">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="#d2e5990">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5991">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="#d2e5940"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e5993">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5943">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}</h3> + <h3 id="d2e5995">/repo/entries/{repoEntryKey}/participants/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15649,16 +15868,16 @@ </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> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></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> @@ -15667,7 +15886,7 @@ </tr> <tr> <td> - <p><strong>courseNodeId</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> @@ -15678,61 +15897,23 @@ <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="#d2e5948">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5949">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5950">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5951">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5952">*/*<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="#d2e5955">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5956">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="#d2e5959">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="#d2e5964">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5965">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> + <h4 id="http://www.example.com#addParticipant">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5968">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5969">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6000">*/*<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="#d2e5972">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e5973">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#removeParticipant">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5975">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5976">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6003">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e5977">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/{path:.*}</h3> + <h3 id="d2e6004">/repo/entries/{repoEntryKey}/owners</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15742,25 +15923,59 @@ </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> + <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>courseKey</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#addOwners">PUT</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e6008">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6009">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="#d2e6011">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#getOwners">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6014">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6015">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6016">/repo/entries/{repoEntryKey}/lectureblocks</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>repoEntryKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -15769,7 +15984,7 @@ </tr> <tr> <td> - <p><strong>path</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> @@ -15780,80 +15995,44 @@ <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="#d2e5981">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5982">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5983">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5984">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5985">*/*<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#getLectureBlocks">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e5988">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5989">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5990">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6020">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6021">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> + <h4 id="http://www.example.com#putLectureBlocks">PUT</h4> <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="#d2e6024">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e6025">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="#d2e5998">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e5999">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6000">*/*<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="#d2e6003">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6004">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6005">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6027">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6028">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#putFile64ToFolder">PUT</h4> + <h4 id="http://www.example.com#postLectureBlocks">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6008">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6009">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="#d2e6011">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6012">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="#d2e6015">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6016">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6031">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6032">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>)</a></li> + <li><a href="#d2e6033">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</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="#d2e6019">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6020">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6035">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6036">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6021">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/metadata/{path:.*}</h3> + <h3 id="d2e6037">/repo/entries/{repoEntryKey}/lectureblocks/configuration</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15863,25 +16042,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>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>repoEntryKey</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -15890,7 +16051,7 @@ </tr> <tr> <td> - <p><strong>path</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> @@ -15901,17 +16062,31 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFileMetadata">GET</h4> + <h4 id="http://www.example.com#getConfiguration">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6040">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6041">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="#d2e6044">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6045">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>)</a></li> + <li><a href="#d2e6046">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="#d2e6025">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6026">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6048">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6049">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6027">/users/{identityKey}/folders/course/{courseKey}/{courseNodeId}/version</h3> + <h3 id="d2e6050">/repo/entries/{repoEntryKey}/lectureblocks/sync/calendar</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15921,25 +16096,16 @@ </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> + <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>courseNodeId</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> @@ -15950,16 +16116,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#syncCalendar">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6030">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6053">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6031">/users/{identityKey}/folders/personal</h3> + <h3 id="d2e6054">/repo/entries/{repoEntryKey}/lectureblocks/adaptation</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -15969,72 +16135,36 @@ </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> + <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="#d2e6034">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6035">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6036">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6037">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6038">*/*<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="#d2e6041">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6042">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="#d2e6045">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="#d2e6050">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6051">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="#d2e6054">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6055">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> + <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#putFile64VOToRoot">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6058">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6059">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#adapatation">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6061">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6062">application/xml<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> </div> <div class="resource"> - <h3 id="d2e6063">/users/{identityKey}/folders/personal/{path:.*}</h3> + <h3 id="d2e6058">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16044,100 +16174,53 @@ </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> + <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>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#listFiles">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6067">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6068">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6069">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6070">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6071">*/*<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="#d2e6074">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6075">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6076">*/*<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="#d2e6079">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="#d2e6084">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6085">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6086">*/*<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="#d2e6089">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6090">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6091">*/*<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="#d2e6094">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6095">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="#d2e6097">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6098">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> + <h4 id="http://www.example.com#deleteLectureBlock">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6101">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6102">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6062">*/*<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#getLectureBlock">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6105">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6106">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6065">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6066">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6107">/users/{identityKey}/folders/personal/metadata/{path:.*}</h3> + <h3 id="d2e6067">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers/{identityKey}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16147,37 +16230,61 @@ </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> + <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>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#getFileMetadata">GET</h4> + <h4 id="http://www.example.com#addTeacher">PUT</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6071">*/*<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="#d2e6111">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6112">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6074">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6113">/users/{identityKey}/folders/personal/version</h3> + <h3 id="d2e6075">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/sync/calendar</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16187,7 +16294,25 @@ </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/#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> @@ -16198,16 +16323,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#syncCalendar">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6116">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6078">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6117">/users/{identityKey}/folders/group/{groupKey}</h3> + <h3 id="d2e6079">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/teachers</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16217,16 +16342,25 @@ </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> + <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>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> @@ -16237,61 +16371,17 @@ <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="#d2e6121">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6122">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6123">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6124">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6125">*/*<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="#d2e6128">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6129">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="#d2e6132">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="#d2e6137">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6138">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="#d2e6141">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6142">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="#d2e6145">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6146">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> + <h4 id="http://www.example.com#getTeacher">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6148">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6149">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6082">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6083">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6150">/users/{identityKey}/folders/group/{groupKey}/{path:.*}</h3> + <h3 id="d2e6084">/repo/entries/{repoEntryKey}/lectureblocks/{lectureBlockKey}/participants/repositoryentry</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16301,28 +16391,28 @@ </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> + <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>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>path</strong></p> + <p><strong>lectureBlockKey</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> @@ -16330,80 +16420,163 @@ <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="#d2e6154">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6155">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6156">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6157">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6158">*/*<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#addRepositoryEntryParticipantGroup">PUT</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6161">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6162">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6163">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6087">*/*<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="#d2e6166">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#deleteRepositoryEntryParticipantGroup">DELETE</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6171">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6172">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6173">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6090">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6091">/auth</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e6092">/auth/{username}<span class="optional">?password</span><span class="optional">&x-olat-token</span></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></td> + </tr> + </table> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#putFileToFolder">PUT</h4> + <h4 id="http://www.example.com#login">GET</h4> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> + <tr> + <td> + <p><strong>password</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>x-olat-token</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="#d2e6176">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6177">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6178">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6099">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6100">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#putFile64ToFolder">PUT</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6181">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - <li><a href="#d2e6182">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> - </ul> + </div> + </div> + <div class="resource"> + <h3 id="d2e6101">/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="#d2e6184">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6185">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6104">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6105">/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#putFolders">PUT</h4> + <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="#d2e6188">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6189">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6117"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6120">/repo/courses/{courseId}/elements</h3> + <h6>Methods</h6> + <div class="methods"></div> + </div> + <div class="resource"> + <h3 id="d2e6121">/repo/courses/{courseId}/elements/version</h3> + <h6>Methods</h6> + <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#deleteItem">DELETE</h4> + <h4 id="http://www.example.com#getVersion">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6192">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6193">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6124">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6194">/users/{identityKey}/folders/group/{groupKey}/metadata/{path:.*}</h3> + <h3 id="d2e6125">/repo/courses/{courseId}/elements/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16413,16 +16586,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>courseId</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -16431,7 +16595,7 @@ </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> @@ -16442,17 +16606,17 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getFileMetadata">GET</h4> + <h4 id="http://www.example.com#getCourseNode">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6198">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6199">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6130">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6131">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6200">/users/{identityKey}/folders/group/{groupKey}/version</h3> + <h3 id="d2e6132">/repo/courses/{courseId}/elements/structure/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16462,7 +16626,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> @@ -16471,10 +16635,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> @@ -16482,38 +16646,17 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getVersion">GET</h4> + <h4 id="http://www.example.com#updateStructure">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6203">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6137">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6138">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6204">/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="d2e6206">/users/{identityKey}/courses/my<span class="optional">?start</span><span class="optional">&limit</span></h3> + <h3 id="d2e6139">/repo/courses/{courseId}/elements/structure</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16523,7 +16666,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> @@ -16534,8 +16677,15 @@ <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> + <h4 id="http://www.example.com#attachStructurePostMultiparts">POST</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6143">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6144">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#attachStructure">PUT</h4> <h6>request query parameters</h6> <table> <tr> @@ -16545,42 +16695,131 @@ </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/#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>Default: <tt>0</tt></p> </td> + <td></td> + </tr> + <tr> <td> - <p>The first result</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>limit</strong></p> + <p><strong>longTitle</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> + <p>Default: <tt>undefined</tt></p> </td> + <td></td> + </tr> + <tr> <td> - <p>Max result</p> + <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="#d2e6220">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> + <li><a href="#d2e6156">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6157">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6158">/repo/courses/{courseId}/elements/singlepage/{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>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#updateSinglePage">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6233"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6163">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6164">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6236">/users/{identityKey}/courses/teached<span class="optional">?start</span><span class="optional">&limit</span></h3> + <h3 id="d2e6165">/repo/courses/{courseId}/elements/singlepage</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16590,7 +16829,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> @@ -16601,53 +16840,137 @@ <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> + <h4 id="http://www.example.com#attachSinglePagePost">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e6169">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="#d2e6180">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6181">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="#d2e6184">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6185">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="#d2e6188">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6189">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> + <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>start</strong></p> + <p><strong>longTitle</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>objectives</strong></p> </td> <td> - <p>The first result</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>Max result</p> + <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="#d2e6250">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="#d2e6263"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6202">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6203">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6266">/users/{identityKey}/courses/favorite<span class="optional">?start</span><span class="optional">&limit</span></h3> + <h3 id="d2e6204">/repo/courses/{courseId}/elements/task/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16657,64 +16980,41 @@ </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#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> + <h4 id="http://www.example.com#updateTask">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6280">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>)</a></li> + <li><a href="#d2e6209">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="#d2e6293"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6218">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6219">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6296">/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="d2e6220">/repo/courses/{courseId}/elements/task</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16724,7 +17024,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> @@ -16735,7 +17035,19 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getUserGroupList">GET</h4> + <h4 id="http://www.example.com#attachTaskPost">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e6224">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="#d2e6235">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6236">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#attachTask">PUT</h4> <h6>request query parameters</h6> <table> <tr> @@ -16745,104 +17057,73 @@ </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>externalId</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>managed</strong></p> + <p><strong>longTitle</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> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6305">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6306">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6307">/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> - <th>parameter</th> - <th>value</th> - <th>description</th> + <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>start</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>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>accessExpertRules</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>externalId</strong></p> + <p><strong>text</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -16851,24 +17132,24 @@ </tr> <tr> <td> - <p><strong>managed</strong></p> + <p><strong>points</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/#float">float</a></em></p> </td> <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6315">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6316">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6249">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6250">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6317">/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="d2e6251">/repo/courses/{courseId}/elements/test/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16878,74 +17159,41 @@ </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> - </table> - <h6>Methods</h6> - <div class="methods"> - <div class="method"> - <h4 id="http://www.example.com#getParticipatingGroupList">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> + <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#updateTest">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e6256">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="#d2e6325">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6326">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6264">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6265">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6327">/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="d2e6266">/repo/courses/{courseId}/elements/test</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -16955,7 +17203,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> @@ -16966,7 +17214,19 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getUserGroupInfosList">GET</h4> + <h4 id="http://www.example.com#attachTestPost">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e6270">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="#d2e6280">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6281">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> @@ -16976,95 +17236,90 @@ </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>externalId</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>managed</strong></p> + <p><strong>longTitle</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> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6335">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6336">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6337">/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> - <h6>request query parameters</h6> - <table> <tr> - <th>parameter</th> - <th>value</th> - <th>description</th> + <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>start</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>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>accessExpertRules</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>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="#d2e6343">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6344">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6293">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6294">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6345">/repo/courses/infos/{courseId}</h3> + <h3 id="d2e6295">/repo/courses/{courseId}/elements/assessment/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -17081,31 +17336,67 @@ </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#getCourseInfo">GET</h4> + <h4 id="http://www.example.com#updateAssessment">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e6300">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="#d2e6349">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6350">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6307">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6308">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6351">/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="d2e6310">/repo/courses/{courseId}/elements/assessment</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#getMyContacts">GET</h4> - <p>Retrieve the contacts of the logged in identity.</p> + <h4 id="http://www.example.com#attachAssessmentPost">POST</h4> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e6314">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="#d2e6323">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6324">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> @@ -17115,39 +17406,81 @@ </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> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6363"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6335">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6336">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6366">/repo/courses/{courseId}/elements</h3> - <h6>Methods</h6> - <div class="methods"></div> - </div> - <div class="resource"> - <h3 id="d2e6367">/repo/courses/{courseId}/elements/{nodeId}</h3> + <h3 id="d2e6337">/repo/courses/{courseId}/elements/wiki/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -17177,70 +17510,21 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#getCourseNode">GET</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6372">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6373">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6374">/repo/courses/{courseId}/elements/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#updateWiki">POST</h4> + <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6377">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6342">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="d2e6378">/repo/courses/{courseId}/elements/structure/{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>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#updateStructure">POST</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6383">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6384">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6350">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6351">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6385">/repo/courses/{courseId}/elements/structure</h3> + <h3 id="d2e6352">/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> @@ -17261,15 +17545,7 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachStructurePostMultiparts">POST</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6389">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6390">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#attachStructure">PUT</h4> + <h4 id="http://www.example.com#attachWikiPost">POST</h4> <h6>request query parameters</h6> <table> <tr> @@ -17345,114 +17621,22 @@ </tr> <tr> <td> - <p><strong>displayType</strong></p> + <p><strong>wikiResourceableId</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><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="#d2e6402">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6403">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6404">/repo/courses/{courseId}/elements/singlepage/{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>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#updateSinglePage">POST</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6409">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6410">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6411">/repo/courses/{courseId}/elements/singlepage</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#attachSinglePagePost">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6415">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="#d2e6426">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6427">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="#d2e6430">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6431">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6365">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6366">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="#d2e6434">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6435">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> + <h4 id="http://www.example.com#attachWiki">PUT</h4> <h6>request query parameters</h6> <table> <tr> @@ -17528,33 +17712,24 @@ </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> + <p><strong>wikiResourceableId</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> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6448">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6449">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6378">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6379">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6450">/repo/courses/{courseId}/elements/task/{nodeId}</h3> + <h3 id="d2e6380">/repo/courses/{courseId}/elements/blog/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -17584,21 +17759,21 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#updateTask">POST</h4> + <h4 id="http://www.example.com#updateBlog">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6455">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6385">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="#d2e6464">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6465">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6393">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6394">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6466">/repo/courses/{courseId}/elements/task</h3> + <h3 id="d2e6395">/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> @@ -17619,19 +17794,7 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachTaskPost">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6470">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="#d2e6481">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6482">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#attachTask">PUT</h4> + <h4 id="http://www.example.com#attachBlogPost">POST</h4> <h6>request query parameters</h6> <table> <tr> @@ -17707,110 +17870,22 @@ </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> + <p><strong>repoEntry</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/#long">long</a></em></p> </td> <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6495">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6496">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6497">/repo/courses/{courseId}/elements/test/{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>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#updateTest">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6502">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="#d2e6510">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6511">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6512">/repo/courses/{courseId}/elements/test</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#attachTestPost">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6516">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="#d2e6526">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6527">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6408">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6409">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> + <h4 id="http://www.example.com#attachBlog">PUT</h4> <h6>request query parameters</h6> <table> <tr> @@ -17886,7 +17961,7 @@ </tr> <tr> <td> - <p><strong>testResourceableId</strong></p> + <p><strong>repoEntry</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#long">long</a></em></p> @@ -17896,14 +17971,14 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6539">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6540">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6421">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6422">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6541">/repo/courses/{courseId}/elements/assessment/{nodeId}</h3> + <h3 id="d2e6423">/repo/courses/{courseId}/elements/survey/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -17933,21 +18008,21 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#updateAssessment">POST</h4> + <h4 id="http://www.example.com#attachSurveyPost">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6546">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6428">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="#d2e6553">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6554">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6436">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6437">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6556">/repo/courses/{courseId}/elements/assessment</h3> + <h3 id="d2e6438">/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> @@ -17968,19 +18043,98 @@ <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="#d2e6560">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> + <h4 id="http://www.example.com#attachSurveyPost">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>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="#d2e6569">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6570">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6451">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6452">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> + <h4 id="http://www.example.com#attachSurvey">PUT</h4> <h6>request query parameters</h6> <table> <tr> @@ -18054,17 +18208,26 @@ </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="#d2e6581">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6582">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6464">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6465">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6583">/repo/courses/{courseId}/elements/wiki/{nodeId}</h3> + <h3 id="d2e6466">/repo/courses/{courseId}/elements/externalpage/{nodeId}</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -18074,19 +18237,19 @@ </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>nodeId</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> @@ -18094,21 +18257,21 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#updateWiki">POST</h4> + <h4 id="http://www.example.com#updateExternalPage">POST</h4> <p><em>acceptable request representations:</em></p> <ul> - <li><a href="#d2e6588">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6471">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="#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="#d2e6479">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6480">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6598">/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="d2e6481">/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> @@ -18129,7 +18292,7 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachWikiPost">POST</h4> + <h4 id="http://www.example.com#attachExternalPagePost">POST</h4> <h6>request query parameters</h6> <table> <tr> @@ -18205,22 +18368,22 @@ </tr> <tr> <td> - <p><strong>wikiResourceableId</strong></p> + <p><strong>url</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> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6611">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6612">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6494">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6495">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> + <h4 id="http://www.example.com#attachExternalPage">PUT</h4> <h6>request query parameters</h6> <table> <tr> @@ -18296,24 +18459,24 @@ </tr> <tr> <td> - <p><strong>wikiResourceableId</strong></p> + <p><strong>url</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> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6624">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6625">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6507">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6508">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6626">/repo/courses/{courseId}/elements/blog/{nodeId}</h3> + <h3 id="d2e6509">/repo/courses/{courseId}/elements/task/{nodeId}/file</h3> <h6>resource-wide template parameters</h6> <table> <tr> @@ -18343,21 +18506,25 @@ <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> + <h4 id="http://www.example.com#attachTaskFilePost">POST</h4> + <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6631">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6514">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6515">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> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6639">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6640">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6518">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6519">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6641">/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="d2e6520">/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> @@ -18374,11 +18541,20 @@ </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#attachBlogPost">POST</h4> + <h4 id="http://www.example.com#addTaskConfigurationPost">POST</h4> <h6>request query parameters</h6> <table> <tr> @@ -18388,7 +18564,16 @@ </tr> <tr> <td> - <p><strong>parentNodeId</strong></p> + <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> @@ -18397,46 +18582,187 @@ </tr> <tr> <td> - <p><strong>position</strong></p> + <p><strong>taskAssignmentText</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/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>shortTitle</strong></p> + <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> - <p>Default: <tt>undefined</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>longTitle</strong></p> + <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> - <p>Default: <tt>undefined</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>objectives</strong></p> + <p><strong>accessExpertRuleDropbox</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> + <p><strong>accessExpertRuleReturnbox</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -18445,7 +18771,7 @@ </tr> <tr> <td> - <p><strong>accessExpertRules</strong></p> + <p><strong>accessExpertRuleScoring</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -18454,22 +18780,22 @@ </tr> <tr> <td> - <p><strong>repoEntry</strong></p> + <p><strong>accessExpertRuleSolution</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> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6654">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6655">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6553">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6554">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#attachBlog">PUT</h4> + <h4 id="http://www.example.com#addTaskConfiguration">PUT</h4> <h6>request query parameters</h6> <table> <tr> @@ -18479,165 +18805,79 @@ </tr> <tr> <td> - <p><strong>parentNodeId</strong></p> + <p><strong>enableAssignment</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> </td> <td></td> </tr> <tr> <td> - <p><strong>position</strong></p> + <p><strong>taskAssignmentType</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/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>shortTitle</strong></p> + <p><strong>taskAssignmentText</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>enableTaskPreview</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> </td> <td></td> </tr> <tr> <td> - <p><strong>objectives</strong></p> + <p><strong>enableTaskDeselect</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> </td> <td></td> </tr> <tr> <td> - <p><strong>visibilityExpertRules</strong></p> + <p><strong>onlyOneUserPerTask</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> </td> <td></td> </tr> <tr> <td> - <p><strong>accessExpertRules</strong></p> + <p><strong>enableDropbox</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> </td> <td></td> </tr> <tr> <td> - <p><strong>repoEntry</strong></p> + <p><strong>enableDropboxConfirmationMail</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/#boolean">boolean</a></em></p> </td> <td></td> </tr> - </table> - <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> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6669">/repo/courses/{courseId}/elements/survey/{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>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#attachSurveyPost">POST</h4> - <p><em>acceptable request representations:</em></p> - <ul> - <li><a href="#d2e6674">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="#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> - </div> - <div class="resource"> - <h3 id="d2e6684">/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#attachSurveyPost">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> + <p><strong>dropboxConfirmationText</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -18646,89 +18886,79 @@ </tr> <tr> <td> - <p><strong>position</strong></p> + <p><strong>enableReturnbox</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>enableScoring</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> </td> <td></td> </tr> <tr> <td> - <p><strong>longTitle</strong></p> + <p><strong>grantScoring</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> </td> <td></td> </tr> <tr> <td> - <p><strong>objectives</strong></p> + <p><strong>scoreMin</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/#float">float</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>visibilityExpertRules</strong></p> + <p><strong>scoreMax</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/#float">float</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>accessExpertRules</strong></p> + <p><strong>grantPassing</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> </td> <td></td> </tr> <tr> <td> - <p><strong>surveyResourceableId</strong></p> + <p><strong>scorePassingThreshold</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/#float">float</a></em></p> </td> <td></td> </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6697">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6698">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> + <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>parentNodeId</strong></p> + <p><strong>commentForUser</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -18737,46 +18967,43 @@ </tr> <tr> <td> - <p><strong>position</strong></p> + <p><strong>commentForCoaches</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/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>shortTitle</strong></p> + <p><strong>enableSolution</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> </td> <td></td> </tr> <tr> <td> - <p><strong>longTitle</strong></p> + <p><strong>accessExpertRuleTask</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>accessExpertRuleDropbox</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> + <p><strong>accessExpertRuleReturnbox</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -18785,7 +19012,7 @@ </tr> <tr> <td> - <p><strong>accessExpertRules</strong></p> + <p><strong>accessExpertRuleScoring</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -18794,24 +19021,32 @@ </tr> <tr> <td> - <p><strong>surveyResourceableId</strong></p> + <p><strong>accessExpertRuleSolution</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> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6710">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6711">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6585">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6586">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#getTaskConfiguration">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6589">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6590">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6712">/repo/courses/{courseId}/elements/externalpage/{nodeId}</h3> + <h3 id="d2e6592">/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> @@ -18819,15 +19054,6 @@ <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>courseId</strong></p> @@ -18837,38 +19063,12 @@ </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="#d2e6717">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="#d2e6725">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6726">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6727">/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> @@ -18876,7 +19076,7 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#attachExternalPagePost">POST</h4> + <h4 id="http://www.example.com#addSurveyConfigurationPost">POST</h4> <h6>request query parameters</h6> <table> <tr> @@ -18886,88 +19086,83 @@ </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> + <p><strong>allowCancel</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> + <p>Default: <tt>false</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>shortTitle</strong></p> + <p><strong>allowNavigation</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>false</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>longTitle</strong></p> + <p><strong>allowSuspend</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>false</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>objectives</strong></p> + <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>undefined</tt></p> + <p>Default: <tt>itemPage</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>visibilityExpertRules</strong></p> + <p><strong>showNavigation</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></td> </tr> <tr> <td> - <p><strong>accessExpertRules</strong></p> + <p><strong>showQuestionTitle</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></td> </tr> <tr> <td> - <p><strong>url</strong></p> + <p><strong>showSectionsOnly</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>false</tt></p> </td> <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <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="#d2e6605">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6606">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> + <h4 id="http://www.example.com#addSurveyConfiguration">PUT</h4> <h6>request query parameters</h6> <table> <tr> @@ -18977,138 +19172,93 @@ </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> + <p><strong>allowCancel</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> + <p>Default: <tt>false</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>shortTitle</strong></p> + <p><strong>allowNavigation</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>false</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>longTitle</strong></p> + <p><strong>allowSuspend</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>false</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>objectives</strong></p> + <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>undefined</tt></p> + <p>Default: <tt>itemPage</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>visibilityExpertRules</strong></p> + <p><strong>showNavigation</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></td> </tr> <tr> <td> - <p><strong>accessExpertRules</strong></p> + <p><strong>showQuestionTitle</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></td> </tr> <tr> <td> - <p><strong>url</strong></p> + <p><strong>showSectionsOnly</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>false</tt></p> </td> <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6753">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6754">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - </ul> - </div> - </div> - </div> - <div class="resource"> - <h3 id="d2e6755">/repo/courses/{courseId}/elements/task/{nodeId}/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> - <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#attachTaskFilePost">POST</h4> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6760">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6761">application/json<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> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#attachTaskFile">PUT</h4> + <h4 id="http://www.example.com#getSurveyConfiguration">GET</h4> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6764">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6765">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6621">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6622">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6766">/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="d2e6623">/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> @@ -19138,7 +19288,7 @@ <h6>Methods</h6> <div class="methods"> <div class="method"> - <h4 id="http://www.example.com#addTaskConfigurationPost">POST</h4> + <h4 id="http://www.example.com#addTestConfigurationPost">POST</h4> <h6>request query parameters</h6> <table> <tr> @@ -19148,428 +19298,501 @@ </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> + <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>onlyOneUserPerTask</strong></p> + <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>enableDropbox</strong></p> + <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>enableDropboxConfirmationMail</strong></p> + <p><strong>numAttempts</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>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>enableReturnbox</strong></p> + <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>enableScoring</strong></p> + <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>grantScoring</strong></p> + <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>scoreMin</strong></p> + <p><strong>showResultsDependendOnDate</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/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>scoreMax</strong></p> + <p><strong>showResultsOnHomepage</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/#boolean">boolean</a></em></p> + <p>Default: <tt>false</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>grantPassing</strong></p> + <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>scorePassingThreshold</strong></p> + <p><strong>showQuestionProgress</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/#boolean">boolean</a></em></p> + <p>Default: <tt>true</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>enableCommentField</strong></p> + <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>commentForUser</strong></p> + <p><strong>showSectionsOnly</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>false</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>commentForCoaches</strong></p> + <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>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> + <p><strong>startDate</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>accessExpertRuleDropbox</strong></p> + <p><strong>endDate</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> + <p><em>available response 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> + </ul> + </div> + <div class="method"> + <h4 id="http://www.example.com#addTestConfiguration">PUT</h4> + <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>allowCancel</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>false</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>accessExpertRuleSolution</strong></p> + <p><strong>allowNavigation</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>false</tt></p> </td> <td></td> </tr> - </table> - <p><em>available response representations:</em></p> - <ul> - <li><a href="#d2e6799">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6800">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> + <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>taskAssignmentType</strong></p> + <p><strong>numAttempts</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>taskAssignmentText</strong></p> + <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>enableTaskPreview</strong></p> + <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>enableTaskDeselect</strong></p> + <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>onlyOneUserPerTask</strong></p> + <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>enableDropbox</strong></p> + <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>enableDropboxConfirmationMail</strong></p> + <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>dropboxConfirmationText</strong></p> + <p><strong>showScoreInfo</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></td> </tr> <tr> <td> - <p><strong>enableReturnbox</strong></p> + <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>enableScoring</strong></p> + <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>grantScoring</strong></p> + <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>scoreMin</strong></p> + <p><strong>summaryPresentation</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/#string">string</a></em></p> + <p>Default: <tt>summaryCompact</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>scoreMax</strong></p> + <p><strong>startDate</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/#long">long</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>grantPassing</strong></p> + <p><strong>endDate</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/#long">long</a></em></p> </td> <td></td> </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6670">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6671">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#getTestConfiguration">GET</h4> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6674">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6675">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6677">/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> + <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#getForums">GET</h4> + <p>Retrieves metadata of the published course node</p> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6687">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="#d2e6700"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6706"><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> + <p><em>acceptable request representations:</em></p> + <ul> + <li><a href="#d2e6713">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="#d2e6727">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="#d2e6740"><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> + </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> + <h6>request query parameters</h6> + <table> + <tr> + <th>parameter</th> + <th>value</th> + <th>description</th> + </tr> <tr> <td> - <p><strong>scorePassingThreshold</strong></p> + <p><strong>parentNodeId</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/#string">string</a></em></p> </td> <td></td> </tr> <tr> <td> - <p><strong>enableCommentField</strong></p> + <p><strong>position</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> </td> <td></td> </tr> <tr> <td> - <p><strong>commentForUser</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>commentForCoaches</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> + <p>Default: <tt>undefined</tt></p> </td> <td></td> </tr> <tr> <td> - <p><strong>enableSolution</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><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>accessExpertRuleTask</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> @@ -19578,7 +19801,7 @@ </tr> <tr> <td> - <p><strong>accessExpertRuleDropbox</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> @@ -19587,7 +19810,7 @@ </tr> <tr> <td> - <p><strong>accessExpertRuleReturnbox</strong></p> + <p><strong>moderatorExpertRules</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -19596,7 +19819,7 @@ </tr> <tr> <td> - <p><strong>accessExpertRuleScoring</strong></p> + <p><strong>posterExpertRules</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -19605,7 +19828,7 @@ </tr> <tr> <td> - <p><strong>accessExpertRuleSolution</strong></p> + <p><strong>readerExpertRules</strong></p> </td> <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> @@ -19615,22 +19838,82 @@ </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6831">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6832">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6766">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="#d2e6779"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6785"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6788">/repo/courses/{courseId}/elements/forum/{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> + <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#getTaskConfiguration">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="#d2e6801">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="#d2e6814"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6835">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6836">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6820"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6838">/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> + <h3 id="d2e6823">/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> @@ -19647,6 +19930,17 @@ </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> @@ -19654,13 +19948,16 @@ <td> <p><em><a href="http://www.w3.org/TR/xmlschema-2/#string">string</a></em></p> </td> - <td></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#addSurveyConfigurationPost">POST</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> @@ -19670,83 +19967,110 @@ </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> + <p><strong>title</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>allowNavigation</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/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> + <p>The title for the first post in the thread</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>allowSuspend</strong></p> + <p><strong>body</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> + </td> + <td> + <p>The body for the first post in the thread</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>sequencePresentation</strong></p> + <p><strong>identityName</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> + <p>The author identity name (optional)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>showQuestionTitle</strong></p> + <p><strong>sticky</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> + <p>Creates sticky thread.</p> </td> - <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6851">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6852">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6849">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="#d2e6862"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6868"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6871">/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> + <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#addSurveyConfiguration">PUT</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> @@ -19756,93 +20080,129 @@ </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> + <p><strong>parentMessageId</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>allowNavigation</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>Default: <tt>false</tt></p> + <p>The id of the parent message.</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>allowSuspend</strong></p> + <p><strong>title</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> + </td> + <td> + <p>The title for the first post in the thread</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>sequencePresentation</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> - <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> + <p>The body for the first post in the thread</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> + <p><strong>identityName</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>showSectionsOnly</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/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> + <p>The author identity name (optional)</p> </td> - <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6863">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="#d2e6897">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="#d2e6910"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6916"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e6919">/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> + <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#getSurveyConfiguration">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="#d2e6930">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="#d2e6867">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6868">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6943"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6949"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <div class="resource"> - <h3 id="d2e6869">/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> + <h3 id="d2e6952">/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> @@ -19859,6 +20219,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> @@ -19872,47 +20241,18 @@ <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> + <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>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> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>numAttempts</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> @@ -19922,141 +20262,75 @@ </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> + <p><strong>limit</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/#int">int</a></em></p> + <p>Default: <tt>25</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> + <p><strong>orderBy</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>showQuestionProgress</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>Default: <tt>true</tt></p> + <p>(value name,creationDate)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>showScoreProgress</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> <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> + <p>(value true/false)</p> </td> - <td></td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6893">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6894">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e6968">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="#d2e6981"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e6987"><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#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="#d2e6994">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="#d2e7001">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="#d2e7014"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7020"><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> @@ -20066,227 +20340,677 @@ </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> + <p><strong>title</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>allowNavigation</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/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> + <p>The title for the first post in the thread</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> + <p><strong>body</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>numAttempts</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/#int">int</a></em></p> - <p>Default: <tt>0</tt></p> + <p>The body for the first post in the thread</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>sequencePresentation</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>Default: <tt>itemPage</tt></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="#d2e7039">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="#d2e7052"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7058"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e7061">/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> - <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> + <th>parameter</th> + <th>value</th> + <th>description</th> </tr> <tr> <td> - <p><strong>showQuestionTitle</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>Default: <tt>true</tt></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>showResultsAfterFinish</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>Default: <tt>true</tt></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>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> + <p><strong>orderBy</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>showResultsOnHomepage</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>Default: <tt>false</tt></p> + <p>(value name, creationDate)</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>showScoreInfo</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> <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> + <p>(value true/false)</p> </td> - <td></td> + </tr> + </table> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7080">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="#d2e7093"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7099"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e7102">/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="#d2e7110">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="#d2e7123">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="#d2e7136"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7142"><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> </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> + <p><strong>title</strong></p> </td> - <td></td> - </tr> - <tr> <td> - <p><strong>showSectionsOnly</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/#boolean">boolean</a></em></p> - <p>Default: <tt>false</tt></p> + <p>The title for the first post in the thread</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>summaryPresentation</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> - <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> + <p>The body for the first post in the thread</p> </td> - <td></td> </tr> <tr> <td> - <p><strong>endDate</strong></p> + <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></td> + <td> + <p>The author user key (optional)</p> + </td> </tr> </table> <p><em>available response representations:</em></p> <ul> - <li><a href="#d2e6916">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6917">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7161">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="#d2e7174"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7180"><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="#d2e7187">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>)</a></li> + <li><a href="#d2e7188">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="#d2e7192">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="#d2e7205"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + <p><em>available response representations:</em></p> + <ul> + <li><a href="#d2e7211"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e7214">/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="#d2e7224">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="#d2e7230"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> <div class="method"> - <h4 id="http://www.example.com#getTestConfiguration">GET</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="#d2e7239">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="#d2e7245"><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="#d2e7252">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>)</a></li> + <li><a href="#d2e7253">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="#d2e7257">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="#d2e7263"><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="#d2e7270">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="#d2e7276">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="#d2e7282"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + </ul> + </div> + </div> + </div> + <div class="resource"> + <h3 id="d2e7285">/repo/courses/{courseId}/elements/forum/{nodeId}/forum/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>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 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="#d2e7298">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="#d2e6920">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> - <li><a href="#d2e6921">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> + <li><a href="#d2e7304"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></a></li> </ul> </div> </div> </div> <h2 id="representations">Representations</h2> - <h3 id="d2e39">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e9">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e10">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e14">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e15">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e23">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e24">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e30">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e33">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e36">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e40">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e45">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e46">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e54">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e55">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e58">application/xml (<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="d2e59">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="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="d2e65">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e70">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e71">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e75">application/xml (<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="d2e76">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="d2e78">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e79">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e86">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e87">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e90">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e91">application/json<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="d2e102">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e106">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e111">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e116">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e120">application/xhtml+xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e121">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e124">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e136"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Registration successful</p> + <h3 id="d2e140"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Already registered, HTTP-Header location set to redirect</p> + <h3 id="d2e147">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e152"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Registration successful</p> + <h3 id="d2e156"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Already registered, HTTP-Header location set to redirect</p> + <h3 id="d2e163">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e164">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e168">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e174">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e175">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e181">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e182">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} ">assessableResultsVO</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e186">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="d2e188">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e195">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e196">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e207">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="d2e208">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="d2e212">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"?> -<courseNodeVO> - <id>id</id> -</courseNodeVO> +<authenticationVO> + <key>38759</key> + <identityKey>345</identityKey> + <provider>OLAT</provider> + <authUsername>john</authUsername> +</authenticationVO> </code></pre></p> - <p>The folder node metadatas</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="d2e52"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e225"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e58"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e67">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>) + <h3 id="d2e231"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e237"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Cannot create the authentication for an unkown reason</p> + <h3 id="d2e243"><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="d2e250">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"?> -<folders totalCount="1"> - <folders> - <folder name="Course folder" courseKey="375397" courseNodeId="438950850389" subscribed="true" write="false" read="false" list="false" delete="false"/> - </folders> -</folders> +<authenticationVOes> + <authenticationVO> + <key>38759</key> + <identityKey>345</identityKey> + <provider>OLAT</provider> + <authUsername>john</authUsername> + </authenticationVO> +</authenticationVOes> </code></pre></p> - <p>The course node metadatas</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="d2e80"><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="d2e86"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e93">application/x-www-form-urlencoded<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> + <p>The identity not found</p> + <h3 id="d2e281"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The authentication successfully deleted</p> + <h3 id="d2e287"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e293"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the authentication not found</p> + <h3 id="d2e303">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="d2e321">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e121">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e328"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The password successfully changed</p> + <h3 id="d2e334"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e340"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The password was not changed</p> + <h3 id="d2e346"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the authentication not found</p> + <h3 id="d2e389">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"?> @@ -20294,17 +21018,17 @@ <id>id</id> </courseNodeVO> </code></pre></p> - <p>The folder node metadatas</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="d2e134"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e402"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e140"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e408"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The course or parentNode not found</p> - <h3 id="d2e154">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e415">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e176">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e446">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"?> @@ -20312,760 +21036,797 @@ <id>id</id> </courseNodeVO> </code></pre></p> - <p>The folder node metadatas</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="d2e189"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e459"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e195"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e465"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The course or parentNode not found</p> - <h3 id="d2e204">application/xml, application/json (<abbr title="{http://www.example.com} folderVO">ns3:folderVO</abbr>) + <h3 id="d2e477">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"?> -<folder name="Course folder" courseKey="375397" courseNodeId="438950850389" subscribed="true" write="false" read="false" list="false" delete="false"/> +<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 course node metadatas</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="d2e217"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e490"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e223"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e231">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e232">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e233">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e234">application/octet-stream<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> - <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/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e247">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e248">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e251">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e252">application/xml<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} ">fileUpload</abbr>) - </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e256">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e496"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or course node not found</p> + <h3 id="d2e503">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e509">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e510">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e511">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e512">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e517">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e523">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e524">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e525">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e526">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e529">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e532">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e537">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e540">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e543">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e598">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="d2e258">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e259">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e264">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e265">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e266">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e267">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e268">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <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="d2e273">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e276">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e611"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e617"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e624">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e281">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e282">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e283">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e286">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e287">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e288">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e291">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="d2e292">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="d2e294">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e295">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e298">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e299">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e302">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e303">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e308">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e309">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e313">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e318">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e319">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e328">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e329">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e342">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e343">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e346">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e347">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e349">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e350">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e353">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e354">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e356">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e357">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e362">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e363">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e367">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + <h3 id="d2e647">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="d2e368">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + <h3 id="d2e660"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e666"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e686">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="d2e370">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e371">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e374">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e375">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + <h3 id="d2e697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The entry cannot be found</p> + <h3 id="d2e708"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The value is saved in the course</p> + <h3 id="d2e715">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="d2e376">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + <h3 id="d2e726"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The entry cannot be found</p> + <h3 id="d2e733">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e738"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The value is saved in the course</p> + <h3 id="d2e745"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>the key value pair is remove from the db</p> + <h3 id="d2e749"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e753"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The entry cannot be found</p> + <h3 id="d2e767">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="d2e378">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e379">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e390">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e391">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e412">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e413">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e416">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>) + <h3 id="d2e781">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="d2e417">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">courseVO</abbr>) + <h3 id="d2e782">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="d2e419">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e420">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="d2e428">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e433">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e434">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e437">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e438">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e443">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e444">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e447">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <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="d2e461">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e465">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e466">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e470">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e473">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e474">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e478">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e482">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e487">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e488">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e491">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e494">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e495">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e499">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e500">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e502">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e505">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e506">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e511">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e512">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e514">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e517">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e518">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e522">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e523">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e526">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e527">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e529">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e534">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e538">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e542">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e543">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e551">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e552">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e556">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e557">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} ">groupVO</abbr>) + <h3 id="d2e784"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>the key value pair is saved on the db</p> + <h3 id="d2e791">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="d2e561">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) + <h3 id="d2e792">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="d2e563">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e564">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e569">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e572">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e575">*/* (<abbr title="{http://wadl.dev.java.net/2009/02} ">groupVO</abbr>) + <h3 id="d2e794"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>the key value pair is saved on the db</p> + <h3 id="d2e802">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="d2e826"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>the key value pair is remove from the db</p> + <h3 id="d2e830"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e834"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The entry cannot be found</p> + <h3 id="d2e844">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="d2e577">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e581">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e586">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e587">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e588">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e589">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e590">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e593">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e594">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e597">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e602">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e603">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e606">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e607">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e610">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e845">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="d2e611">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e849">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="d2e862"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e868">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="d2e889">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"?> +<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 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="d2e613">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e614">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e619">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e620">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e621">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e622">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e623">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e626">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e627">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e628">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e631">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e636">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e638">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e641">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e642">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e643">*/*<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} ">fileUpload</abbr>) + <h3 id="d2e902"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e913">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="d2e647">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e914">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="d2e649">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e650">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e653">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e654">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e657">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e658">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e663">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e664">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e668">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e679">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h3 id="d2e918">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"?> -<forum name="My forum" detailsName="It is a forum" forumKey="3865487" courseKey="286" courseNodeId="2784628" subscribed="false"/> +<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 root message of the thread</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="d2e692"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e931"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e698"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The forum not found</p> - <h3 id="d2e717">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e937"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e943">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"?> -<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> +<errorVOes> + <errorVO> + <code>org.olat.restapi:error</code> + <translation>Hello world, there is an error</translation> + </errorVO> +</errorVOes> </code></pre></p> - <p>The root message of the thread</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="d2e730"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e959"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The user is removed from the group</p> + <h3 id="d2e965"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e736"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e755">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) - </h3> + <h3 id="d2e971"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e984">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"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<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 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="d2e768"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The user</p> + <h3 id="d2e997"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e774"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e781">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e788">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) - </h3> + <h3 id="d2e1003"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1016">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"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<statusVO> + <status>2</status> +</statusVO> </code></pre></p> - <p>The root message of the thread</p> + <p>The user</p> + <h3 id="d2e1029"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1035"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1042">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="d2e801"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e807"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e829">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e1043">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="d2e1047">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"?> -<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> +<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 root message of the thread</p> + <p>The user</p> + <h3 id="d2e1060"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1066"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1079">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="d2e1092"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1098"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1105">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="d2e842"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e848"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e859">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e872">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e1106">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="d2e1110">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="d2e1123"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1129"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1139">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="d2e1159">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e1165"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e1174">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e1180"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e1189">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e1195"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Not authorized</p> + <h3 id="d2e1201"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e1210"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait deleted</p> + <h3 id="d2e1216"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Not authorized</p> + <h3 id="d2e1222">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1223">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1234">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"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<preferencesVO> + <language>de</language> +</preferencesVO> </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="d2e885"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The preferences</p> + <h3 id="d2e1247"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e891"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author or message not found</p> - <h3 id="d2e898">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e1253"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1260">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="d2e899">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e1261">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="d2e903">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) - </h3> + <h3 id="d2e1265">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"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<preferencesVO> + <language>de</language> +</preferencesVO> </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="d2e916"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The user</p> + <h3 id="d2e1278"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e922"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author or message not found</p> - <h3 id="d2e941">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e1284"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1296">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e1302"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e1316">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"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<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 root message of the thread</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="d2e954"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1329"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e960"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author or message not found</p> - <h3 id="d2e973">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The links to the attachments</p> - <h3 id="d2e979"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The message not found</p> - <h3 id="d2e986">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1335">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1336">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1337">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1338">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1339">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1342">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1343">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1346">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e992">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Ok</p> - <h3 id="d2e998"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e1005">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="d2e1006">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="d2e1010">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Ok</p> - <h3 id="d2e1016"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e1025">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Ok</p> - <h3 id="d2e1031"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e1047">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e1053"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <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/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="d2e1073">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1074">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1077">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1078">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} "></abbr></h3> - <h3 id="d2e1081">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1086">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1087">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} ">eventVO</abbr>) + <h3 id="d2e1351">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1352">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1355">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1356">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1359">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="d2e1092">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + <h3 id="d2e1360">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="d2e1094">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1095">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1098">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1099">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + <h3 id="d2e1362">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1363">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1368">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1369">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1370">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1371">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1372">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1375">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1376">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1377">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1380">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e1385">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1386">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1387">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1390">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1391">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1392">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1395">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="d2e1100">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">eventVO</abbr>) + <h3 id="d2e1396">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="d2e1102">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1103">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1114">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) + <h3 id="d2e1398">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1399">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1402">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1403">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1406">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1407">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1411">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1416">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1417">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1423">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1424">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1425">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1426">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1427">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1430">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1431">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1434">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e1439">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1440">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1443">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1444">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1447">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"?> -<viteroBookingVO> - <bookingId>23</bookingId> - <groupId>24</groupId> - <groupName>NEW-EVENT_OLAT_938745983</groupName> - <eventName>New event</eventName> - <externalId>AC-234</externalId> - <start>2017-07-20T10:13:15.641+02:00</start> - <startBuffer>15</startBuffer> - <end>2017-07-20T10:13:15.641+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> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1128">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <h3 id="d2e1448">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="d2e1129">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <h3 id="d2e1450">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1451">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1456">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1457">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1458">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1459">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1460">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1463">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1464">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1465">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1468">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e1473">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1474">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1475">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1478">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1479">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1480">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1483">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="d2e1133">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) + <h3 id="d2e1484">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"?> -<viteroBookingVO> - <bookingId>23</bookingId> - <groupId>24</groupId> - <groupName>NEW-EVENT_OLAT_938745983</groupName> - <eventName>New event</eventName> - <externalId>AC-234</externalId> - <start>2017-07-20T10:13:15.641+02:00</start> - <startBuffer>15</startBuffer> - <end>2017-07-20T10:13:15.641+02:00</end> - <endBuffer>15</endBuffer> - <roomSize>22</roomSize> - <autoSignIn>true</autoSignIn> - <timeZoneId></timeZoneId> -</viteroBookingVO> -</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="d2e1147">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <h3 id="d2e1486">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1487">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1490">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1491">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1494">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1495">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1499">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1504">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1505">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1510">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1511">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1512">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1513">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1514">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1517">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1518">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1521">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e1526">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1527">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1530">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1531">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1534">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="d2e1148">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <h3 id="d2e1535">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="d2e1152">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) + <h3 id="d2e1537">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1538">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1543">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1544">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1545">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1546">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1547">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1550">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1551">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1552">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1555">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e1560">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1561">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1562">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1565">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1566">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1567">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1570">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"?> -<viteroBookingVO> - <bookingId>23</bookingId> - <groupId>24</groupId> - <groupName>NEW-EVENT_OLAT_938745983</groupName> - <eventName>New event</eventName> - <externalId>AC-234</externalId> - <start>2017-07-20T10:13:15.641+02:00</start> - <startBuffer>15</startBuffer> - <end>2017-07-20T10:13:15.641+02:00</end> - <endBuffer>15</endBuffer> - <roomSize>22</roomSize> - <autoSignIn>true</autoSignIn> - <timeZoneId></timeZoneId> -</viteroBookingVO> -</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="d2e1172">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>) + <h3 id="d2e1571">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"?> -<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="d2e1186">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1187">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1191">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>) + <h3 id="d2e1573">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1574">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1577">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1578">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1581">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1582">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1586">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1591">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1592">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1609">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"?> -<viteroGroupMemberVO> - <identityKey>23497</identityKey> - <groupRole>participant</groupRole> -</viteroGroupMemberVO> +<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>This is the list of all bookings of a resource</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="d2e1209"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The booking is deleted</p> - <h3 id="d2e1223">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>) + <h3 id="d2e1622"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1639">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"?> -<trainingVO> - <key>4534759</key> - <name>Training</name> - <externalId>AC-234</externalId> - <start>2017-07-20T10:13:15.633+02:00</start> - <end>2017-07-20T10:13:15.633+02:00</end> -</trainingVO> +<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>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="d2e1237">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="d2e1238">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>) - </h3> + <p>The courses</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1242">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>) + <h3 id="d2e1652"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1669">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"?> -<trainingVO> - <key>4534759</key> - <name>Training</name> - <externalId>AC-234</externalId> - <start>2017-07-20T10:13:15.633+02:00</start> - <end>2017-07-20T10:13:15.633+02:00</end> -</trainingVO> +<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>Created a training</p> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1256">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="d2e1257">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">trainingVO</abbr>) - </h3> + <p>The courses</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1261">application/xml, application/json (<abbr title="{http://www.example.com} goToTrainingVO">ns3:goToTrainingVO</abbr>) - </h3> + <h3 id="d2e1682"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e1694">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1695">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1704">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1705">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="d2e1715">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1724">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1725">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1743">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"?> -<trainingVO> - <key>4534759</key> - <name>Training</name> - <externalId>AC-234</externalId> - <start>2017-07-20T10:13:15.633+02:00</start> - <end>2017-07-20T10:13:15.633+02: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="d2e1279"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The training is deleted</p> - <h3 id="d2e1285">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1286">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1289">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="d2e1290">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="d2e1292">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1293">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1296">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1297">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="d2e1298">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="d2e1300">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1301">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1305">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1306">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1309">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1310">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>) +<subscriptionInfoVOes> + <subscriptionInfoVO> + <title>Infos</title> + <items/> + </subscriptionInfoVO> +</subscriptionInfoVOes> +</code></pre></p> + <p>The notifications</p> + <h3 id="d2e1756"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity not found</p> + <h3 id="d2e1762">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="d2e1311">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>) + <h3 id="d2e1763">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="d2e1313">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1314">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1318">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1322">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1327">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1330">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1331">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1336">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1339">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1343">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1344">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1348">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1351">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1355">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1363">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1364">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1380">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) + <h3 id="d2e1765">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1770">*/*<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="d2e1778">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1794">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"?> @@ -21075,9 +21836,9 @@ <groupName>NEW-EVENT_OLAT_938745983</groupName> <eventName>New event</eventName> <externalId>AC-234</externalId> - <start>2017-07-20T10:13:15.641+02:00</start> + <start>2017-10-30T22:44:35.553+01:00</start> <startBuffer>15</startBuffer> - <end>2017-07-20T10:13:15.641+02:00</end> + <end>2017-10-30T22:44:35.553+01:00</end> <endBuffer>15</endBuffer> <roomSize>22</roomSize> <autoSignIn>true</autoSignIn> @@ -21088,17 +21849,17 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1394">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <h3 id="d2e1808">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="d2e1395">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <h3 id="d2e1809">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="d2e1399">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) + <h3 id="d2e1813">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"?> @@ -21108,9 +21869,9 @@ <groupName>NEW-EVENT_OLAT_938745983</groupName> <eventName>New event</eventName> <externalId>AC-234</externalId> - <start>2017-07-20T10:13:15.641+02:00</start> + <start>2017-10-30T22:44:35.553+01:00</start> <startBuffer>15</startBuffer> - <end>2017-07-20T10:13:15.641+02:00</end> + <end>2017-10-30T22:44:35.553+01:00</end> <endBuffer>15</endBuffer> <roomSize>22</roomSize> <autoSignIn>true</autoSignIn> @@ -21121,17 +21882,17 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1413">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <h3 id="d2e1827">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="d2e1414">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">viteroBookingVO</abbr>) + <h3 id="d2e1828">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="d2e1418">application/xml, application/json (<abbr title="{http://www.example.com} viteroBookingVO">ns3:viteroBookingVO</abbr>) + <h3 id="d2e1832">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"?> @@ -21141,9 +21902,9 @@ <groupName>NEW-EVENT_OLAT_938745983</groupName> <eventName>New event</eventName> <externalId>AC-234</externalId> - <start>2017-07-20T10:13:15.641+02:00</start> + <start>2017-10-30T22:44:35.553+01:00</start> <startBuffer>15</startBuffer> - <end>2017-07-20T10:13:15.641+02:00</end> + <end>2017-10-30T22:44:35.553+01:00</end> <endBuffer>15</endBuffer> <roomSize>22</roomSize> <autoSignIn>true</autoSignIn> @@ -21154,7 +21915,7 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1438">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>) + <h3 id="d2e1852">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"?> @@ -21167,9 +21928,9 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1452">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1453">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1457">application/xml, application/json (<abbr title="{http://www.example.com} viteroGroupMemberVO">ns3:viteroGroupMemberVO</abbr>) + <h3 id="d2e1866">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1867">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1871">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"?> @@ -21182,122 +21943,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1475"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1889"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The booking is deleted</p> - <h3 id="d2e1484">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1485">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1488">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="d2e1489">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="d2e1491">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1492">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1497">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1498">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1501">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="d2e1502">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="d2e1504">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1505">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1508">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1513">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1516">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e1519">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1522">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1527">*/* (<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="d2e1529">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1534">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1535">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1540">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1541">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1546">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1547">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1553">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1556">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1562">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1565">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1569">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1579">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1580">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1585">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1586">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1587">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1588">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1589">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1592">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1593">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1596">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e1601">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1602">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1605">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1606">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1609">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="d2e1610">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="d2e1612">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1613">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1618">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1619">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1620">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1621">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1622">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1625">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1626">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1627">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1630">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e1635">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1636">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1637">*/*<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="d2e1642">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1645">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="d2e1646">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="d2e1648">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1649">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1652">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1653">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1656">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1657">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1662">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1663">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1667">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e1678">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h3 id="d2e1900">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="d2e1922">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"?> @@ -21307,11 +21959,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1691"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <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="d2e1697"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1941"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The forum not found</p> - <h3 id="d2e1716">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e1960">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"?> @@ -21330,11 +21982,13 @@ <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="d2e1973"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1735"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e1979"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e1754">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e1986">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e1993">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"?> @@ -21349,13 +22003,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1767"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2006"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1773"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2012"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e1780">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e1787">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2031">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"?> @@ -21370,11 +22022,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1800"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2044"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1806"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2050"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e1828">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e2072">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"?> @@ -21393,13 +22045,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1841"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2085"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1847"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2091"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e1858">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2102">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e1871">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2115">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"?> @@ -21414,21 +22066,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1884"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2128"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1890"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2134"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e1897">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="d2e1898">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="d2e1902">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2153">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"?> @@ -21443,11 +22085,21 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1915"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2166"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1921"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2172"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e1940">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2179">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="d2e2180">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="d2e2184">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"?> @@ -21462,248 +22114,55 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e1953"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2197"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e1959"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2203"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e1972">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2216">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The links to the attachments</p> - <h3 id="d2e1978"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2222"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The message not found</p> - <h3 id="d2e1985">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e1991">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2231">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e1997"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2237"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e2004">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e2244">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="d2e2005">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e2245">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="d2e2009">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2249">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e2015"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2255"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e2024">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2262">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e2268">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e2030"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2274"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e2046">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2290">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The portrait as image</p> - <h3 id="d2e2052"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2296"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e2072">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="d2e2083"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The entry cannot be found</p> - <h3 id="d2e2090">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="d2e2101"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The entry cannot be found</p> - <h3 id="d2e2108">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e2113"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The value is saved in the course</p> - <h3 id="d2e2120"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>the key value pair is remove from the db</p> - <h3 id="d2e2124"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2128"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The entry cannot be found</p> - <h3 id="d2e2139"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The value is saved in the course</p> - <h3 id="d2e2153">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="d2e2167">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="d2e2168">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="d2e2170"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>the key value pair is saved on the db</p> - <h3 id="d2e2177">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="d2e2178">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="d2e2180"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>the key value pair is saved on the db</p> - <h3 id="d2e2197"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>the key value pair is remove from the db</p> - <h3 id="d2e2201"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2205"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The entry cannot be found</p> - <h3 id="d2e2213">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="d2e2227">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2233">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2234">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2235">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2236">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2241">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2247">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2248">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2249">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2250">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2253">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2256">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2261">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2264">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2267">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e2278">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"?> -<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 course node metadatas</p> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2291"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2297"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e2304">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e2318">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="d2e2331"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2337"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e2357">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="d2e2370"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2376"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e2392">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h3 id="d2e2311">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="d2e2405"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2411"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e2440">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="d2e2453"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2459"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e2488">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> + <p>The forums</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2501"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2324"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2507"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author, forum or message not found</p> - <h3 id="d2e2521">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h3 id="d2e2337">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"?> @@ -21713,11 +22172,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2534"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2350"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2540"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2356"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The forum not found</p> - <h3 id="d2e2559">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e2375">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"?> @@ -21736,11 +22195,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2572"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2388"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2578"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2394"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e2597">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2401">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e2408">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"?> @@ -21755,13 +22216,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2610"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <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="d2e2616"><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 author, forum or message not found</p> - <h3 id="d2e2623">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e2630">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2446">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"?> @@ -21776,11 +22235,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2643"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2459"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2649"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2465"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e2671">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e2487">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"?> @@ -21799,13 +22258,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2684"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2500"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2690"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2506"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e2701">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2517">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e2714">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2530">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"?> @@ -21820,21 +22279,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2727"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2543"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2733"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2549"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e2740">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="d2e2741">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="d2e2745">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2568">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"?> @@ -21849,11 +22298,21 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2758"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2581"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2764"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2587"><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://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2594">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="d2e2595">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="d2e2599">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"?> @@ -21868,55 +22327,43 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2796"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2612"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2802"><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> <p>The author or message not found</p> - <h3 id="d2e2815">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2631">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The links to the attachments</p> - <h3 id="d2e2821"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2637"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The message not found</p> - <h3 id="d2e2828">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e2834">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2646">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e2840"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2652"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e2847">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e2659">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="d2e2848">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e2660">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="d2e2852">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Ok</p> - <h3 id="d2e2858"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e2867">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2664">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e2873"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2670"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e2889">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e2895"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e2910">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="d2e2923"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2937">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h3 id="d2e2677">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e2683">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Ok</p> + <h3 id="d2e2689"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e2705">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e2711"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e2725">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"?> @@ -21926,11 +22373,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2950"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <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="d2e2956"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2744"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The forum not found</p> - <h3 id="d2e2975">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e2763">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"?> @@ -21949,11 +22396,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e2988"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2776"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e2994"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2782"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e3013">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2789">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e2796">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"?> @@ -21968,13 +22417,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3026"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2809"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3032"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2815"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e3039">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3046">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2834">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"?> @@ -21989,11 +22436,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3059"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2847"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3065"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2853"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e3087">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e2875">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"?> @@ -22012,13 +22459,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3100"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2888"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3106"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2894"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e3117">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2905">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e3130">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2918">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"?> @@ -22033,21 +22480,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3143"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2931"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3149"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2937"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e3156">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="d2e3157">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="d2e3161">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2956">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"?> @@ -22062,11 +22499,21 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3174"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2969"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3180"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e2975"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e3199">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e2982">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="d2e2983">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="d2e2987">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"?> @@ -22081,43 +22528,156 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3212"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3000"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3218"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3006"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e3231">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3019">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The links to the attachments</p> - <h3 id="d2e3237"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3025"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The message not found</p> - <h3 id="d2e3244">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3250">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3034">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e3256"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3040"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e3263">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e3047">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="d2e3264">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e3048">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="d2e3268">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3052">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e3274"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3058"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e3283">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3065">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e3071">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e3289"><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> <p>The identity or the portrait not found</p> - <h3 id="d2e3305">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3093">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The portrait as image</p> - <h3 id="d2e3311"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3099"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e3324">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h3 id="d2e3106">text/plain<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">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="d2e3119">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="d2e3121">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3122">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3128">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3129">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3133">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3138">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3139">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3142">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="d2e3143">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="d2e3145">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3146">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3149">*/*<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="d2e3157">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e3160">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3163">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3168">*/* (<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="d2e3170">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3175">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3176">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3181">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3182">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3187">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3188">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3194">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3197">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3203">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3206">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3212">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} "></abbr></h3> + <h3 id="d2e3214">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3215">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3216">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3219">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3220">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3223">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e3228">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3229">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3232">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3233">application/xml<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} ">fileUpload</abbr>) + </h3> + <div class="representation"> + <h6>XML Schema</h6> + <p><em>Source: <a href=""></a></em></p><pre></pre></div> + <h3 id="d2e3237">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="d2e3239">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3240">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3245">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3246">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3247">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3248">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3249">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3252">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3253">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3254">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3257">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e3262">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3263">application/xml<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">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3268">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3269">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3272">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="d2e3273">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="d2e3275">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3276">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3279">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3280">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3283">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3284">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3288">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3293">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3294">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3305">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"?> @@ -22127,11 +22687,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3337"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3318"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3343"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3324"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The forum not found</p> - <h3 id="d2e3362">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e3343">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"?> @@ -22150,11 +22710,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3375"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3356"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3381"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3362"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e3400">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e3369">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e3376">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"?> @@ -22169,13 +22731,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3413"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3389"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3419"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3395"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e3426">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3433">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e3414">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"?> @@ -22190,11 +22750,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3446"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3427"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3452"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3433"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e3474">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e3455">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"?> @@ -22213,13 +22773,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3487"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3468"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3493"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3474"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e3504">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3485">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e3517">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e3498">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"?> @@ -22234,21 +22794,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3530"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3511"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3536"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3517"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e3543">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="d2e3544">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="d2e3548">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e3536">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"?> @@ -22263,11 +22813,21 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3561"><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 roles of the authenticated user are not sufficient</p> - <h3 id="d2e3567"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3555"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e3586">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e3562">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="d2e3563">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="d2e3567">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"?> @@ -22282,309 +22842,396 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3599"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3580"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3605"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3586"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e3618">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3599">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The links to the attachments</p> - <h3 id="d2e3624"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3605"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The message not found</p> - <h3 id="d2e3631">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e3637">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3614">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e3643"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3620"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e3650">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e3627">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="d2e3651">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e3628">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="d2e3655">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3632">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e3661"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3638"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e3670">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3645">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e3651">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>Ok</p> - <h3 id="d2e3676"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3657"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e3692">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3673">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The portrait as image</p> - <h3 id="d2e3698"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3679"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The identity or the portrait not found</p> - <h3 id="d2e3713">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3720">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The certificate as file</p> - <h3 id="d2e3726"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3732"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The owner or the certificate cannot be found</p> - <h3 id="d2e3737">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3754"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>If the certificate was created</p> - <h3 id="d2e3760"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3690">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3691">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3702">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="d2e3715"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3766"><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="d2e3772"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the resource cannot be found</p> - <h3 id="d2e3781"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>if the certificate was uploaded</p> - <h3 id="d2e3787"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3728">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="d2e3741"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3793"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the resource cannot be found</p> - <h3 id="d2e3800">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3804">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3809">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3823">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e3829"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e3836">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3837">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3843">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3844">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3850">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3851">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3854">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>) + <h3 id="d2e3751">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="d2e3855">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">assessableResultsVO</abbr>) + <h3 id="d2e3764"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3771">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="d2e3857">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3861">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3868">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3869">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3877">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3878">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3889">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3890">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e3901">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>) + <h3 id="d2e3772">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="d2e3902">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">authenticationVO</abbr>) + <h3 id="d2e3776">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="d2e3906">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>) + <h3 id="d2e3789"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3795"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>An existant level was not found</p> + <h3 id="d2e3806">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"?> -<authenticationVO> - <key>38759</key> - <identityKey>345</identityKey> - <provider>OLAT</provider> - <authUsername>john</authUsername> -</authenticationVO> +<taxonomyCompetenceVO> + <key>4</key> + <identityKey>400</identityKey> + <taxonomyLevelKey>2</taxonomyLevelKey> + <taxonomyCompetenceType>teach</taxonomyCompetenceType> +</taxonomyCompetenceVO> </code></pre></p> - <p>The saved authentication</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="d2e3919"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3819"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3925"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e3931"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Cannot create the authentication for an unkown reason</p> - <h3 id="d2e3937"><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="d2e3944">application/xml, application/json (<abbr title="{http://www.example.com} authenticationVO">ns3:authenticationVO</abbr>) + <h3 id="d2e3826">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="d2e3827">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="d2e3831">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> +<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>A competence</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e3955"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3844"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3959"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e3975"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The authentication successfully deleted</p> - <h3 id="d2e3981"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3850"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type to update was not found</p> + <h3 id="d2e3862">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"?> +<taxonomyCompetenceVO> + <key>4</key> + <identityKey>400</identityKey> + <taxonomyLevelKey>2</taxonomyLevelKey> + <taxonomyCompetenceType>teach</taxonomyCompetenceType> +</taxonomyCompetenceVO> +</code></pre></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="d2e3875"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e3987"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the authentication not found</p> - <h3 id="d2e3998">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e4005"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The password successfully changed</p> - <h3 id="d2e4011"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3887"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The competence was removed sucessfully</p> + <h3 id="d2e3893"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4017"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The password was not changed</p> - <h3 id="d2e4023"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the authentication not found</p> - <h3 id="d2e4033">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="d2e4046">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4047">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4064">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e3899"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The competence was not found</p> + <h3 id="d2e3909">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"?> -<subscriptionInfoVOes> - <subscriptionInfoVO> - <title>Infos</title> - <items/> - </subscriptionInfoVO> -</subscriptionInfoVOes> +<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 notifications</p> - <h3 id="d2e4077"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e4083">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>) + <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="d2e3922"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3928"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy was not found</p> + <h3 id="d2e3935">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="d2e4084">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">subscribersVO</abbr>) + <h3 id="d2e3936">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="d2e4086">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4091">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4098">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4099">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4108">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4112">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4123">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4124">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4127">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4128">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4131">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4132">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4141">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4142">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4146">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4151">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4152">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4155">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4156">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4159">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>) + <h3 id="d2e3940">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 type</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4160">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryVO</abbr>) + <h3 id="d2e3953"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3959"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type to update was not found</p> + <h3 id="d2e3970">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 type</p> <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e4162">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4163">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4166">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4167">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4173">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4176">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4181">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4182">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4184">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4187">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4188">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4193">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4194">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4199">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e4202">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4203">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4208">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4209">application/json<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="d2e4215">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4221">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4224">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4230">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4231">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4233">*/*<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="d2e4243">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4246">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4251">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4252">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4255">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + <h3 id="d2e3983"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e3989"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type was not found</p> + <h3 id="d2e4000">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="d2e4013"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e4019"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type was not found</p> + <h3 id="d2e4031">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>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="d2e4256">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + <h3 id="d2e4044"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e4050"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type was not found</p> + <h3 id="d2e4059"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The sub type was removed sucessfully</p> + <h3 id="d2e4065"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e4071"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The taxonomy level type was not found</p> + <h3 id="d2e4078">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4084">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4089">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4094">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4095">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4096">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4097">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4098">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4101">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4102">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4105">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e4110">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4111">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4114">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4115">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4118">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="d2e4258">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4259">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4262">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4263">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + <h3 id="d2e4119">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="d2e4264">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</abbr>) + <h3 id="d2e4121">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4122">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4127">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4128">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4129">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4130">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4131">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4134">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4135">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4136">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4139">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e4144">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4145">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4146">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4149">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4150">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4151">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4154">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="d2e4266">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4267">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4271">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4272">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4275">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4276">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>) + <h3 id="d2e4155">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="d2e4277">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</abbr>) + <h3 id="d2e4157">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4158">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4161">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4162">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4165">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4166">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4170">text/plain<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="d2e4176">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4189">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="d2e4279">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4280">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4284">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4288">*/*<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="d2e4296">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4297">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4302">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4305">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4309">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4310">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4314">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4317">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4321">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4376">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e4202"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e4208"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e4242">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"?> @@ -22592,17 +23239,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="d2e4389"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4255"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4395"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4261"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The course or parentNode not found</p> - <h3 id="d2e4402">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4268">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e4425">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e4296">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"?> @@ -22610,269 +23257,299 @@ <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="d2e4438"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4309"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4444"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4315"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The course or parentNode not found</p> - <h3 id="d2e4451">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4456">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4461">image/jpeg<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4465">application/xhtml+xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4466">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4469">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4473">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4515">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e4329">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e4351">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="d2e4364"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e4370"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e4379">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"?> +<folder name="Course folder" courseKey="375397" courseNodeId="438950850389" subscribed="true" write="false" read="false" list="false" delete="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="d2e4528"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4392"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4534"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4398"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The course or parentNode not found</p> - <h3 id="d2e4541">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4406">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4407">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4408">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4409">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4410">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4413">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4414">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4417">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e4422">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4423">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4426">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4427">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4430">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="d2e4431">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="d2e4433">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4434">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4439">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4440">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4441">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4442">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4443">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4446">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4447">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4448">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4451">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e4572">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) + <h3 id="d2e4456">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4457">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4458">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4461">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4462">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4463">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4466">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="d2e4467">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="d2e4469">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4470">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4473">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4474">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4477">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4478">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4482">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4487">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4488">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4493">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4494">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4503">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4504">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4514">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4515">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4519">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="d2e4520">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="d2e4522">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4523">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4526">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4527">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"?> -<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="d2e4585"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4591"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or parentNode not found</p> - <h3 id="d2e4603">application/xml, application/json (<abbr title="{http://www.example.com} groupVO">ns3:groupVO</abbr>) + <h3 id="d2e4528">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"?> -<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="d2e4616"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e4622"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The course or course node not found</p> - <h3 id="d2e4628">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4629">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4638">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4644">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4647">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4650">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4655">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} "></abbr></h3> - <h3 id="d2e4659">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>) + <h3 id="d2e4530">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4531">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4539">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4540">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4543">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4544">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4546">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4547">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4550">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4551">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4553">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4554">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4562">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4563">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4574">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4575">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4587">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4588">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4591">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="d2e4660">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>) + <h3 id="d2e4592">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="d2e4662">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4663">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4594">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4595">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4616">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4617">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4622">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4623">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4627">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4632">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4633">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4636">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4637">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4642">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4643">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4646">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e4654">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4655">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4659">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4663">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4664">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4668">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> <h3 id="d2e4671">application/xml<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="d2e4675">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> + <h3 id="d2e4676">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <h3 id="d2e4680">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4681">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4685">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>) + <h3 id="d2e4685">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4686">application/json<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/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4693">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4697">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4698">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4700">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4703">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4704">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4710">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4714">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4715">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4717">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4720">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4721">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4725">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4726">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4735">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4739">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4740">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4743">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4744">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4746">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4751">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4755">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4756">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4759">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="d2e4686">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">catalogEntryVO</abbr>) + <h3 id="d2e4760">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="d2e4688">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4689">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="d2e4697">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="d2e4701">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4706">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4707">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4711">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4716">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4717">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4721">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4722">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4727">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4728">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4731">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e4734">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4737">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4741">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4742">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4747">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4748">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4752">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4757">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4758">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <h3 id="d2e4762">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <h3 id="d2e4763">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4767">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4768">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4772">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4773">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4777">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4778">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4782">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4783">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4787">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4788">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4792">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4793">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4797">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4798">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4802">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4803">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4807">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4808">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4812">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4813">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4817">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4818">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4822">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4823">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4826">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e4829">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4832">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4836">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4839">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4840">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4844">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4847">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4848">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4856">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4857">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4861">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4864">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4865">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4869">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4870">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4874">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4875">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4879">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4880">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4883">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e4886">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4889">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4901"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Registration successful</p> - <h3 id="d2e4905"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Already registered, HTTP-Header location set to redirect</p> - <h3 id="d2e4912">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e4917"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Registration successful</p> - <h3 id="d2e4921"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Already registered, HTTP-Header location set to redirect</p> - <h3 id="d2e4928">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4934">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4939">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4944">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4945">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4946">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4947">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4948">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4951">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4952">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4955">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4768">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4771">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4774">*/* (<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="d2e4776">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4780">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4785">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4786">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4787">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4788">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4789">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4792">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4793">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4796">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e4960">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4961">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4964">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4965">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4968">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e4801">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4802">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4805">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4806">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4809">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="d2e4969">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e4810">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="d2e4971">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4972">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4977">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4978">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4979">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4980">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4981">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4984">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4985">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4986">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4989">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4812">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4813">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4818">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4819">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4820">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4821">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4822">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4825">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4826">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4827">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4830">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e4994">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4995">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4996">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e4999">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5000">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5001">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5004">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e4835">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4836">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4837">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4840">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4841">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4842">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4845">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="d2e5005">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e4846">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="d2e5007">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5008">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5011">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5012">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5015">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5016">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5021">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5022">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5026">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5035">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="d2e5057">application/xml, application/json (<abbr title="{http://www.example.com} forumVO">ns3:forumVO</abbr>) + <h3 id="d2e4848">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4849">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4852">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4853">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4856">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4857">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4861">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4866">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4867">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4878">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"?> @@ -22882,11 +23559,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5070"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4891"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5076"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4897"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The forum not found</p> - <h3 id="d2e5095">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e4916">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"?> @@ -22905,11 +23582,13 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5108"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4929"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5114"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4935"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e5133">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e4942">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e4949">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"?> @@ -22924,13 +23603,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5146"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4962"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5152"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e4968"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e5159">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e5166">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e4987">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"?> @@ -22945,11 +23622,11 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5179"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5000"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5185"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5006"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e5207">application/xml, application/json (<abbr title="{http://www.example.com} messageVOes">ns3:messageVOes</abbr>) + <h3 id="d2e5028">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"?> @@ -22968,13 +23645,32 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5220"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5041"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5226"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5047"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author, forum or message not found</p> - <h3 id="d2e5237">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5058">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e5250">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e5071">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="d2e5084"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e5090"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author or message not found</p> + <h3 id="d2e5109">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"?> @@ -22989,21 +23685,21 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5263"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5122"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5269"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5128"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e5276">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e5135">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="d2e5277">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">replyVO</abbr>) + <h3 id="d2e5136">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="d2e5281">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e5140">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"?> @@ -23018,772 +23714,947 @@ <div class="representation"> <h6>XML Schema</h6> <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5294"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5153"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5300"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5159"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The author or message not found</p> - <h3 id="d2e5319">application/xml, application/json (<abbr title="{http://www.example.com} messageVO">ns3:messageVO</abbr>) + <h3 id="d2e5172">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The links to the attachments</p> + <h3 id="d2e5178"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The message not found</p> + <h3 id="d2e5187">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Ok</p> + <h3 id="d2e5193"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e5200">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="d2e5201">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="d2e5205">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Ok</p> + <h3 id="d2e5211"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e5218">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e5224">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Ok</p> + <h3 id="d2e5230"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e5246">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e5252"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e5262">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5263">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5267">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="d2e5268">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="d2e5270">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5271">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5274">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5275">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="d2e5276">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="d2e5278">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5279">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5287">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5288">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5291">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5292">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5294">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5295">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5298">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5299">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="d2e5313">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"?> -<messageVO> - <key>380</key> - <authorKey>345</authorKey> - <title>A message</title> - <body>The content of the message</body> -</messageVO> +<viteroBookingVO> + <bookingId>23</bookingId> + <groupId>24</groupId> + <groupName>NEW-EVENT_OLAT_938745983</groupName> + <eventName>New event</eventName> + <externalId>AC-234</externalId> + <start>2017-10-30T22:44:35.553+01:00</start> + <startBuffer>15</startBuffer> + <end>2017-10-30T22:44:35.553+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="d2e5327">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="d2e5328">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="d2e5332">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"?> +<viteroBookingVO> + <bookingId>23</bookingId> + <groupId>24</groupId> + <groupName>NEW-EVENT_OLAT_938745983</groupName> + <eventName>New event</eventName> + <externalId>AC-234</externalId> + <start>2017-10-30T22:44:35.553+01:00</start> + <startBuffer>15</startBuffer> + <end>2017-10-30T22:44:35.553+01:00</end> + <endBuffer>15</endBuffer> + <roomSize>22</roomSize> + <autoSignIn>true</autoSignIn> + <timeZoneId></timeZoneId> +</viteroBookingVO> +</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="d2e5346">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="d2e5347">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="d2e5351">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"?> +<viteroBookingVO> + <bookingId>23</bookingId> + <groupId>24</groupId> + <groupName>NEW-EVENT_OLAT_938745983</groupName> + <eventName>New event</eventName> + <externalId>AC-234</externalId> + <start>2017-10-30T22:44:35.553+01:00</start> + <startBuffer>15</startBuffer> + <end>2017-10-30T22:44:35.553+01:00</end> + <endBuffer>15</endBuffer> + <roomSize>22</roomSize> + <autoSignIn>true</autoSignIn> + <timeZoneId></timeZoneId> +</viteroBookingVO> +</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="d2e5371">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"?> +<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="d2e5385">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="d2e5390">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"?> +<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="d2e5408"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The booking is deleted</p> + <h3 id="d2e5422">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"?> +<trainingVO> + <key>4534759</key> + <name>Training</name> + <externalId>AC-234</externalId> + <start>2017-10-30T22:44:35.518+01:00</start> + <end>2017-10-30T22:44:35.518+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="d2e5436">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="d2e5437">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="d2e5441">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"?> +<trainingVO> + <key>4534759</key> + <name>Training</name> + <externalId>AC-234</externalId> + <start>2017-10-30T22:44:35.518+01:00</start> + <end>2017-10-30T22:44:35.518+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="d2e5455">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="d2e5456">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="d2e5460">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"?> +<trainingVO> + <key>4534759</key> + <name>Training</name> + <externalId>AC-234</externalId> + <start>2017-10-30T22:44:35.518+01:00</start> + <end>2017-10-30T22:44:35.518+01:00</end> +</trainingVO> </code></pre></p> - <p>The root message of the thread</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="d2e5332"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5338"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The author or message not found</p> - <h3 id="d2e5351">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The links to the attachments</p> - <h3 id="d2e5357"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The message not found</p> - <h3 id="d2e5364">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e5370">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Ok</p> - <h3 id="d2e5376"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e5383">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e5478"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The training is deleted</p> + <h3 id="d2e5484">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5485">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5488">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="d2e5384">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e5489">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="d2e5388">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Ok</p> - <h3 id="d2e5394"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e5403">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Ok</p> - <h3 id="d2e5409"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e5425">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e5431"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e5442">text/plain<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="d2e5447">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5455">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>) + <h3 id="d2e5491">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5492">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5495">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5496">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="d2e5456">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>) + <h3 id="d2e5497">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="d2e5460">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="d2e5473"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5479">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="d2e5500">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>) + <h3 id="d2e5499">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5500">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5504">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5505">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5508">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5509">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="d2e5510">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">repositoryEntryLectureConfigurationVO</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> -</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="d2e5513"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5512">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5513">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5517">*/*<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> + <h3 id="d2e5526">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5529">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5530">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5535">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5538">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5542">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5546">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5547">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5551">*/*<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> + <h3 id="d2e5558">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5559">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5573">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e5579"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e5586">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5587">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5591">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5592">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5596">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5597">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5601">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5606">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5607">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5612">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5613">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5616">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e5619">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5622">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5627">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5628">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5632">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5633">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5637">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5638">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5642">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5643">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5647">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5648">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5652">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5653">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5657">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5658">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5662">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5663">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5667">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5668">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5672">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5673">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5677">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5678">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5682">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5683">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5687">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5688">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5692">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5693">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5696">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e5699">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5702">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5706">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5709">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5710">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5714">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5717">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5718">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5726">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5727">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5731">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5734">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5735">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5739">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5740">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5744">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5745">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5749">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5750">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5753">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e5756">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5759">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5772">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5779">application/pdf<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The certificate as file</p> + <h3 id="d2e5785"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e5791"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The owner or the certificate cannot be found</p> + <h3 id="d2e5796">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5813"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>If the certificate was created</p> + <h3 id="d2e5819"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e5825"><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="d2e5831"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the resource cannot be found</p> + <h3 id="d2e5840"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>if the certificate was uploaded</p> + <h3 id="d2e5846"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5524">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>) + <h3 id="d2e5852"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the resource cannot be found</p> + <h3 id="d2e5858">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5862">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5867">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5874">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5875">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5880">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5881">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5892">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5893">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5896">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5897">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5900">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5901">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5910">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5911">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5915">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5920">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5921">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5924">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="d2e5525">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">userVO</abbr>) + <h3 id="d2e5925">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="d2e5529">application/xml, application/json (<abbr title="{http://www.example.com} userVO">ns3:userVO</abbr>) + <h3 id="d2e5927">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5928">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5931">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5932">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5935">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5936">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5941">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5942">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5945">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5946">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5948">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5954">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5957">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5963">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5966">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5971">application/zip<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5972">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5977">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e5980">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5981">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5986">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5987">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5990">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5991">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e5993">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6000">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6003">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6008">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6009">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6011">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6014">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6015">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6020">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6021">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6024">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</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="d2e5542"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5548"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e5554">application/xml, application/json (<abbr title="{http://www.example.com} errorVO">ns3:errorVO</abbr>) + <h3 id="d2e6025">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">lectureBlocksVO</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="d2e5570"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The user is removed from the group</p> - <h3 id="d2e5576"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5582"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e5595">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="d2e5608"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5614"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e5627">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e5633"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e5642">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e5648"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e5657">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e5663"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Not authorized</p> - <h3 id="d2e5669"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e5678"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait deleted</p> - <h3 id="d2e5684"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>Not authorized</p> - <h3 id="d2e5697">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="d2e5710"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5716"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e5723">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>) + <h3 id="d2e6027">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6028">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6031">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6032">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="d2e5724">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">statusVO</abbr>) + <h3 id="d2e6033">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="d2e5728">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="d2e5741"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5747"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e5760">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="d2e5773"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5779"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e5786">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>) + <h3 id="d2e6035">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6036">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6040">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6041">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6044">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6045">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="d2e5787">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">rolesVO</abbr>) + <h3 id="d2e6046">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="d2e5791">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="d2e5804"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5810"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e5816">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5817">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5828">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6048">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6049">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6053">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6057">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6062">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6065">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6066">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6071">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6074">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6078">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6082">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6083">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6087">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6090">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6099">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6100">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6104">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6117"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The list of contacts</p> + <h3 id="d2e6124">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6130">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6131">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6137">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6138">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6143">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6144">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6156">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6157">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6163">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6164">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6169">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6180">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6181">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6184">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6185">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6188">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6189">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6202">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6203">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6209">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6218">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6219">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6224">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6235">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6236">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6249">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6250">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6256">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6264">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6265">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6270">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6280">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6281">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6293">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6294">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6300">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6307">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6308">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6314">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6323">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6324">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6335">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6336">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6342">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6350">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6351">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6365">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6366">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6378">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6379">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6385">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6393">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6394">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6408">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6409">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6421">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6422">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6428">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6436">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6437">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6451">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6452">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6464">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6465">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6471">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6479">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6480">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6494">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6495">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6507">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6508">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6514">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6515">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6518">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6519">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6553">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6554">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6585">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6586">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6589">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6590">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6605">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6606">application/json<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="d2e6621">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6622">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="d2e6670">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6671">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6674">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6675">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6687">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"?> -<preferencesVO> - <language>de</language> -</preferencesVO> +<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 preferences</p> - <h3 id="d2e5841"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5847"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e5854">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>) - </h3> + <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="d2e5855">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">preferencesVO</abbr>) + <h3 id="d2e6700"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6706"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e6713">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e6727">application/xml, application/json (<abbr title="{http://www.example.com} courseNodeVO">ns3:courseNodeVO</abbr>) </h3> - <div class="representation"> - <h6>XML Schema</h6> - <p><em>Source: <a href=""></a></em></p><pre></pre></div> - <h3 id="d2e5859">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> +<courseNodeVO> + <id>id</id> +</courseNodeVO> </code></pre></p> - <p>The user</p> - <h3 id="d2e5872"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <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="d2e6740"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5878"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity not found</p> - <h3 id="d2e5890">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The portrait as image</p> - <h3 id="d2e5896"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The identity or the portrait not found</p> - <h3 id="d2e5906">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="d2e5927">application/xml, application/json (<abbr title="{http://www.example.com} folderVOes">ns3:folderVOes</abbr>) + <h3 id="d2e6746"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e6766">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"?> -<folders totalCount="1"> - <folders> - <folder name="Course folder" courseKey="375397" courseNodeId="438950850389" subscribed="true" write="false" read="false" list="false" delete="false"/> - </folders> -</folders> +<courseNodeVO> + <id>id</id> +</courseNodeVO> </code></pre></p> - <p>The folders</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="d2e5940"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e6779"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e5948">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5949">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5950">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5951">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5952">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5955">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5956">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5959">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e5964">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5965">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5968">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5969">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5972">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e6785"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e6801">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="d2e5973">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e6814"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6820"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The course or parentNode not found</p> + <h3 id="d2e6849">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="d2e5975">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5976">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5981">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5982">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5983">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5984">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5985">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5988">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5989">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5990">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5993">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e5998">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e5999">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6000">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6003">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6004">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6005">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6008">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e6862"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6868"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e6897">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="d2e6009">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e6910"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6916"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e6930">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 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="d2e6011">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6012">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6015">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6016">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6019">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6020">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6025">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6026">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6030">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6034">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6035">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6036">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6037">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6038">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6041">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6042">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6045">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6050">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6051">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6054">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6055">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6058">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e6943"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6949"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The forum not found</p> + <h3 id="d2e6968">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"?> +<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="d2e6059">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e6981"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e6987"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e6994">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <div class="representation"></div> + <h3 id="d2e7001">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="d2e6061">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6062">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6067">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6068">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6069">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6070">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6071">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6074">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6075">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6076">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6079">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6084">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6085">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6086">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6089">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6090">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6091">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6094">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e7014"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e7020"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e7039">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="d2e6095">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e7052"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e7058"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e7080">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"?> +<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="d2e6097">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6098">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6101">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6102">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6105">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6106">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6111">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6112">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6116">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6121">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6122">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6123">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6124">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6125">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6128">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6129">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6132">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7093"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e7099"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author, forum or message not found</p> + <h3 id="d2e7110">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e6137">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6138">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6141">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6142">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6145">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e7123">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="d2e6146">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e7136"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e7142"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author or message not found</p> + <h3 id="d2e7161">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="d2e6148">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6149">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6154">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6155">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6156">text/html<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6157">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6158">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6161">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6162">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6163">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6166">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6171">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6172">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6173">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6176">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6177">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6178">*/*<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6181">application/json (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e7174"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The roles of the authenticated user are not sufficient</p> + <h3 id="d2e7180"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author or message not found</p> + <h3 id="d2e7187">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="d2e6182">application/xml (<abbr title="{http://wadl.dev.java.net/2009/02} ">fileUpload</abbr>) + <h3 id="d2e7188">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="d2e6184">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6185">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6188">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6189">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6192">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6193">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6198">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6199">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6203">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6220">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>) + <h3 id="d2e7192">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"?> -<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> +<messageVO> + <key>380</key> + <authorKey>345</authorKey> + <title>A message</title> + <body>The content of the message</body> +</messageVO> </code></pre></p> - <p>The courses</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="d2e6233"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7205"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6250">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>) + <h3 id="d2e7211"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The author or message not found</p> + <h3 id="d2e7224">application/xml, application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The links to the attachments</p> + <h3 id="d2e7230"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The message not found</p> + <h3 id="d2e7239">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Ok</p> + <h3 id="d2e7245"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e7252">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"?> -<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="d2e6263"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <p>The roles of the authenticated user are not sufficient</p> - <h3 id="d2e6280">application/xml, application/json (<abbr title="{http://www.example.com} courseVO">ns3:courseVO</abbr>) + <h3 id="d2e7253">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"?> -<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="d2e6293"><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">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6306">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6315">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6316">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6325">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6326">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6335">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6336">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6343">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6344">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6349">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6350">application/json<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 list of contacts</p> - <h3 id="d2e6372">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6373">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6377">text/plain<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6383">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6384">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6389">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6390">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6402">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6403">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6409">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6410">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6415">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6426">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6427">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6430">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6431">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6434">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6435">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6448">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6449">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6455">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6464">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6465">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6470">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6481">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6482">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6495">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6496">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6502">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6510">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6511">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6516">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6526">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6527">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6539">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6540">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6546">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6553">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6554">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6560">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6569">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6570">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6581">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6582">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6588">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <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="d2e6611">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6612">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6624">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6625">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6631">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <h3 id="d2e6639">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6640">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6654">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6655">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="d2e6674">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <div class="representation"></div> - <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="d2e6697">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6698">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6710">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6711">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6717">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7257">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Ok</p> + <h3 id="d2e7263"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e7270">application/x-www-form-urlencoded<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> <div class="representation"></div> - <h3 id="d2e6725">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6726">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="d2e6753">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6754">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6760">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6761">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6764">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6765">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6799">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6800">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6831">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6832">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6835">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6836">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6851">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6852">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6863">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="d2e6867">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6868">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6893">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6894">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6916">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6917">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6920">application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> - <h3 id="d2e6921">application/json<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <h3 id="d2e7276">application/json, application/xml<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>Ok</p> + <h3 id="d2e7282"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> + <h3 id="d2e7298">application/octet-stream<abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The portrait as image</p> + <h3 id="d2e7304"><abbr title="{http://wadl.dev.java.net/2009/02} "></abbr></h3> + <p>The identity or the portrait not found</p> </body> </html> \ No newline at end of file diff --git a/src/main/java/org/olat/search/_spring/searchContext.xml b/src/main/java/org/olat/search/_spring/searchContext.xml index a006db5e9ba8badfb43261dbea65ef9ba0211866..4e86ad5a962824c91bf52c2c2dbaa278201a61e5 100644 --- a/src/main/java/org/olat/search/_spring/searchContext.xml +++ b/src/main/java/org/olat/search/_spring/searchContext.xml @@ -134,6 +134,7 @@ <ref bean="identityIndexer" /> <ref bean="epDefaultMapIndexer" /> <ref bean="epStructuredMapIndexer" /> + <ref bean="taxonomyLibraryIndexer" /> </list> </property> </bean> diff --git a/src/main/java/org/olat/search/service/indexer/repository/CourseIndexer.java b/src/main/java/org/olat/search/service/indexer/repository/CourseIndexer.java index 571efd1c87a60c316fa24f9c5a49403a697c52bf..293a2ddfa37c3052694267d7b9fa27003e9ad0fd 100644 --- a/src/main/java/org/olat/search/service/indexer/repository/CourseIndexer.java +++ b/src/main/java/org/olat/search/service/indexer/repository/CourseIndexer.java @@ -59,7 +59,7 @@ import org.olat.search.service.indexer.repository.course.CourseNodeEntry; import org.olat.search.service.indexer.repository.course.CourseNodeIndexer; /** - * Index a hole course. + * Index a whole course. * @author Christian Guretzki */ public class CourseIndexer extends AbstractHierarchicalIndexer { diff --git a/src/main/java/org/olat/search/ui/SearchControllerFactory.java b/src/main/java/org/olat/search/ui/SearchControllerFactory.java index 7ead3c7ff09c5f808455d5d9fbfef8c909e808d6..8e4ed64e758807a12c835983731813421da63854 100644 --- a/src/main/java/org/olat/search/ui/SearchControllerFactory.java +++ b/src/main/java/org/olat/search/ui/SearchControllerFactory.java @@ -39,6 +39,11 @@ import org.olat.course.ICourse; import org.olat.course.nodes.CourseNode; import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroupService; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.model.TaxonomyLevelRefImpl; +import org.olat.modules.taxonomy.model.TaxonomyRefImpl; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryManager; import org.olat.search.SearchServiceUIFactory; @@ -116,6 +121,17 @@ public class SearchControllerFactory implements SearchServiceUIFactory { BusinessGroup bg = CoreSpringFactory.getImpl(BusinessGroupService.class).loadBusinessGroup(Long.parseLong(tokenKey)); return bg == null ? "" : bg.getName(); } + if ("Taxonomy".equals(tokenType)) { + Taxonomy taxonomy = CoreSpringFactory.getImpl(TaxonomyService.class) + .getTaxonomy(new TaxonomyRefImpl(Long.parseLong(tokenKey))); + return taxonomy == null ? "" : taxonomy.getDisplayName(); + } + if ("TaxonomyLevel".equals(tokenType)) { + TaxonomyLevel level = CoreSpringFactory.getImpl(TaxonomyService.class) + .getTaxonomyLevel(new TaxonomyLevelRefImpl(Long.parseLong(tokenKey))); + return level == null ? "" : level.getDisplayName(); + } + Translator translator = Util.createPackageTranslator(this.getClass(), locale); if("userfolder".equals(tokenType)) { return translator.translate("type.identity.publicfolder"); diff --git a/src/main/java/org/olat/search/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/search/ui/_i18n/LocalStrings_de.properties index f7f7f93d15c606ed806342acb5d7394c5d15f0b0..6c8db061d02aae22ab23e40ee6ba904067219ae7 100644 --- a/src/main/java/org/olat/search/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/search/ui/_i18n/LocalStrings_de.properties @@ -100,6 +100,8 @@ HomeSite=Home Portfolio=Portfolio EPSite=Portfolio LibrarySite=Bibliothek +Taxonomy=Taxonomy +TaxonomyLevel=Taxonomy Level type.file=Datei type.file.html=HTML-Datei type.file.word=Word-Datei diff --git a/src/main/java/org/olat/search/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/search/ui/_i18n/LocalStrings_en.properties index 57020cbafc9b102368147ea85ab8fe0e4d10d6d6..816c6f45448b355c35ffe670e94b141a322b827e 100644 --- a/src/main/java/org/olat/search/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/search/ui/_i18n/LocalStrings_en.properties @@ -59,6 +59,8 @@ search.service.unexpected.error=An unexpected error occurred while searching. search.title=Full-text search switch.advanced.search=Advanced search switch.simple.search=Simple search +Taxonomy=Taxonomy +TaxonomyLevel=Taxonomy Level too.many.results=Too many results found. Only the first {0} will be displayed. toolfolder=Folder toolforum=Forums diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade_12_2_0.java b/src/main/java/org/olat/upgrade/OLATUpgrade_12_2_0.java index 8123874eef22e240382dc8d98fd0e45384c1fa11..4e06bbd64710601fda3ca8b476c7cdb7bc146000 100644 --- a/src/main/java/org/olat/upgrade/OLATUpgrade_12_2_0.java +++ b/src/main/java/org/olat/upgrade/OLATUpgrade_12_2_0.java @@ -19,7 +19,18 @@ */ package org.olat.upgrade; +import java.util.List; + +import org.olat.core.commons.persistence.DB; import org.olat.core.util.mail.MailModule; +import org.olat.modules.qpool.QuestionPoolModule; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyRef; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.manager.TaxonomyLevelDAO; +import org.olat.upgrade.model.UpgradeQuestionItem; +import org.olat.upgrade.model.UpgradeTaxonomyLevel; import org.springframework.beans.factory.annotation.Autowired; /** @@ -30,11 +41,20 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class OLATUpgrade_12_2_0 extends OLATUpgrade { + private static final int BATCH_SIZE = 500; + private static final String VERSION = "OLAT_12.2.0"; private static final String MAIL_CONFIG_SPLITTING = "MAIL CONFIG SPLITTING"; + private static final String MIGRATE_QPOOL_TAXONOMY = "MIGRATE QPOOL TAXONOMY"; @Autowired - MailModule mailModule; + private DB dbInstance; + @Autowired + private MailModule mailModule; + @Autowired + private TaxonomyService taxonomyService; + @Autowired + private TaxonomyLevelDAO taxonomyLevelDao; public OLATUpgrade_12_2_0() { super(); @@ -65,13 +85,15 @@ public class OLATUpgrade_12_2_0 extends OLATUpgrade { // split in inbox and outbox specific configs. Get the old values and // transfer them to the new values. allOk &= splitMailConfigToInboxAndOutbox(upgradeManager, uhd); + // migrate the question pool taxonomy + allOk &= migrateTaxonomy(upgradeManager, uhd); uhd.setInstallationComplete(allOk); upgradeManager.setUpgradesHistory(uhd, VERSION); if(allOk) { log.audit("Finished OLATUpgrade_12_2_0 successfully!"); } else { - log.audit("OLATUpgrade_12_2_0 not finished, try to restart OpenOLAT!"); + log.audit("OLATUpgrade_12_2_0 not finished, try to restart OpenOLAT!"); } return allOk; } @@ -91,5 +113,114 @@ public class OLATUpgrade_12_2_0 extends OLATUpgrade { } return allOk; } + + private boolean migrateTaxonomy(UpgradeManager upgradeManager, UpgradeHistoryData uhd) { + boolean allOk = true; + if (!uhd.getBooleanDataValue(MIGRATE_QPOOL_TAXONOMY)) { + Taxonomy taxonomy = getQPoolTaxonomy(); + + try { + migrateTaxonomyLevels(taxonomy, null, null); + migrateQuestions(taxonomy); + } catch (Exception e) { + log.error("", e); + allOk &= false; + } + + uhd.setBooleanDataValue(MIGRATE_QPOOL_TAXONOMY, allOk); + upgradeManager.setUpgradesHistory(uhd, VERSION); + } + return allOk; + } + + private void migrateQuestions(TaxonomyRef taxonomy) { + int counter = 0; + List<UpgradeQuestionItem> questions; + do { + questions = getQuestionItems(counter, 50); + for(UpgradeQuestionItem question:questions) { + processQuestionTaxonomyLevel(taxonomy, question); + } + counter += questions.size(); + log.audit("Taxonomy level migration processed: " + questions.size() + ", total questions processed (" + counter + ")"); + dbInstance.commitAndCloseSession(); + } while(questions.size() == BATCH_SIZE); + } + + private List<UpgradeQuestionItem> getQuestionItems(int firstResults, int maxResult) { + String q = "select item from upgradequestionitem item where item.oldTaxonomyLevel.key is not null and item.newTaxonomyLevel.key is null order by item.key"; + return dbInstance.getCurrentEntityManager() + .createQuery(q, UpgradeQuestionItem.class) + .setFirstResult(firstResults) + .setMaxResults(maxResult) + .getResultList(); + } + + private void processQuestionTaxonomyLevel(TaxonomyRef taxonomy, UpgradeQuestionItem question) { + if(question == null || question.getOldTaxonomyLevel() == null) return; + Long oldKey = question.getOldTaxonomyLevel().getKey(); + if(oldKey == null) return; + + List<TaxonomyLevel> levels = taxonomyLevelDao.getLevelsByExternalId(taxonomy, oldKey.toString()); + if(levels.size() > 0) { + question.setNewTaxonomyLevel(levels.get(0)); + question = dbInstance.getCurrentEntityManager().merge(question); + } + } + + private void migrateTaxonomyLevels(Taxonomy taxonomy, TaxonomyLevel parentLevel, UpgradeTaxonomyLevel parentUpgradeLevel) { + List<UpgradeTaxonomyLevel> upgradeLevels; + if(parentUpgradeLevel == null) { + upgradeLevels = getRootUpgradeTaxonomyLevels(); + } else { + upgradeLevels = getTaxonomyLevels(parentUpgradeLevel); + } + + for(UpgradeTaxonomyLevel upgradeLevel:upgradeLevels) { + List<TaxonomyLevel> levels = taxonomyLevelDao.getLevelsByExternalId(taxonomy, upgradeLevel.getKey().toString()); + + TaxonomyLevel newLevel; + if(levels.isEmpty()) { + newLevel = copyTaxonomyLevel(taxonomy, parentLevel, upgradeLevel); + } else { + newLevel = levels.get(0); + } + migrateTaxonomyLevels(taxonomy, newLevel, upgradeLevel); + } + } + + private TaxonomyLevel copyTaxonomyLevel(Taxonomy taxonomy, TaxonomyLevel parent, UpgradeTaxonomyLevel upgradeLevel) { + String id = upgradeLevel.getKey().toString(); + String displayName = upgradeLevel.getField(); + return taxonomyLevelDao.createTaxonomyLevel(displayName, displayName, "", id, null, parent, null, taxonomy); + } + + private Taxonomy getQPoolTaxonomy() { + List<Taxonomy> taxonomyList = taxonomyService.getRootTaxonomyList(); + for(Taxonomy taxonomy:taxonomyList) { + if(QuestionPoolModule.DEFAULT_TAXONOMY_QPOOL_IDENTIFIER.equals(taxonomy.getIdentifier())) { + return taxonomy; + } + } + + Taxonomy taxonomy = taxonomyService.createTaxonomy("QPOOL", "Question pool", "Taxonomy for the question pool", "QPOOL"); + return taxonomy; + } + + private List<UpgradeTaxonomyLevel> getRootUpgradeTaxonomyLevels() { + String q = "select level from upgradetaxonomylevel level where level.parentField is null"; + return dbInstance.getCurrentEntityManager() + .createQuery(q, UpgradeTaxonomyLevel.class) + .getResultList(); + } + + private List<UpgradeTaxonomyLevel> getTaxonomyLevels(UpgradeTaxonomyLevel parent) { + String q = "select level from upgradetaxonomylevel level where level.parentField.key=:parentKey"; + return dbInstance.getCurrentEntityManager() + .createQuery(q, UpgradeTaxonomyLevel.class) + .setParameter("parentKey", parent.getKey()) + .getResultList(); + } + } diff --git a/src/main/java/org/olat/upgrade/model/UpgradeQuestionItem.java b/src/main/java/org/olat/upgrade/model/UpgradeQuestionItem.java new file mode 100644 index 0000000000000000000000000000000000000000..d28b3a2431fea0464d5ca17a8615133993a066ad --- /dev/null +++ b/src/main/java/org/olat/upgrade/model/UpgradeQuestionItem.java @@ -0,0 +1,125 @@ +/** + * <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.upgrade.model; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + +import org.hibernate.annotations.GenericGenerator; +import org.hibernate.annotations.Parameter; +import org.olat.core.id.Persistable; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.model.TaxonomyLevelImpl; + +/** + * + * Initial date: 25 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +@Entity(name="upgradequestionitem") +@Table(name="o_qp_item") +public class UpgradeQuestionItem implements Persistable { + + private static final long serialVersionUID = 6264601750280239307L; + + @Id + @GeneratedValue(generator = "system-uuid") + @GenericGenerator(name = "system-uuid", strategy = "enhanced-sequence", parameters={ + @Parameter(name="sequence_name", value="hibernate_unique_key"), + @Parameter(name="force_table_use", value="true"), + @Parameter(name="optimizer", value="legacy-hilo"), + @Parameter(name="value_column", value="next_hi"), + @Parameter(name="increment_size", value="32767"), + @Parameter(name="initial_value", value="32767") + }) + @Column(name="id", nullable=false, unique=true, insertable=true, updatable=false) + private Long key; + + + //classification + @ManyToOne(targetEntity=UpgradeTaxonomyLevel.class) + @JoinColumn(name="fk_taxonomy_level", nullable=true, insertable=true, updatable=true) + private UpgradeTaxonomyLevel oldTaxonomyLevel; + + @ManyToOne(targetEntity=TaxonomyLevelImpl.class) + @JoinColumn(name="fk_taxonomy_level_v2", nullable=true, insertable=true, updatable=true) + private TaxonomyLevel newTaxonomyLevel; + + + @Override + public Long getKey() { + return key; + } + + public void setKey(Long key) { + this.key = key; + } + + public UpgradeTaxonomyLevel getOldTaxonomyLevel() { + return oldTaxonomyLevel; + } + + public void setOldTaxonomyLevel(UpgradeTaxonomyLevel oldTaxonomyLevel) { + this.oldTaxonomyLevel = oldTaxonomyLevel; + } + + public TaxonomyLevel getNewTaxonomyLevel() { + return newTaxonomyLevel; + } + + public void setNewTaxonomyLevel(TaxonomyLevel newTaxonomyLevel) { + this.newTaxonomyLevel = newTaxonomyLevel; + } + + @Override + public int hashCode() { + return key == null ? 97489 : key.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + if(obj instanceof UpgradeQuestionItem) { + UpgradeQuestionItem q = (UpgradeQuestionItem)obj; + return key != null && key.equals(q.key); + } + return false; + } + + @Override + public boolean equalsByPersistableKey(Persistable persistable) { + return equals(persistable); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("question[key=").append(key).append("]").append(super.toString()); + return sb.toString(); + } +} diff --git a/src/main/java/org/olat/modules/qpool/model/TaxonomyLevelImpl.java b/src/main/java/org/olat/upgrade/model/UpgradeTaxonomyLevel.java similarity index 77% rename from src/main/java/org/olat/modules/qpool/model/TaxonomyLevelImpl.java rename to src/main/java/org/olat/upgrade/model/UpgradeTaxonomyLevel.java index 5c05043fbdb6dac0ab714cbe25b2234617dd7378..ebebdef5ad8ba06a82639a028f6e53b5a8ef7da6 100644 --- a/src/main/java/org/olat/modules/qpool/model/TaxonomyLevelImpl.java +++ b/src/main/java/org/olat/upgrade/model/UpgradeTaxonomyLevel.java @@ -17,7 +17,7 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.modules.qpool.model; +package org.olat.upgrade.model; import java.util.Date; @@ -27,34 +27,24 @@ import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; -import org.olat.core.id.CreateInfo; -import org.olat.core.id.ModifiedInfo; import org.olat.core.id.Persistable; -import org.olat.modules.qpool.TaxonomyLevel; /** - * + * This is the old taxonomy level for question pool. + * * Initial date: 20.02.2013<br> * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com * */ -@Entity(name="qtaxonomylevel") +@Entity(name="upgradetaxonomylevel") @Table(name="o_qp_taxonomy_level") -@NamedQueries({ - @NamedQuery(name="loadTaxonomyLevelByKey", query="select f from qtaxonomylevel f where f.key=:key"), - @NamedQuery(name="loadTaxonomicPath", query="select f from qtaxonomylevel f where f.parentField.key=:parentKey"), - @NamedQuery(name="loadTaxonomyDescendants", query="select f from qtaxonomylevel f where f.materializedPathKeys like :path"), - @NamedQuery(name="loadAllTaxonomyLevels", query="select f from qtaxonomylevel f left join fetch f.parentField pf") -}) -public class TaxonomyLevelImpl implements TaxonomyLevel, CreateInfo, ModifiedInfo, Persistable { +public class UpgradeTaxonomyLevel implements Persistable { private static final long serialVersionUID = -1150399691749897973L; @@ -87,9 +77,9 @@ public class TaxonomyLevelImpl implements TaxonomyLevel, CreateInfo, ModifiedInf @Column(name="q_mat_path_names", nullable=false, insertable=true, updatable=true) private String materializedPathNames; - @ManyToOne(targetEntity=TaxonomyLevelImpl.class) - @JoinColumn(name="fk_parent_field", nullable=true, insertable=true, updatable=true) - private TaxonomyLevel parentField; + @ManyToOne(targetEntity=UpgradeTaxonomyLevel.class) + @JoinColumn(name="fk_parent_field", nullable=true, insertable=true, updatable=true) + private UpgradeTaxonomyLevel parentField; @Override public Long getKey() { @@ -100,7 +90,6 @@ public class TaxonomyLevelImpl implements TaxonomyLevel, CreateInfo, ModifiedInf this.key = key; } - @Override public Date getCreationDate() { return creationDate; } @@ -109,12 +98,10 @@ public class TaxonomyLevelImpl implements TaxonomyLevel, CreateInfo, ModifiedInf this.creationDate = creationDate; } - @Override public Date getLastModified() { return lastModified; } - @Override public void setLastModified(Date date) { this.lastModified = date; } @@ -127,11 +114,11 @@ public class TaxonomyLevelImpl implements TaxonomyLevel, CreateInfo, ModifiedInf this.field = field; } - public TaxonomyLevel getParentField() { + public UpgradeTaxonomyLevel getParentField() { return parentField; } - public void setParentField(TaxonomyLevel parentField) { + public void setParentField(UpgradeTaxonomyLevel parentField) { this.parentField = parentField; } @@ -161,8 +148,8 @@ public class TaxonomyLevelImpl implements TaxonomyLevel, CreateInfo, ModifiedInf if(this == obj) { return true; } - if(obj instanceof TaxonomyLevelImpl) { - TaxonomyLevelImpl f = (TaxonomyLevelImpl)obj; + if(obj instanceof UpgradeTaxonomyLevel) { + UpgradeTaxonomyLevel f = (UpgradeTaxonomyLevel)obj; return key != null && key.equals(f.key); } return false; diff --git a/src/main/java/org/olat/user/propertyhandlers/_spring/userPropertiesContext.xml b/src/main/java/org/olat/user/propertyhandlers/_spring/userPropertiesContext.xml index d3513bdb50cb61eb67abcc610301048a6c9ea953..6c25e978805b702b1bb95e23a4453b4b737aad7a 100644 --- a/src/main/java/org/olat/user/propertyhandlers/_spring/userPropertiesContext.xml +++ b/src/main/java/org/olat/user/propertyhandlers/_spring/userPropertiesContext.xml @@ -357,6 +357,29 @@ </property> </bean> </entry> + + <entry key="org.olat.modules.taxonomy.ui.TaxonomyLevelCompetenceController"> + <bean class="org.olat.user.propertyhandlers.UserPropertyUsageContext"> + <property name="description" value="List of users in competence management" /> + <property name="propertyHandlers"> + <list> + <ref bean="userPropertyFirstName" /> + <ref bean="userPropertyLastName" /> + <ref bean="userPropertyEmail" /> + </list> + </property> + <property name="adminViewOnlyProperties"> + <set></set> + </property> + <property name="mandatoryProperties"> + <set> + <ref bean="userPropertyFirstName" /> + <ref bean="userPropertyLastName" /> + <ref bean="userPropertyEmail" /> + </set> + </property> + </bean> + </entry> <entry key="org.olat.modules.lecture.ui.ParticipantListRepositoryController"> <bean class="org.olat.user.propertyhandlers.UserPropertyUsageContext"> diff --git a/src/main/resources/META-INF/persistence.xml b/src/main/resources/META-INF/persistence.xml index c2bb7561ccb1707ae4a6921eaf91c888fa93a9ae..29439f12f753ba056a5e4b193a637674848f00d3 100644 --- a/src/main/resources/META-INF/persistence.xml +++ b/src/main/resources/META-INF/persistence.xml @@ -62,6 +62,8 @@ <class>org.olat.upgrade.model.EPMapUpgrade</class> <class>org.olat.upgrade.model.EPMapUpgradeToGroupRelation</class> <class>org.olat.upgrade.model.InvitationUpgrade</class> + <class>org.olat.upgrade.model.UpgradeTaxonomyLevel</class> + <class>org.olat.upgrade.model.UpgradeQuestionItem</class> <!-- End upgraders mapping --> @@ -201,6 +203,12 @@ <class>org.olat.modules.qpool.model.QLicense</class> <class>org.olat.modules.reminder.model.ReminderImpl</class> <class>org.olat.modules.reminder.model.SentReminderImpl</class> + <class>org.olat.modules.taxonomy.model.TaxonomyImpl</class> + <class>org.olat.modules.taxonomy.model.TaxonomyLevelImpl</class> + <class>org.olat.modules.taxonomy.model.TaxonomyLevelTypeImpl</class> + <class>org.olat.modules.taxonomy.model.TaxonomyLevelTypeToTypeImpl</class> + <class>org.olat.modules.taxonomy.model.TaxonomyCompetenceImpl</class> + <class>org.olat.modules.taxonomy.model.TaxonomyCompetenceAuditLogImpl</class> <class>org.olat.modules.video.model.VideoTranscodingImpl</class> <class>org.olat.modules.video.model.VideoMetaImpl</class> <class>org.olat.modules.webFeed.model.FeedImpl</class> diff --git a/src/main/resources/database/mysql/alter_12_1_x_to_12_2_0.sql b/src/main/resources/database/mysql/alter_12_1_x_to_12_2_0.sql index dff00d4b75cd6de794cee2b54da5dc6a8d35ff97..0ddaabde54763eda25cbe9f2ebec81baaa8a3532 100644 --- a/src/main/resources/database/mysql/alter_12_1_x_to_12_2_0.sql +++ b/src/main/resources/database/mysql/alter_12_1_x_to_12_2_0.sql @@ -11,3 +11,138 @@ create table o_gta_mark ( alter table o_gta_mark ENGINE = InnoDB; alter table o_gta_mark add constraint gtamark_tasklist_idx foreign key (fk_tasklist_id) references o_gta_task_list (id); + + +-- taxonomy +create table o_tax_taxonomy ( + id bigint not null auto_increment, + creationdate datetime not null, + lastmodified datetime not null, + t_identifier varchar(64), + t_displayname varchar(255) not null, + t_description mediumtext, + t_external_id varchar(64), + t_managed_flags varchar(255), + t_library bit default 1, + t_directory_path varchar(255), + t_directory_info_page_path varchar(255), + fk_group bigint not null, + primary key (id) +); +alter table o_tax_taxonomy ENGINE = InnoDB; + +alter table o_tax_taxonomy add constraint tax_to_group_idx foreign key (fk_group) references o_bs_group (id); + + +create table o_tax_taxonomy_level_type ( + id bigint not null auto_increment, + creationdate datetime not null, + lastmodified datetime not null, + t_identifier varchar(64), + t_displayname varchar(255) not null, + t_description mediumtext, + t_external_id varchar(64), + t_managed_flags varchar(255), + t_css_class varchar(64), + t_visible bit default 1, + t_library_docs bit default 1, + t_library_manage bit default 1, + t_library_teach_read bit default 1, + t_library_teach_readlevels bigint not null default 0, + t_library_teach_write bit default 0, + t_library_have_read bit default 1, + t_library_target_read bit default 1, + fk_taxonomy bigint not null, + primary key (id) +); +alter table o_tax_taxonomy_level_type ENGINE = InnoDB; + +alter table o_tax_taxonomy_level_type add constraint tax_type_to_taxonomy_idx foreign key (fk_taxonomy) references o_tax_taxonomy (id); + + +create table o_tax_taxonomy_type_to_type ( + id bigint not null auto_increment, + fk_type bigint not null, + fk_allowed_sub_type bigint not null, + primary key (id) +); +alter table o_tax_taxonomy_type_to_type ENGINE = InnoDB; + +alter table o_tax_taxonomy_type_to_type add constraint tax_type_to_type_idx foreign key (fk_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_type_to_type_idx on o_tax_taxonomy_type_to_type (fk_type); +alter table o_tax_taxonomy_type_to_type add constraint tax_type_to_sub_type_idx foreign key (fk_allowed_sub_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_type_to_sub_type_idx on o_tax_taxonomy_type_to_type (fk_allowed_sub_type); + + +create table o_tax_taxonomy_level ( + id bigint not null auto_increment, + creationdate datetime not null, + lastmodified datetime not null, + t_identifier varchar(64), + t_displayname varchar(255) not null, + t_description mediumtext, + t_external_id varchar(64), + t_sort_order bigint, + t_directory_path varchar(255), + t_m_path_keys varchar(255), + t_m_path_identifiers varchar(1024), + t_enabled bit default 1, + t_managed_flags varchar(255), + fk_taxonomy bigint not null, + fk_parent bigint, + fk_type bigint, + primary key (id) +); +alter table o_tax_taxonomy_level ENGINE = InnoDB; + +alter table o_tax_taxonomy_level add constraint tax_level_to_taxonomy_idx foreign key (fk_taxonomy) references o_tax_taxonomy (id); +alter table o_tax_taxonomy_level add constraint tax_level_to_tax_level_idx foreign key (fk_parent) references o_tax_taxonomy_level (id); +alter table o_tax_taxonomy_level add constraint tax_level_to_type_idx foreign key (fk_type) references o_tax_taxonomy_level_type (id); + + +create table o_tax_taxonomy_competence ( + id bigint not null auto_increment, + creationdate datetime not null, + lastmodified datetime not null, + t_type varchar(16), + t_achievement float(65,30) default null, + t_reliability float(65,30) default null, + t_expiration_date datetime, + t_external_id varchar(64), + t_source_text varchar(255), + t_source_url varchar(255), + fk_level bigint not null, + fk_identity bigint not null, + primary key (id) +); +alter table o_tax_taxonomy_competence ENGINE = InnoDB; + +alter table o_tax_taxonomy_competence add constraint tax_comp_to_tax_level_idx foreign key (fk_level) references o_tax_taxonomy_level (id); +alter table o_tax_taxonomy_competence add constraint tax_level_to_ident_idx foreign key (fk_identity) references o_bs_identity (id); + + +create table o_tax_competence_audit_log ( + id bigint not null auto_increment, + creationdate datetime not null, + t_action varchar(32), + t_val_before mediumtext, + t_val_after mediumtext, + t_message mediumtext, + fk_taxonomy bigint, + fk_taxonomy_competence bigint, + fk_identity bigint, + fk_author bigint, + primary key (id) +); + + +-- qpool +alter table o_qp_item add column fk_taxonomy_level_v2 bigint; + +alter table o_qp_item add constraint idx_qp_pool_2_tax_id foreign key (fk_taxonomy_level_v2) references o_tax_taxonomy_level(id); + +alter table o_qp_item drop foreign key idx_qp_pool_2_field_id; + + + + diff --git a/src/main/resources/database/mysql/setupDatabase.sql b/src/main/resources/database/mysql/setupDatabase.sql index 4b5d4bf0a438cc85b822ef6a9c1c5a64370dfbc3..3d46aa54c866b469a5e3e4e92e9f342249db5012 100644 --- a/src/main/resources/database/mysql/setupDatabase.sql +++ b/src/main/resources/database/mysql/setupDatabase.sql @@ -1561,6 +1561,7 @@ create table o_qp_item ( q_dir varchar(32), q_root_filename varchar(255), fk_taxonomy_level bigint, + fk_taxonomy_level_v2 bigint, fk_ownergroup bigint not null, primary key (id) ); @@ -2139,6 +2140,102 @@ create table o_lecture_block_audit_log ( primary key (id) ); +-- taxonomy +create table o_tax_taxonomy ( + id bigint not null auto_increment, + creationdate datetime not null, + lastmodified datetime not null, + t_identifier varchar(64), + t_displayname varchar(255) not null, + t_description mediumtext, + t_external_id varchar(64), + t_managed_flags varchar(255), + t_library bit default 1, + t_directory_path varchar(255), + t_directory_info_page_path varchar(255), + fk_group bigint not null, + primary key (id) +); + +create table o_tax_taxonomy_level_type ( + id bigint not null auto_increment, + creationdate datetime not null, + lastmodified datetime not null, + t_identifier varchar(64), + t_displayname varchar(255) not null, + t_description mediumtext, + t_external_id varchar(64), + t_managed_flags varchar(255), + t_css_class varchar(64), + t_visible bit default 1, + t_library_docs bit default 1, + t_library_manage bit default 1, + t_library_teach_read bit default 1, + t_library_teach_readlevels bigint not null default 0, + t_library_teach_write bit default 0, + t_library_have_read bit default 1, + t_library_target_read bit default 1, + fk_taxonomy bigint not null, + primary key (id) +); + +create table o_tax_taxonomy_type_to_type ( + id bigint not null auto_increment, + fk_type bigint not null, + fk_allowed_sub_type bigint not null, + primary key (id) +); + +create table o_tax_taxonomy_level ( + id bigint not null auto_increment, + creationdate datetime not null, + lastmodified datetime not null, + t_identifier varchar(64), + t_displayname varchar(255) not null, + t_description mediumtext, + t_external_id varchar(64), + t_sort_order bigint, + t_directory_path varchar(255), + t_m_path_keys varchar(255), + t_m_path_identifiers varchar(1024), + t_enabled bit default 1, + t_managed_flags varchar(255), + fk_taxonomy bigint not null, + fk_parent bigint, + fk_type bigint, + primary key (id) +); + +create table o_tax_taxonomy_competence ( + id bigint not null auto_increment, + creationdate datetime not null, + lastmodified datetime not null, + t_type varchar(16), + t_achievement float(65,30) default null, + t_reliability float(65,30) default null, + t_expiration_date datetime, + t_external_id varchar(64), + t_source_text varchar(255), + t_source_url varchar(255), + fk_level bigint not null, + fk_identity bigint not null, + primary key (id) +); + +create table o_tax_competence_audit_log ( + id bigint not null auto_increment, + creationdate datetime not null, + t_action varchar(32), + t_val_before mediumtext, + t_val_after mediumtext, + t_message mediumtext, + fk_taxonomy bigint, + fk_taxonomy_competence bigint, + fk_identity bigint, + fk_author bigint, + primary key (id) +); + -- user view create view o_bs_identity_short_v as ( select @@ -2483,6 +2580,12 @@ alter table o_lecture_reminder ENGINE = InnoDB; alter table o_lecture_participant_summary ENGINE = InnoDB; alter table o_lecture_entry_config ENGINE = InnoDB; alter table o_lecture_block_audit_log ENGINE = InnoDB; +alter table o_tax_taxonomy ENGINE = InnoDB; +alter table o_tax_taxonomy_level_type ENGINE = InnoDB; +alter table o_tax_taxonomy_type_to_type ENGINE = InnoDB; +alter table o_tax_taxonomy_level ENGINE = InnoDB; +alter table o_tax_taxonomy_competence ENGINE = InnoDB; + -- rating alter table o_userrating add constraint FKF26C8375236F20X foreign key (creator_id) references o_bs_identity (id); @@ -2918,7 +3021,7 @@ alter table o_qp_collection_2_item add constraint idx_qp_coll_coll_id foreign ke alter table o_qp_collection_2_item add constraint idx_qp_coll_item_id foreign key (fk_item_id) references o_qp_item(id); alter table o_qp_collection_2_item add unique (fk_collection_id, fk_item_id); -alter table o_qp_item add constraint idx_qp_pool_2_field_id foreign key (fk_taxonomy_level) references o_qp_taxonomy_level(id); +alter table o_qp_item add constraint idx_qp_pool_2_tax_id foreign key (fk_taxonomy_level_v2) references o_tax_taxonomy_level(id); alter table o_qp_item add constraint idx_qp_item_owner_id foreign key (fk_ownergroup) references o_bs_secgroup(id); alter table o_qp_item add constraint idx_qp_item_edu_ctxt_id foreign key (fk_edu_context) references o_qp_edu_context(id); alter table o_qp_item add constraint idx_qp_item_type_id foreign key (fk_type) references o_qp_item_type(id); @@ -2983,6 +3086,23 @@ alter table o_lecture_entry_config add constraint lec_entry_config_entry_idx for create index idx_lec_audit_entry_idx on o_lecture_block_audit_log(fk_entry); create index idx_lec_audit_ident_idx on o_lecture_block_audit_log(fk_identity); +-- taxonomy +alter table o_tax_taxonomy add constraint tax_to_group_idx foreign key (fk_group) references o_bs_group (id); + +alter table o_tax_taxonomy_level_type add constraint tax_type_to_taxonomy_idx foreign key (fk_taxonomy) references o_tax_taxonomy (id); + +alter table o_tax_taxonomy_type_to_type add constraint tax_type_to_type_idx foreign key (fk_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_type_to_type_idx on o_tax_taxonomy_type_to_type (fk_type); +alter table o_tax_taxonomy_type_to_type add constraint tax_type_to_sub_type_idx foreign key (fk_allowed_sub_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_type_to_sub_type_idx on o_tax_taxonomy_type_to_type (fk_allowed_sub_type); + +alter table o_tax_taxonomy_level add constraint tax_level_to_taxonomy_idx foreign key (fk_taxonomy) references o_tax_taxonomy (id); +alter table o_tax_taxonomy_level add constraint tax_level_to_tax_level_idx foreign key (fk_parent) references o_tax_taxonomy_level (id); +alter table o_tax_taxonomy_level add constraint tax_level_to_type_idx foreign key (fk_type) references o_tax_taxonomy_level_type (id); + +alter table o_tax_taxonomy_competence add constraint tax_comp_to_tax_level_idx foreign key (fk_level) references o_tax_taxonomy_level (id); +alter table o_tax_taxonomy_competence add constraint tax_level_to_ident_idx foreign key (fk_identity) references o_bs_identity (id); + -- 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/oracle/alter_12_1_x_to_12_2_0.sql b/src/main/resources/database/oracle/alter_12_1_x_to_12_2_0.sql index e9e8a784d9349747829d27cd537f42e2f9265fa2..679324755b6a7a7ad4383460d67c857e2c417578 100644 --- a/src/main/resources/database/oracle/alter_12_1_x_to_12_2_0.sql +++ b/src/main/resources/database/oracle/alter_12_1_x_to_12_2_0.sql @@ -10,3 +10,143 @@ create table o_gta_mark ( alter table o_gta_mark add constraint gtamark_tasklist_idx foreign key (fk_tasklist_id) references o_gta_task_list (id); create index idx_gtamark_tasklist_idx on o_gta_mark (fk_tasklist_id); + + +-- taxonomy +create table o_tax_taxonomy ( + id number(20) generated always as identity, + creationdate date not null, + lastmodified date not null, + t_identifier varchar2(64 char), + t_displayname varchar2(255 char) not null, + t_description CLOB, + t_external_id varchar2(64 char), + t_managed_flags varchar2(255 char), + t_library number default 1, + t_directory_path varchar2(255 char), + t_directory_info_page_path varchar2(255 char), + fk_group number(20) not null, + primary key (id) +); + +alter table o_tax_taxonomy add constraint tax_to_group_idx foreign key (fk_group) references o_bs_group (id); +create index idx_tax_to_group_idx on o_tax_taxonomy (fk_group); + + +create table o_tax_taxonomy_level_type ( + id number(20) generated always as identity, + creationdate date not null, + lastmodified date not null, + t_identifier varchar2(64 char), + t_displayname varchar2(255 char) not null, + t_description CLOB, + t_external_id varchar2(64 char), + t_managed_flags varchar2(255 char), + t_css_class varchar2(64 char), + t_visible number default 1, + t_library_docs number default 1, + t_library_manage number default 1, + t_library_teach_read number default 1, + t_library_teach_readlevels number(20) default 0 not null, + t_library_teach_write number default 0, + t_library_have_read number default 1, + t_library_target_read number default 1, + fk_taxonomy number(20) not null, + primary key (id) +); + +alter table o_tax_taxonomy_level_type add constraint tax_type_to_taxonomy_idx foreign key (fk_taxonomy) references o_tax_taxonomy (id); +create index idx_tax_type_to_taxonomy_idx on o_tax_taxonomy_level_type (fk_taxonomy); + + +create table o_tax_taxonomy_type_to_type ( + id number(20) generated always as identity, + fk_type number(20) not null, + fk_allowed_sub_type number(20) not null, + primary key (id) +); + +alter table o_tax_taxonomy_type_to_type add constraint tax_type_to_type_idx foreign key (fk_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_type_to_type_idx on o_tax_taxonomy_type_to_type (fk_type); +alter table o_tax_taxonomy_type_to_type add constraint tax_type_to_sub_type_idx foreign key (fk_allowed_sub_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_type_to_sub_type_idx on o_tax_taxonomy_type_to_type (fk_allowed_sub_type); + + +create table o_tax_taxonomy_level ( + id number(20) generated always as identity, + creationdate date not null, + lastmodified date not null, + t_identifier varchar2(64 char), + t_displayname varchar2(255 char) not null, + t_description CLOB, + t_external_id varchar2(64 char), + t_sort_order number(20), + t_directory_path varchar2(255 char), + t_m_path_keys varchar2(255 char), + t_m_path_identifiers varchar2(1024 char), + t_enabled number default 1, + t_managed_flags varchar2(255 char), + fk_taxonomy number(20) not null, + fk_parent number(20), + fk_type number(20), + primary key (id) +); + +alter table o_tax_taxonomy_level add constraint tax_level_to_taxonomy_idx foreign key (fk_taxonomy) references o_tax_taxonomy (id); +create index idx_tax_level_to_taxonomy_idx on o_tax_taxonomy_level (fk_taxonomy); +alter table o_tax_taxonomy_level add constraint tax_level_to_tax_level_idx foreign key (fk_parent) references o_tax_taxonomy_level (id); +create index idx_tax_level_to_tax_level_idx on o_tax_taxonomy_level (fk_parent); +alter table o_tax_taxonomy_level add constraint tax_level_to_type_idx foreign key (fk_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_level_to_type_idx on o_tax_taxonomy_level (fk_type); + + +create table o_tax_taxonomy_competence ( + id number(20) generated always as identity, + creationdate date not null, + lastmodified date not null, + t_type varchar2(16), + t_achievement decimal default null, + t_reliability decimal default null, + t_expiration_date date, + t_external_id varchar2(64 char), + t_source_text varchar2(255 char), + t_source_url varchar2(255 char), + fk_level number(20) not null, + fk_identity number(20) not null, + primary key (id) +); + +alter table o_tax_taxonomy_competence add constraint tax_comp_to_tax_level_idx foreign key (fk_level) references o_tax_taxonomy_level (id); +create index idx_tax_comp_to_tax_level_idx on o_tax_taxonomy_competence (fk_level); +alter table o_tax_taxonomy_competence add constraint tax_level_to_ident_idx foreign key (fk_identity) references o_bs_identity (id); +create index idx_tax_level_to_ident_idx on o_tax_taxonomy_competence (fk_identity); + + +create table o_tax_competence_audit_log ( + id number(20) generated always as identity, + creationdate date not null, + t_action varchar2(32 char), + t_val_before CLOB, + t_val_after CLOB, + t_message CLOB, + fk_taxonomy number(20), + fk_taxonomy_competence number(20), + fk_identity number(20), + fk_author number(20), + primary key (id) +); + + +-- qpool +alter table o_qp_item add fk_taxonomy_level_v2 number(20); + +alter table o_qp_item add constraint idx_qp_pool_2_tax_id foreign key (fk_taxonomy_level_v2) references o_tax_taxonomy_level(id); +create index idx_item_taxlon_idx on o_qp_item (fk_taxonomy_level_v2); + +alter table o_qp_item drop constraint idx_qp_pool_2_field_id; +drop index idx_item_taxon_idx; + + + + + diff --git a/src/main/resources/database/oracle/setupDatabase.sql b/src/main/resources/database/oracle/setupDatabase.sql index 778631ac6f9c1c2cc11cdc0f106a1dabcac40484..a73f195377fd29b62dec8fae5a25d17835d5b913 100644 --- a/src/main/resources/database/oracle/setupDatabase.sql +++ b/src/main/resources/database/oracle/setupDatabase.sql @@ -1781,6 +1781,7 @@ create table o_qp_item ( q_dir varchar2(32 char), q_root_filename varchar2(255 char), fk_taxonomy_level number(20), + fk_taxonomy_level_v2 number(20), fk_ownergroup number(20) not null, primary key (id) ); @@ -2182,6 +2183,102 @@ create table o_lecture_block_audit_log ( primary key (id) ); +-- taxonomy +create table o_tax_taxonomy ( + id number(20) generated always as identity, + creationdate date not null, + lastmodified date not null, + t_identifier varchar2(64 char), + t_displayname varchar2(255 char) not null, + t_description CLOB, + t_external_id varchar2(64 char), + t_managed_flags varchar2(255 char), + t_library number default 1, + t_directory_path varchar2(255 char), + t_directory_info_page_path varchar2(255 char), + fk_group number(20) not null, + primary key (id) +); + +create table o_tax_taxonomy_level_type ( + id number(20) generated always as identity, + creationdate date not null, + lastmodified date not null, + t_identifier varchar2(64 char), + t_displayname varchar2(255 char) not null, + t_description CLOB, + t_external_id varchar2(64 char), + t_managed_flags varchar2(255 char), + t_css_class varchar2(64 char), + t_visible number default 1, + t_library_docs number default 1, + t_library_manage number default 1, + t_library_teach_read number default 1, + t_library_teach_readlevels number(20) default 0 not null, + t_library_teach_write number default 0, + t_library_have_read number default 1, + t_library_target_read number default 1, + fk_taxonomy number(20) not null, + primary key (id) +); + +create table o_tax_taxonomy_type_to_type ( + id number(20) generated always as identity, + fk_type number(20) not null, + fk_allowed_sub_type number(20) not null, + primary key (id) +); + +create table o_tax_taxonomy_level ( + id number(20) generated always as identity, + creationdate date not null, + lastmodified date not null, + t_identifier varchar2(64 char), + t_displayname varchar2(255 char) not null, + t_description CLOB, + t_external_id varchar2(64 char), + t_sort_order number(20), + t_directory_path varchar2(255 char), + t_m_path_keys varchar2(255 char), + t_m_path_identifiers varchar2(1024 char), + t_enabled number default 1, + t_managed_flags varchar2(255 char), + fk_taxonomy number(20) not null, + fk_parent number(20), + fk_type number(20), + primary key (id) +); + +create table o_tax_taxonomy_competence ( + id number(20) generated always as identity, + creationdate date not null, + lastmodified date not null, + t_type varchar2(16), + t_achievement decimal default null, + t_reliability decimal default null, + t_expiration_date date, + t_external_id varchar2(64 char), + t_source_text varchar2(255 char), + t_source_url varchar2(255 char), + fk_level number(20) not null, + fk_identity number(20) not null, + primary key (id) +); + +create table o_tax_competence_audit_log ( + id number(20) generated always as identity, + creationdate date not null, + t_action varchar2(32 char), + t_val_before CLOB, + t_val_after CLOB, + t_message CLOB, + fk_taxonomy number(20), + fk_taxonomy_competence number(20), + fk_identity number(20), + fk_author number(20), + primary key (id) +); + -- user view create view o_bs_identity_short_v as ( select @@ -3086,8 +3183,8 @@ alter table o_qp_collection_2_item add unique (fk_collection_id, fk_item_id); create index idx_coll2item_coll_idx on o_qp_collection_2_item (fk_collection_id); create index idx_coll2item_item_idx on o_qp_collection_2_item (fk_item_id); -alter table o_qp_item add constraint idx_qp_pool_2_field_id foreign key (fk_taxonomy_level) references o_qp_taxonomy_level(id); -create index idx_item_taxon_idx on o_qp_item (fk_taxonomy_level); +alter table o_qp_item add constraint idx_qp_pool_2_tax_id foreign key (fk_taxonomy_level_v2) references o_tax_taxonomy_level(id); +create index idx_item_taxlon_idx on o_qp_item (fk_taxonomy_level_v2); alter table o_qp_item add constraint idx_qp_item_owner_id foreign key (fk_ownergroup) references o_bs_secgroup(id); create index idx_item_ownergrp_idx on o_qp_item (fk_ownergroup); alter table o_qp_item add constraint idx_qp_item_edu_ctxt_id foreign key (fk_edu_context) references o_qp_edu_context(id); @@ -3144,6 +3241,30 @@ create index idx_item_ident_author_idx on o_feed_item (fk_identity_author_id); alter table o_feed_item add constraint feed_item_to_ident_modified_fk foreign key (fk_identity_modified_id) references o_bs_identity (id); create index idx_item_ident_modified_idx on o_feed_item (fk_identity_modified_id); +-- taxonomy +alter table o_tax_taxonomy add constraint tax_to_group_idx foreign key (fk_group) references o_bs_group (id); +create index idx_tax_to_group_idx on o_tax_taxonomy (fk_group); + +alter table o_tax_taxonomy_level_type add constraint tax_type_to_taxonomy_idx foreign key (fk_taxonomy) references o_tax_taxonomy (id); +create index idx_tax_type_to_taxonomy_idx on o_tax_taxonomy_level_type (fk_taxonomy); + +alter table o_tax_taxonomy_type_to_type add constraint tax_type_to_type_idx foreign key (fk_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_type_to_type_idx on o_tax_taxonomy_type_to_type (fk_type); +alter table o_tax_taxonomy_type_to_type add constraint tax_type_to_sub_type_idx foreign key (fk_allowed_sub_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_type_to_sub_type_idx on o_tax_taxonomy_type_to_type (fk_allowed_sub_type); + +alter table o_tax_taxonomy_level add constraint tax_level_to_taxonomy_idx foreign key (fk_taxonomy) references o_tax_taxonomy (id); +create index idx_tax_level_to_taxonomy_idx on o_tax_taxonomy_level (fk_taxonomy); +alter table o_tax_taxonomy_level add constraint tax_level_to_tax_level_idx foreign key (fk_parent) references o_tax_taxonomy_level (id); +create index idx_tax_level_to_tax_level_idx on o_tax_taxonomy_level (fk_parent); +alter table o_tax_taxonomy_level add constraint tax_level_to_type_idx foreign key (fk_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_level_to_type_idx on o_tax_taxonomy_level (fk_type); + +alter table o_tax_taxonomy_competence add constraint tax_comp_to_tax_level_idx foreign key (fk_level) references o_tax_taxonomy_level (id); +create index idx_tax_comp_to_tax_level_idx on o_tax_taxonomy_competence (fk_level); +alter table o_tax_taxonomy_competence add constraint tax_level_to_ident_idx foreign key (fk_identity) references o_bs_identity (id); +create index idx_tax_level_to_ident_idx on o_tax_taxonomy_competence (fk_identity); + -- lectures alter table o_lecture_block add constraint lec_block_entry_idx foreign key (fk_entry) references o_repositoryentry (repositoryentry_id); create index idx_lec_block_entry_idx on o_lecture_block(fk_entry); diff --git a/src/main/resources/database/postgresql/alter_12_1_x_to_12_2_0.sql b/src/main/resources/database/postgresql/alter_12_1_x_to_12_2_0.sql index 1dbc54f00ad1996f92c1d74c687e6f8f4f234b3c..2b6cfe50b5825160e66752807beac59d356bd20c 100644 --- a/src/main/resources/database/postgresql/alter_12_1_x_to_12_2_0.sql +++ b/src/main/resources/database/postgresql/alter_12_1_x_to_12_2_0.sql @@ -10,3 +10,142 @@ create table o_gta_mark ( alter table o_gta_mark add constraint gtamark_tasklist_idx foreign key (fk_tasklist_id) references o_gta_task_list (id); create index idx_gtamark_tasklist_idx on o_gta_mark (fk_tasklist_id); + + +-- taxonomy +create table o_tax_taxonomy ( + id bigserial, + creationdate timestamp not null, + lastmodified timestamp not null, + t_identifier varchar(64), + t_displayname varchar(255) not null, + t_description text, + t_external_id varchar(64), + t_managed_flags varchar(255), + t_library bool default true, + t_directory_path varchar(255), + t_directory_info_page_path varchar(255), + fk_group int8 not null, + primary key (id) +); + +alter table o_tax_taxonomy add constraint tax_to_group_idx foreign key (fk_group) references o_bs_group (id); +create index idx_tax_to_group_idx on o_tax_taxonomy (fk_group); + + +create table o_tax_taxonomy_level_type ( + id bigserial, + creationdate timestamp not null, + lastmodified timestamp not null, + t_identifier varchar(64), + t_displayname varchar(255) not null, + t_description text, + t_external_id varchar(64), + t_managed_flags varchar(255), + t_css_class varchar(64), + t_visible bool default true, + t_library_docs bool default true, + t_library_manage bool default true, + t_library_teach_read bool default true, + t_library_teach_readlevels int8 not null default 0, + t_library_teach_write bool default false, + t_library_have_read bool default true, + t_library_target_read bool default true, + fk_taxonomy int8 not null, + primary key (id) +); + +alter table o_tax_taxonomy_level_type add constraint tax_type_to_taxonomy_idx foreign key (fk_taxonomy) references o_tax_taxonomy (id); +create index idx_tax_type_to_taxonomy_idx on o_tax_taxonomy_level_type (fk_taxonomy); + + +create table o_tax_taxonomy_type_to_type ( + id bigserial, + fk_type int8 not null, + fk_allowed_sub_type int8 not null, + primary key (id) +); + +alter table o_tax_taxonomy_type_to_type add constraint tax_type_to_type_idx foreign key (fk_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_type_to_type_idx on o_tax_taxonomy_type_to_type (fk_type); +alter table o_tax_taxonomy_type_to_type add constraint tax_type_to_sub_type_idx foreign key (fk_allowed_sub_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_type_to_sub_type_idx on o_tax_taxonomy_type_to_type (fk_allowed_sub_type); + + +create table o_tax_taxonomy_level ( + id bigserial, + creationdate timestamp not null, + lastmodified timestamp not null, + t_identifier varchar(64), + t_displayname varchar(255) not null, + t_description text, + t_external_id varchar(64), + t_sort_order int8, + t_directory_path varchar(255), + t_m_path_keys varchar(255), + t_m_path_identifiers varchar(1024), + t_enabled bool default true, + t_managed_flags varchar(255), + fk_taxonomy int8 not null, + fk_parent int8, + fk_type int8, + primary key (id) +); + +alter table o_tax_taxonomy_level add constraint tax_level_to_taxonomy_idx foreign key (fk_taxonomy) references o_tax_taxonomy (id); +create index idx_tax_level_to_taxonomy_idx on o_tax_taxonomy_level (fk_taxonomy); +alter table o_tax_taxonomy_level add constraint tax_level_to_tax_level_idx foreign key (fk_parent) references o_tax_taxonomy_level (id); +create index idx_tax_level_to_tax_level_idx on o_tax_taxonomy_level (fk_parent); +alter table o_tax_taxonomy_level add constraint tax_level_to_type_idx foreign key (fk_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_level_to_type_idx on o_tax_taxonomy_level (fk_type); + + +create table o_tax_taxonomy_competence ( + id bigserial, + creationdate timestamp not null, + lastmodified timestamp not null, + t_type varchar(16), + t_achievement decimal default null, + t_reliability decimal default null, + t_expiration_date timestamp, + t_external_id varchar(64), + t_source_text varchar(255), + t_source_url varchar(255), + fk_level int8 not null, + fk_identity int8 not null, + primary key (id) +); + +alter table o_tax_taxonomy_competence add constraint tax_comp_to_tax_level_idx foreign key (fk_level) references o_tax_taxonomy_level (id); +create index idx_tax_comp_to_tax_level_idx on o_tax_taxonomy_competence (fk_level); +alter table o_tax_taxonomy_competence add constraint tax_level_to_ident_idx foreign key (fk_identity) references o_bs_identity (id); +create index idx_tax_level_to_ident_idx on o_tax_taxonomy_competence (fk_identity); + + +create table o_tax_competence_audit_log ( + id bigserial, + creationdate timestamp not null, + t_action varchar(32), + t_val_before text, + t_val_after text, + t_message text, + fk_taxonomy int8, + fk_taxonomy_competence int8, + fk_identity int8, + fk_author int8, + primary key (id) +); + + +-- qpool +alter table o_qp_item add column fk_taxonomy_level_v2 int8; + +alter table o_qp_item add constraint idx_qp_pool_2_tax_id foreign key (fk_taxonomy_level_v2) references o_tax_taxonomy_level(id); +create index idx_item_taxlon_idx on o_qp_item (fk_taxonomy_level_v2); + +alter table o_qp_item drop constraint idx_qp_pool_2_field_id; +drop index idx_item_taxon_idx; + + + + diff --git a/src/main/resources/database/postgresql/setupDatabase.sql b/src/main/resources/database/postgresql/setupDatabase.sql index 7180e7c05d6de5cf3f131f95bc0d6b7be3daff8d..53d21810174cd1e161c2283da60ecb3f5df2b0aa 100644 --- a/src/main/resources/database/postgresql/setupDatabase.sql +++ b/src/main/resources/database/postgresql/setupDatabase.sql @@ -1755,6 +1755,7 @@ create table o_qp_item ( q_dir varchar(32), q_root_filename varchar(255), fk_taxonomy_level int8, + fk_taxonomy_level_v2 int8, fk_ownergroup int8 not null, primary key (id) ); @@ -2137,6 +2138,102 @@ create table o_lecture_block_audit_log ( primary key (id) ); +-- taxonomy +create table o_tax_taxonomy ( + id bigserial, + creationdate timestamp not null, + lastmodified timestamp not null, + t_identifier varchar(64), + t_displayname varchar(255) not null, + t_description text, + t_external_id varchar(64), + t_managed_flags varchar(255), + t_library bool default true, + t_directory_path varchar(255), + t_directory_info_page_path varchar(255), + fk_group int8 not null, + primary key (id) +); + +create table o_tax_taxonomy_level_type ( + id bigserial, + creationdate timestamp not null, + lastmodified timestamp not null, + t_identifier varchar(64), + t_displayname varchar(255) not null, + t_description text, + t_external_id varchar(64), + t_managed_flags varchar(255), + t_css_class varchar(64), + t_visible bool default true, + t_library_docs bool default true, + t_library_manage bool default true, + t_library_teach_read bool default true, + t_library_teach_readlevels int8 not null default 0, + t_library_teach_write bool default false, + t_library_have_read bool default true, + t_library_target_read bool default true, + fk_taxonomy int8 not null, + primary key (id) +); + +create table o_tax_taxonomy_type_to_type ( + id bigserial, + fk_type int8 not null, + fk_allowed_sub_type int8 not null, + primary key (id) +); + +create table o_tax_taxonomy_level ( + id bigserial, + creationdate timestamp not null, + lastmodified timestamp not null, + t_identifier varchar(64), + t_displayname varchar(255) not null, + t_description text, + t_external_id varchar(64), + t_sort_order int8, + t_directory_path varchar(255), + t_m_path_keys varchar(255), + t_m_path_identifiers varchar(1024), + t_enabled bool default true, + t_managed_flags varchar(255), + fk_taxonomy int8 not null, + fk_parent int8, + fk_type int8, + primary key (id) +); + +create table o_tax_taxonomy_competence ( + id bigserial, + creationdate timestamp not null, + lastmodified timestamp not null, + t_type varchar(16), + t_achievement decimal default null, + t_reliability decimal default null, + t_expiration_date timestamp, + t_external_id varchar(64), + t_source_text varchar(255), + t_source_url varchar(255), + fk_level int8 not null, + fk_identity int8 not null, + primary key (id) +); + +create table o_tax_competence_audit_log ( + id bigserial, + creationdate timestamp not null, + t_action varchar(32), + t_val_before text, + t_val_after text, + t_message text, + fk_taxonomy int8, + fk_taxonomy_competence int8, + fk_identity int8, + fk_author int8, + primary key (id) +); + -- user view create view o_bs_identity_short_v as ( select @@ -2938,8 +3035,8 @@ alter table o_qp_collection_2_item add unique (fk_collection_id, fk_item_id); create index idx_coll2item_coll_idx on o_qp_collection_2_item (fk_collection_id); create index idx_coll2item_item_idx on o_qp_collection_2_item (fk_item_id); -alter table o_qp_item add constraint idx_qp_pool_2_field_id foreign key (fk_taxonomy_level) references o_qp_taxonomy_level(id); -create index idx_item_taxon_idx on o_qp_item (fk_taxonomy_level); +alter table o_qp_item add constraint idx_qp_pool_2_tax_id foreign key (fk_taxonomy_level_v2) references o_tax_taxonomy_level(id); +create index idx_item_taxlon_idx on o_qp_item (fk_taxonomy_level_v2); alter table o_qp_item add constraint idx_qp_item_owner_id foreign key (fk_ownergroup) references o_bs_secgroup(id); create index idx_item_ownergrp_idx on o_qp_item (fk_ownergroup); alter table o_qp_item add constraint idx_qp_item_edu_ctxt_id foreign key (fk_edu_context) references o_qp_edu_context(id); @@ -3030,6 +3127,30 @@ create index idx_lec_entry_conf_entry_idx on o_lecture_entry_config(fk_entry); create index idx_lec_audit_entry_idx on o_lecture_block_audit_log(fk_entry); create index idx_lec_audit_ident_idx on o_lecture_block_audit_log(fk_identity); +-- taxonomy +alter table o_tax_taxonomy add constraint tax_to_group_idx foreign key (fk_group) references o_bs_group (id); +create index idx_tax_to_group_idx on o_tax_taxonomy (fk_group); + +alter table o_tax_taxonomy_level_type add constraint tax_type_to_taxonomy_idx foreign key (fk_taxonomy) references o_tax_taxonomy (id); +create index idx_tax_type_to_taxonomy_idx on o_tax_taxonomy_level_type (fk_taxonomy); + +alter table o_tax_taxonomy_type_to_type add constraint tax_type_to_type_idx foreign key (fk_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_type_to_type_idx on o_tax_taxonomy_type_to_type (fk_type); +alter table o_tax_taxonomy_type_to_type add constraint tax_type_to_sub_type_idx foreign key (fk_allowed_sub_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_type_to_sub_type_idx on o_tax_taxonomy_type_to_type (fk_allowed_sub_type); + +alter table o_tax_taxonomy_level add constraint tax_level_to_taxonomy_idx foreign key (fk_taxonomy) references o_tax_taxonomy (id); +create index idx_tax_level_to_taxonomy_idx on o_tax_taxonomy_level (fk_taxonomy); +alter table o_tax_taxonomy_level add constraint tax_level_to_tax_level_idx foreign key (fk_parent) references o_tax_taxonomy_level (id); +create index idx_tax_level_to_tax_level_idx on o_tax_taxonomy_level (fk_parent); +alter table o_tax_taxonomy_level add constraint tax_level_to_type_idx foreign key (fk_type) references o_tax_taxonomy_level_type (id); +create index idx_tax_level_to_type_idx on o_tax_taxonomy_level (fk_type); + +alter table o_tax_taxonomy_competence add constraint tax_comp_to_tax_level_idx foreign key (fk_level) references o_tax_taxonomy_level (id); +create index idx_tax_comp_to_tax_level_idx on o_tax_taxonomy_competence (fk_level); +alter table o_tax_taxonomy_competence add constraint tax_level_to_ident_idx foreign key (fk_identity) references o_bs_identity (id); +create index idx_tax_level_to_ident_idx on o_tax_taxonomy_competence (fk_identity); + -- 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/serviceconfig/olat.properties b/src/main/resources/serviceconfig/olat.properties index 43f586909a614938e2ee167c1ef0be1c88252ee9..e35983f9b0a8315aa5e7ab441ed93005c5f4ac65 100644 --- a/src/main/resources/serviceconfig/olat.properties +++ b/src/main/resources/serviceconfig/olat.properties @@ -425,6 +425,8 @@ site.repository.enable=true site.questionpool.enable=true # When enabling the portfolio site you should set minimalhome.ext.portfolio to false to not have two separate entry points site.portfolio.enable=false +# Enable the taxonomy and competence management +site.taxonomy.enable=true # Enable/disable the whole catalog feature repo.catalog.enable=true diff --git a/src/main/webapp/static/themes/light/modules/_icons.scss b/src/main/webapp/static/themes/light/modules/_icons.scss index b917b278be0e95784c62410b07587d543109a06c..332e48becd41b19bbe155189f859d8633c5cef90 100644 --- a/src/main/webapp/static/themes/light/modules/_icons.scss +++ b/src/main/webapp/static/themes/light/modules/_icons.scss @@ -499,6 +499,12 @@ $fa-css-prefix: "o_icon" !default; .o_lectures_authorized:before { content: $fa-var-circle; color: $brand-warning; } .o_lectures_absent:before { content: $fa-var-circle; color: $brand-danger; } +/* taxonomy */ +.o_icon_taxonomy:before { content: $fa-var-cube; } +.o_icon_taxonomy_level:before { content: $fa-var-cubes; } +.o_icon_taxonomy_level_leaf:before { content: $fa-var-folder-open-o; } +.o_icon_taxonomy_templates:before { content: $fa-var-files-o; } + /* coaching */ .o_black_led:before { content: $fa-var-circle; color: $brand-primary; } .o_green_led:before { content: $fa-var-circle; color: $brand-success; } diff --git a/src/main/webapp/static/themes/light/modules/_various_modules.scss b/src/main/webapp/static/themes/light/modules/_various_modules.scss index 26f2047af0e70a95609a7bc010f9ff37983740b2..e4c60cb5268914a8da6674dbfb5e70dab4735ac4 100644 --- a/src/main/webapp/static/themes/light/modules/_various_modules.scss +++ b/src/main/webapp/static/themes/light/modules/_various_modules.scss @@ -456,6 +456,11 @@ ul.o_certificates li { margin-top:20px; } +/* Taxonomy */ +.o_taxonomy div#o_main_toolbar.o_toolbar { + margin-top: 0px; +} + /* Assessment */ div.o_assessment_user_type_filter { display: inline-block; diff --git a/src/main/webapp/static/themes/light/theme.css b/src/main/webapp/static/themes/light/theme.css index 87121339aaf17a0819e15f58d75fecdade75cf8c..a52ab3f28e321b8ffacdb56b01418d1548c860de 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}}@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{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_failed:before{content:"ï—"}.o_icon_files: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_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{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_twitter:before{content:"ï‚™"}.o_icon_publish: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_replace:before{content:""}.o_icon_reply:before{content:"ï„’"}.o_icon_reply_with_quote: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_review: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_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:""}.o_edubase_icon:before{content:"ï‚Ž"}.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_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_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_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:""}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:95%;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}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;border-top:1px solid #e7e7e7}.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_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}.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_form .o_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_form .o_warning h2,.b_warning h3,.o_form .o_warning h3,.b_warning h4,.o_form .o_warning h4,.b_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_warning h2,.o_form .o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_warning h2,.b_warning h5,.o_form .o_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}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}@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}.o_web_content{padding-bottom:15px}.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_highlight{font-weight:bold;background-color:#fcf8e3}.o_search_result_context{color:#3c763d}.o_search_result_excerpt{color:#555}.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}@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}.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}.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_sel_correction_navigation{text-align:center}div.o_sel_correction_navigation #o_cocurrent_item_SELBOX{display:inline-block}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}.onyx_iframe{width:100%;height:100%;border:none;min-height:60em}.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_gap_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}#itemBody .extendedTextInteraction{margin:15px 0}#itemBody .extendedTextInteraction textarea{resize:vertical !important}#itemBody .extendedTextInteraction .o_qti_essay_last_save{padding:2px 2px;font-style:italic;font-size:90%;text-align:right}#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 #1f7e9a;border-radius:4px;background:#d9edf7}.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 div.orderInteraction ul li{padding:10px;margin-bottom:10px;border:2px dashed #999;border-radius:4px;background-color:#ffffff;background:#fcf8e3}.o_assessmentitem div.orderInteraction ul li:before,.o_assessmentitem div.orderInteraction ul li:after{content:" ";display:table}.o_assessmentitem div.orderInteraction ul li:after{clear:both}.o_assessmentitem div.orderInteraction ul li span.ui-icon{position:absolute;margin-left:-1.3em}.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:0.5px solid #999;background:#fff;padding:0.5px 1px;color:#333}.o_assessmentitem .textEntryInteraction input:valid,.o_assessmentitem .textEntryInteraction input:disabled{color:#333;-webkit-text-fill-color:#333;background:#d9edf7;border:0.5px solid #bce8f1}.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}.o_assessmentitem_wrapper #itemBody{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 .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}.itemPrompt{margin:1.5em 0;font-style:italic;color:#666666}#itemBody{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}.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:10px;border-bottom: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_section_lead.o_assignment_2_instantiate{border-radius:3px 3px 0px 0px;border-bottom:none;padding-bottom:1px;margin-bottom:0px}.o_assignment_2_instantiate{padding:10px 10px 0px 10px;background-color:#f2f2f2;border-left:1px #d9d9d9 solid;border-right:1px #d9d9d9 solid}.o_assignment_2_instantiate.o_section_ended{border-color:#eba5a3;background-color:#f4cecd}.o_assignment_2_instantiate.last{padding-bottom:10px;border-bottom:1px #d9d9d9 solid;border-radius:0px 0px 3px 3px}.o_assignment_2_instantiate.o_section_ended.last{border-color:#eba5a3}.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_portfolio_title_help_helper{display:inline-block;float:right;position:relative;top:1em;right:1em}.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_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.hover{background-color:#f5f5f5}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels{position:relative}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels div:first-child{position:absolute;left:0px;text-align:left}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels div{display:inline-block;text-align:center}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels div:last-child{position:absolute;right:0px;text-align:right}.o_evaluation_form .o_evaluation_discrete_radio .o_slider input[type='radio']{padding:0;margin:0;position:relative}.o_evaluation_form .o_evaluation_discrete_radio .o_slider 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;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_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_right_label{text-align:left;font-weight:normal}.o_evaluation_form .o_evaluation_textinput .o_evaluation_legend{padding-left:0.5em;margin-bottom:0.5em}@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_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_editor_delete{padding-right:48px}.o_evaluation_editor_form .o_slider_editor_delete .o_slider_editor_delete_button{position:absolute;right:15px}@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}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}@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}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_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}.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}.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 div.ui-dialog-buttonpane{display:none}.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}}@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{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_failed:before{content:"ï—"}.o_icon_files: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_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{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_twitter:before{content:"ï‚™"}.o_icon_publish: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_replace:before{content:""}.o_icon_reply:before{content:"ï„’"}.o_icon_reply_with_quote: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_review: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_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:""}.o_edubase_icon:before{content:"ï‚Ž"}.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_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_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_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:""}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:95%;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}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;border-top:1px solid #e7e7e7}.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_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}.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_form .o_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_form .o_warning h2,.b_warning h3,.o_form .o_warning h3,.b_warning h4,.o_form .o_warning h4,.b_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_warning h2,.o_form .o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_warning h2,.b_warning h5,.o_form .o_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}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}@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}.o_taxonomy div#o_main_toolbar.o_toolbar{margin-top:0px}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}.o_web_content{padding-bottom:15px}.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_highlight{font-weight:bold;background-color:#fcf8e3}.o_search_result_context{color:#3c763d}.o_search_result_excerpt{color:#555}.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}@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}.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}.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_sel_correction_navigation{text-align:center}div.o_sel_correction_navigation #o_cocurrent_item_SELBOX{display:inline-block}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}.onyx_iframe{width:100%;height:100%;border:none;min-height:60em}.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_gap_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}#itemBody .extendedTextInteraction{margin:15px 0}#itemBody .extendedTextInteraction textarea{resize:vertical !important}#itemBody .extendedTextInteraction .o_qti_essay_last_save{padding:2px 2px;font-style:italic;font-size:90%;text-align:right}#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 #1f7e9a;border-radius:4px;background:#d9edf7}.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 div.orderInteraction ul li{padding:10px;margin-bottom:10px;border:2px dashed #999;border-radius:4px;background-color:#ffffff;background:#fcf8e3}.o_assessmentitem div.orderInteraction ul li:before,.o_assessmentitem div.orderInteraction ul li:after{content:" ";display:table}.o_assessmentitem div.orderInteraction ul li:after{clear:both}.o_assessmentitem div.orderInteraction ul li span.ui-icon{position:absolute;margin-left:-1.3em}.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:0.5px solid #999;background:#fff;padding:0.5px 1px;color:#333}.o_assessmentitem .textEntryInteraction input:valid,.o_assessmentitem .textEntryInteraction input:disabled{color:#333;-webkit-text-fill-color:#333;background:#d9edf7;border:0.5px solid #bce8f1}.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}.o_assessmentitem_wrapper #itemBody{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 .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}.itemPrompt{margin:1.5em 0;font-style:italic;color:#666666}#itemBody{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}.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:10px;border-bottom: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_section_lead.o_assignment_2_instantiate{border-radius:3px 3px 0px 0px;border-bottom:none;padding-bottom:1px;margin-bottom:0px}.o_assignment_2_instantiate{padding:10px 10px 0px 10px;background-color:#f2f2f2;border-left:1px #d9d9d9 solid;border-right:1px #d9d9d9 solid}.o_assignment_2_instantiate.o_section_ended{border-color:#eba5a3;background-color:#f4cecd}.o_assignment_2_instantiate.last{padding-bottom:10px;border-bottom:1px #d9d9d9 solid;border-radius:0px 0px 3px 3px}.o_assignment_2_instantiate.o_section_ended.last{border-color:#eba5a3}.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_portfolio_title_help_helper{display:inline-block;float:right;position:relative;top:1em;right:1em}.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_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.hover{background-color:#f5f5f5}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels{position:relative}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels div:first-child{position:absolute;left:0px;text-align:left}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels div{display:inline-block;text-align:center}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels div:last-child{position:absolute;right:0px;text-align:right}.o_evaluation_form .o_evaluation_discrete_radio .o_slider input[type='radio']{padding:0;margin:0;position:relative}.o_evaluation_form .o_evaluation_discrete_radio .o_slider 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;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_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_right_label{text-align:left;font-weight:normal}.o_evaluation_form .o_evaluation_textinput .o_evaluation_legend{padding-left:0.5em;margin-bottom:0.5em}@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_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_editor_delete{padding-right:48px}.o_evaluation_editor_form .o_slider_editor_delete .o_slider_editor_delete_button{position:absolute;right:15px}@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}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}@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}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_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}.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}.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 div.ui-dialog-buttonpane{display:none}.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 b35f0d2c0f5cdc103abc72cfcf51eec3681ed57c..df0e761ceaefc5e9ccf91271f13c80e5be2a2b05 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/_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/_thirdparty.scss","modules/_print.scss","modules/_highscore.scss","_patches.scss"], "names": [], "file": "theme.css" diff --git a/src/main/webapp/static/themes/light/theme_ie_completions.css b/src/main/webapp/static/themes/light/theme_ie_completions.css index 3f7f381d9459190c747e4e9816358d1161aae85b..0051ab1b5f9cef0d570492e8540dbd4e8681ef66 100644 --- a/src/main/webapp/static/themes/light/theme_ie_completions.css +++ b/src/main/webapp/static/themes/light/theme_ie_completions.css @@ -1 +1 @@ -.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_form .o_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_form .o_warning h2,.b_warning h3,.o_form .o_warning h3,.b_warning h4,.o_form .o_warning h4,.b_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_warning h2,.o_form .o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_warning h2,.b_warning h5,.o_form .o_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}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}@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}.o_web_content{padding-bottom:15px}.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_highlight{font-weight:bold;background-color:#fcf8e3}.o_search_result_context{color:#3c763d}.o_search_result_excerpt{color:#555}.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}@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}.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}.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_sel_correction_navigation{text-align:center}div.o_sel_correction_navigation #o_cocurrent_item_SELBOX{display:inline-block}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}.onyx_iframe{width:100%;height:100%;border:none;min-height:60em}.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_gap_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}#itemBody .extendedTextInteraction{margin:15px 0}#itemBody .extendedTextInteraction textarea{resize:vertical !important}#itemBody .extendedTextInteraction .o_qti_essay_last_save{padding:2px 2px;font-style:italic;font-size:90%;text-align:right}#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 #1f7e9a;border-radius:4px;background:#d9edf7}.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 div.orderInteraction ul li{padding:10px;margin-bottom:10px;border:2px dashed #999;border-radius:4px;background-color:#ffffff;background:#fcf8e3}.o_assessmentitem div.orderInteraction ul li:before,.o_assessmentitem div.orderInteraction ul li:after{content:" ";display:table}.o_assessmentitem div.orderInteraction ul li:after{clear:both}.o_assessmentitem div.orderInteraction ul li span.ui-icon{position:absolute;margin-left:-1.3em}.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:0.5px solid #999;background:#fff;padding:0.5px 1px;color:#333}.o_assessmentitem .textEntryInteraction input:valid,.o_assessmentitem .textEntryInteraction input:disabled{color:#333;-webkit-text-fill-color:#333;background:#d9edf7;border:0.5px solid #bce8f1}.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}.o_assessmentitem_wrapper #itemBody{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 .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}.itemPrompt{margin:1.5em 0;font-style:italic;color:#666666}#itemBody{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}.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:10px;border-bottom: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_section_lead.o_assignment_2_instantiate{border-radius:3px 3px 0px 0px;border-bottom:none;padding-bottom:1px;margin-bottom:0px}.o_assignment_2_instantiate{padding:10px 10px 0px 10px;background-color:#f2f2f2;border-left:1px #d9d9d9 solid;border-right:1px #d9d9d9 solid}.o_assignment_2_instantiate.o_section_ended{border-color:#eba5a3;background-color:#f4cecd}.o_assignment_2_instantiate.last{padding-bottom:10px;border-bottom:1px #d9d9d9 solid;border-radius:0px 0px 3px 3px}.o_assignment_2_instantiate.o_section_ended.last{border-color:#eba5a3}.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_portfolio_title_help_helper{display:inline-block;float:right;position:relative;top:1em;right:1em}.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_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.hover{background-color:#f5f5f5}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels{position:relative}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels div:first-child{position:absolute;left:0px;text-align:left}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels div{display:inline-block;text-align:center}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels div:last-child{position:absolute;right:0px;text-align:right}.o_evaluation_form .o_evaluation_discrete_radio .o_slider input[type='radio']{padding:0;margin:0;position:relative}.o_evaluation_form .o_evaluation_discrete_radio .o_slider 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;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_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_right_label{text-align:left;font-weight:normal}.o_evaluation_form .o_evaluation_textinput .o_evaluation_legend{padding-left:0.5em;margin-bottom:0.5em}@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_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_editor_delete{padding-right:48px}.o_evaluation_editor_form .o_slider_editor_delete .o_slider_editor_delete_button{position:absolute;right:15px}@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}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}@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}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_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}.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}.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 div.ui-dialog-buttonpane{display:none}.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} \ No newline at end of file +.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_form .o_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_form .o_warning h2,.b_warning h3,.o_form .o_warning h3,.b_warning h4,.o_form .o_warning h4,.b_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .b_warning h2,.o_form .o_warning .o_cal .fc-header-title h2,.o_cal .fc-header-title .o_form .o_warning h2,.b_warning h5,.o_form .o_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}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}@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}.o_taxonomy div#o_main_toolbar.o_toolbar{margin-top:0px}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}.o_web_content{padding-bottom:15px}.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_highlight{font-weight:bold;background-color:#fcf8e3}.o_search_result_context{color:#3c763d}.o_search_result_excerpt{color:#555}.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}@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}.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}.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_sel_correction_navigation{text-align:center}div.o_sel_correction_navigation #o_cocurrent_item_SELBOX{display:inline-block}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}.onyx_iframe{width:100%;height:100%;border:none;min-height:60em}.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_gap_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}#itemBody .extendedTextInteraction{margin:15px 0}#itemBody .extendedTextInteraction textarea{resize:vertical !important}#itemBody .extendedTextInteraction .o_qti_essay_last_save{padding:2px 2px;font-style:italic;font-size:90%;text-align:right}#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 #1f7e9a;border-radius:4px;background:#d9edf7}.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 div.orderInteraction ul li{padding:10px;margin-bottom:10px;border:2px dashed #999;border-radius:4px;background-color:#ffffff;background:#fcf8e3}.o_assessmentitem div.orderInteraction ul li:before,.o_assessmentitem div.orderInteraction ul li:after{content:" ";display:table}.o_assessmentitem div.orderInteraction ul li:after{clear:both}.o_assessmentitem div.orderInteraction ul li span.ui-icon{position:absolute;margin-left:-1.3em}.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:0.5px solid #999;background:#fff;padding:0.5px 1px;color:#333}.o_assessmentitem .textEntryInteraction input:valid,.o_assessmentitem .textEntryInteraction input:disabled{color:#333;-webkit-text-fill-color:#333;background:#d9edf7;border:0.5px solid #bce8f1}.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}.o_assessmentitem_wrapper #itemBody{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 .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}.itemPrompt{margin:1.5em 0;font-style:italic;color:#666666}#itemBody{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}.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:10px;border-bottom: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_section_lead.o_assignment_2_instantiate{border-radius:3px 3px 0px 0px;border-bottom:none;padding-bottom:1px;margin-bottom:0px}.o_assignment_2_instantiate{padding:10px 10px 0px 10px;background-color:#f2f2f2;border-left:1px #d9d9d9 solid;border-right:1px #d9d9d9 solid}.o_assignment_2_instantiate.o_section_ended{border-color:#eba5a3;background-color:#f4cecd}.o_assignment_2_instantiate.last{padding-bottom:10px;border-bottom:1px #d9d9d9 solid;border-radius:0px 0px 3px 3px}.o_assignment_2_instantiate.o_section_ended.last{border-color:#eba5a3}.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_portfolio_title_help_helper{display:inline-block;float:right;position:relative;top:1em;right:1em}.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_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.hover{background-color:#f5f5f5}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels{position:relative}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels div:first-child{position:absolute;left:0px;text-align:left}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels div{display:inline-block;text-align:center}.o_evaluation_form .o_evaluation_discrete_slider .o_evaluation_step_labels div:last-child{position:absolute;right:0px;text-align:right}.o_evaluation_form .o_evaluation_discrete_radio .o_slider input[type='radio']{padding:0;margin:0;position:relative}.o_evaluation_form .o_evaluation_discrete_radio .o_slider 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;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_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_right_label{text-align:left;font-weight:normal}.o_evaluation_form .o_evaluation_textinput .o_evaluation_legend{padding-left:0.5em;margin-bottom:0.5em}@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_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_editor_delete{padding-right:48px}.o_evaluation_editor_form .o_slider_editor_delete .o_slider_editor_delete_button{position:absolute;right:15px}@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}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}@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}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_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}.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}.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 div.ui-dialog-buttonpane{display:none}.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} \ No newline at end of file diff --git a/src/test/java/org/olat/ims/qti/qpool/QTIExportProcessorTest.java b/src/test/java/org/olat/ims/qti/qpool/QTIExportProcessorTest.java index 59f52ccacf11b38be2fbecf07f5c2ae83e46bd53..60d87d43071330c5090db40316458bdca186fa99 100644 --- a/src/test/java/org/olat/ims/qti/qpool/QTIExportProcessorTest.java +++ b/src/test/java/org/olat/ims/qti/qpool/QTIExportProcessorTest.java @@ -39,12 +39,8 @@ import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; import org.olat.modules.qpool.QuestionItem; import org.olat.modules.qpool.QuestionItemFull; -import org.olat.modules.qpool.manager.QEducationalContextDAO; -import org.olat.modules.qpool.manager.QItemTypeDAO; -import org.olat.modules.qpool.manager.QLicenseDAO; import org.olat.modules.qpool.manager.QPoolFileStorage; import org.olat.modules.qpool.manager.QuestionItemDAO; -import org.olat.modules.qpool.manager.TaxonomyLevelDAO; import org.olat.test.JunitTestHelper; import org.olat.test.OlatTestCase; import org.springframework.beans.factory.annotation.Autowired; @@ -64,15 +60,8 @@ public class QTIExportProcessorTest extends OlatTestCase { @Autowired private QPoolFileStorage qpoolFileStorage; @Autowired - private QItemTypeDAO qItemTypeDao; - @Autowired - private QLicenseDAO qLicenseDao; - @Autowired private QuestionItemDAO questionItemDao; - @Autowired - private TaxonomyLevelDAO taxonomyLevelDao; - @Autowired - private QEducationalContextDAO qEduContextDao; + @Before public void setup() { @@ -88,8 +77,7 @@ public class QTIExportProcessorTest extends OlatTestCase { URL itemUrl = QTIExportProcessorTest.class.getResource("mchc_asmimr_106.zip"); Assert.assertNotNull(itemUrl); File itemFile = new File(itemUrl.toURI()); - QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile); List<QuestionItem> items = proc.process(); Assert.assertNotNull(items); dbInstance.commitAndCloseSession(); diff --git a/src/test/java/org/olat/ims/qti/qpool/QTIImportProcessorTest.java b/src/test/java/org/olat/ims/qti/qpool/QTIImportProcessorTest.java index 9d891aec8411a29af79421f4557dbf8b39105c03..e5b96344d802fff4c6b0b90361f94af57aaf4e5b 100644 --- a/src/test/java/org/olat/ims/qti/qpool/QTIImportProcessorTest.java +++ b/src/test/java/org/olat/ims/qti/qpool/QTIImportProcessorTest.java @@ -49,12 +49,8 @@ import org.olat.modules.qpool.QuestionItem; import org.olat.modules.qpool.QuestionItemFull; import org.olat.modules.qpool.QuestionStatus; import org.olat.modules.qpool.QuestionType; -import org.olat.modules.qpool.manager.QEducationalContextDAO; -import org.olat.modules.qpool.manager.QItemTypeDAO; -import org.olat.modules.qpool.manager.QLicenseDAO; import org.olat.modules.qpool.manager.QPoolFileStorage; import org.olat.modules.qpool.manager.QuestionItemDAO; -import org.olat.modules.qpool.manager.TaxonomyLevelDAO; import org.olat.modules.qpool.model.QEducationalContext; import org.olat.modules.qpool.model.QItemType; import org.olat.modules.qpool.model.QuestionItemImpl; @@ -77,15 +73,7 @@ public class QTIImportProcessorTest extends OlatTestCase { @Autowired private QPoolFileStorage qpoolFileStorage; @Autowired - private QItemTypeDAO qItemTypeDao; - @Autowired - private QLicenseDAO qLicenseDao; - @Autowired private QuestionItemDAO questionItemDao; - @Autowired - private TaxonomyLevelDAO taxonomyLevelDao; - @Autowired - private QEducationalContextDAO qEduContextDao; @Before public void setup() { @@ -106,8 +94,7 @@ public class QTIImportProcessorTest extends OlatTestCase { File itemFile = new File(itemUrl.toURI()); //get the document informations - QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao,qpoolFileStorage, dbInstance); + QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile); List<DocInfos> docInfoList = proc.getDocInfos(); Assert.assertNotNull(docInfoList); Assert.assertEquals(1, docInfoList.size()); @@ -161,8 +148,7 @@ public class QTIImportProcessorTest extends OlatTestCase { File itemFile = new File(itemUrl.toURI()); //get the document informations - QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile); List<QuestionItem> items = proc.process(); Assert.assertNotNull(items); Assert.assertEquals(1, items.size()); @@ -195,8 +181,7 @@ public class QTIImportProcessorTest extends OlatTestCase { File testFile = new File(testUrl.toURI()); //get the document informations - QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, testFile.getName(), testFile, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, testFile.getName(), testFile); List<DocInfos> docInfoList = proc.getDocInfos(); Assert.assertNotNull(docInfoList); Assert.assertEquals(1, docInfoList.size()); @@ -220,8 +205,7 @@ public class QTIImportProcessorTest extends OlatTestCase { File itemFile = new File(itemUrl.toURI()); //get the document informations - QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile); List<QuestionItem> items = proc.process(); Assert.assertNotNull(items); Assert.assertEquals(4, items.size()); @@ -283,8 +267,7 @@ public class QTIImportProcessorTest extends OlatTestCase { File itemFile = new File(itemUrl.toURI()); //get the document informations - QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile); List<QuestionItem> items = proc.process(); Assert.assertNotNull(items); Assert.assertEquals(2, items.size()); @@ -330,8 +313,7 @@ public class QTIImportProcessorTest extends OlatTestCase { File itemFile = new File(itemUrl.toURI()); //get the document informations - QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile); List<QuestionItem> items = proc.process(); Assert.assertNotNull(items); Assert.assertEquals(3, items.size()); @@ -384,8 +366,7 @@ public class QTIImportProcessorTest extends OlatTestCase { File itemFile = new File(itemsUrl.toURI()); //get the document informations - QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile); List<QuestionItem> items = proc.process(); Assert.assertNotNull(items); Assert.assertEquals(2, items.size()); @@ -429,8 +410,7 @@ public class QTIImportProcessorTest extends OlatTestCase { File itemFile = new File(itemUrl.toURI()); //get the document informations - QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile); List<QuestionItem> items = proc.process(); Assert.assertNotNull(items); Assert.assertEquals(1, items.size()); @@ -454,8 +434,7 @@ public class QTIImportProcessorTest extends OlatTestCase { File itemFile = new File(itemUrl.toURI()); //get the document informations - QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile); List<QuestionItem> items = proc.process(); Assert.assertNotNull(items); Assert.assertEquals(1, items.size()); @@ -485,7 +464,7 @@ public class QTIImportProcessorTest extends OlatTestCase { Assert.assertNotNull(item.getQuestionStatus()); Assert.assertEquals("review", item.getQuestionStatus().name()); Assert.assertEquals(0, new BigDecimal("0.56").compareTo(item.getStdevDifficulty())); - Assert.assertEquals("/Physique/Astronomie/Astrophysique", item.getTaxonomicPath()); + Assert.assertEquals("/Physique/Astronomie/Astrophysique/", item.getTaxonomicPath()); Assert.assertEquals("Une question sur Pluton", item.getTitle()); Assert.assertEquals(0, item.getUsage()); } @@ -497,8 +476,7 @@ public class QTIImportProcessorTest extends OlatTestCase { File itemFile = new File(itemUrl.toURI()); //get the document informations - QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile, - questionItemDao, qItemTypeDao, qEduContextDao, taxonomyLevelDao, qLicenseDao, qpoolFileStorage, dbInstance); + QTIImportProcessor proc = new QTIImportProcessor(owner, Locale.ENGLISH, itemFile.getName(), itemFile); List<QuestionItem> items = proc.process(); Assert.assertNotNull(items); diff --git a/src/test/java/org/olat/modules/qpool/manager/QuestionDAOTest.java b/src/test/java/org/olat/modules/qpool/manager/QuestionDAOTest.java index 48d592b18c8df0185df4beec1d4f5d3a6127ee7a..048d95c7909344a89ec7f134a9725eb919842f85 100644 --- a/src/test/java/org/olat/modules/qpool/manager/QuestionDAOTest.java +++ b/src/test/java/org/olat/modules/qpool/manager/QuestionDAOTest.java @@ -42,11 +42,14 @@ import org.olat.modules.qpool.QuestionItemShort; import org.olat.modules.qpool.QuestionItemView; import org.olat.modules.qpool.QuestionStatus; import org.olat.modules.qpool.QuestionType; -import org.olat.modules.qpool.TaxonomyLevel; import org.olat.modules.qpool.model.QEducationalContext; import org.olat.modules.qpool.model.QItemType; import org.olat.modules.qpool.model.QLicense; import org.olat.modules.qpool.model.QuestionItemImpl; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.manager.TaxonomyDAO; +import org.olat.modules.taxonomy.manager.TaxonomyLevelDAO; import org.olat.resource.OLATResource; import org.olat.test.JunitTestHelper; import org.olat.test.OlatTestCase; @@ -76,6 +79,9 @@ public class QuestionDAOTest extends OlatTestCase { private QItemQueriesDAO qItemQueriesDao; @Autowired private QEducationalContextDAO qEduContextDao; + + @Autowired + private TaxonomyDAO taxonomyDao; @Autowired private TaxonomyLevelDAO taxonomyLevelDao; @@ -112,7 +118,8 @@ public class QuestionDAOTest extends OlatTestCase { @Test public void copyQuestion() { // create an item and fill it - TaxonomyLevel taxonomyLevel = taxonomyLevelDao.createAndPersist(null, "Tax. to copy"); + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-QP", "QPool taxonomy", null, null); + TaxonomyLevel taxonomyLevel = taxonomyLevelDao.createTaxonomyLevel("QP-L-1", "QLevel 1", "For testing only", null, null, null, null, taxonomy); QEducationalContext eduContext = qEduContextDao.create("primary.school", true); QLicense mitLicense = qLicenseDao.create("mit-" + UUID.randomUUID().toString(), null, true); QItemType fibType = qItemTypeDao.loadByType(QuestionType.FIB.name()); diff --git a/src/test/java/org/olat/modules/qpool/manager/TaxonomyLevelDAOTest.java b/src/test/java/org/olat/modules/qpool/manager/TaxonomyLevelDAOTest.java deleted file mode 100644 index c5e6bd3468676f8f518c43d5467e1f5c1db4914f..0000000000000000000000000000000000000000 --- a/src/test/java/org/olat/modules/qpool/manager/TaxonomyLevelDAOTest.java +++ /dev/null @@ -1,214 +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.modules.qpool.manager; - -import java.util.List; -import java.util.Locale; - -import org.junit.Assert; -import org.junit.Test; -import org.olat.core.commons.persistence.DB; -import org.olat.ims.qti.QTIConstants; -import org.olat.modules.qpool.QuestionItem; -import org.olat.modules.qpool.QuestionType; -import org.olat.modules.qpool.TaxonomyLevel; -import org.olat.modules.qpool.model.QItemType; -import org.olat.modules.qpool.model.TaxonomyLevelImpl; -import org.olat.test.OlatTestCase; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * - * Initial date: 21.01.2013<br> - * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com - * - */ -public class TaxonomyLevelDAOTest extends OlatTestCase { - - @Autowired - private DB dbInstance; - @Autowired - private QItemTypeDAO qItemTypeDao; - @Autowired - private QuestionItemDAO questionDao; - @Autowired - private TaxonomyLevelDAO taxonomyLevelDao; - - @Test - public void createStudyField() { - TaxonomyLevel taxonomyLevel = taxonomyLevelDao.createAndPersist(null, "Astronomy"); - Assert.assertNotNull(taxonomyLevel); - Assert.assertNotNull(taxonomyLevel.getKey()); - Assert.assertNotNull(taxonomyLevel.getCreationDate()); - Assert.assertEquals("Astronomy", taxonomyLevel.getField()); - dbInstance.commitAndCloseSession(); - } - - @Test - public void loadStudyFieldById() { - TaxonomyLevel taxonomyLevel = taxonomyLevelDao.createAndPersist(null, "Astronautics"); - dbInstance.commitAndCloseSession(); - - TaxonomyLevel reloadedLevel = taxonomyLevelDao.loadLevelById(taxonomyLevel.getKey()); - Assert.assertNotNull(reloadedLevel); - Assert.assertNotNull(reloadedLevel.getKey()); - Assert.assertNotNull(reloadedLevel.getCreationDate()); - Assert.assertEquals("Astronautics", reloadedLevel.getField()); - Assert.assertEquals(taxonomyLevel.getKey(), reloadedLevel.getKey()); - } - - @Test - public void loadAllStudyFields() { - TaxonomyLevel taxonomyLevel = taxonomyLevelDao.createAndPersist(null, "Mechanics"); - dbInstance.commitAndCloseSession(); - - List<TaxonomyLevel> levels = taxonomyLevelDao.loadAllLevels(); - Assert.assertNotNull(levels); - Assert.assertTrue(levels.size() >= 1); - Assert.assertTrue(levels.contains(taxonomyLevel)); - } - - @Test - public void buildHierarchyStudyField() { - TaxonomyLevel science = taxonomyLevelDao.createAndPersist(null, "Science"); - TaxonomyLevel mathematics = taxonomyLevelDao.createAndPersist(science, "Mathematics"); - TaxonomyLevel physics = taxonomyLevelDao.createAndPersist(science, "Physics"); - TaxonomyLevel chemistry = taxonomyLevelDao.createAndPersist(science, "Chemistry"); - dbInstance.commitAndCloseSession(); - - //reload and check parents - TaxonomyLevelImpl reloadPhysics = (TaxonomyLevelImpl)taxonomyLevelDao.loadLevelById(physics.getKey()); - Assert.assertNotNull(reloadPhysics); - Assert.assertEquals(science, reloadPhysics.getParentField()); - - List<TaxonomyLevel> subLevels = taxonomyLevelDao.loadTaxonomicPath(science); - Assert.assertNotNull(subLevels); - Assert.assertEquals(3, subLevels.size()); - Assert.assertTrue(subLevels.contains(mathematics)); - Assert.assertTrue(subLevels.contains(physics)); - Assert.assertTrue(subLevels.contains(chemistry)); - } - - @Test - public void getMateriliazedPath() { - TaxonomyLevel science = taxonomyLevelDao.createAndPersist(null, "Science"); - TaxonomyLevel mathematics = taxonomyLevelDao.createAndPersist(science, "Mathematics"); - TaxonomyLevel topology = taxonomyLevelDao.createAndPersist(mathematics, "Topology"); - TaxonomyLevel graph = taxonomyLevelDao.createAndPersist(topology, "Graph theory"); - dbInstance.commitAndCloseSession(); - - //reload and check parents - TaxonomyLevel path = taxonomyLevelDao.loadLevelById(graph.getKey()); - Assert.assertNotNull(path); - Assert.assertNotNull(path.getMaterializedPathNames()); - Assert.assertEquals("/Science/Mathematics/Topology", path.getMaterializedPathNames()); - } - - @Test - public void getDescendants() { - TaxonomyLevel science = taxonomyLevelDao.createAndPersist(null, "Science"); - TaxonomyLevel mathematics = taxonomyLevelDao.createAndPersist(science, "Mathematics"); - TaxonomyLevel numerical = taxonomyLevelDao.createAndPersist(mathematics, "Numerical"); - TaxonomyLevel topology = taxonomyLevelDao.createAndPersist(mathematics, "Topology"); - TaxonomyLevel graph = taxonomyLevelDao.createAndPersist(topology, "Graph theory"); - dbInstance.commitAndCloseSession(); - - //load the descendants of mathematics - List<TaxonomyLevel> descendants = taxonomyLevelDao.getDescendants(mathematics); - Assert.assertNotNull(descendants); - Assert.assertEquals(3, descendants.size()); - Assert.assertTrue(descendants.contains(numerical)); - Assert.assertTrue(descendants.contains(topology)); - Assert.assertTrue(descendants.contains(graph)); - - //load the descendants of topology - List<TaxonomyLevel> topologyDescendants = taxonomyLevelDao.getDescendants(topology); - Assert.assertNotNull(topologyDescendants); - Assert.assertEquals(1, topologyDescendants.size()); - Assert.assertTrue(topologyDescendants.contains(graph)); - - //load the descendants of mathematics - List<TaxonomyLevel> graphDescendants = taxonomyLevelDao.getDescendants(graph); - Assert.assertNotNull(descendants); - Assert.assertTrue(graphDescendants.isEmpty()); - } - - @Test - public void updateWithDescendants() { - TaxonomyLevel animals = taxonomyLevelDao.createAndPersist(null, "Animals"); - TaxonomyLevel cats = taxonomyLevelDao.createAndPersist(animals, "Cats"); - TaxonomyLevel dogs = taxonomyLevelDao.createAndPersist(animals, "Dogs"); - TaxonomyLevel huskies = taxonomyLevelDao.createAndPersist(dogs, "Huskies"); - TaxonomyLevel lion = taxonomyLevelDao.createAndPersist(cats, "Lion"); - TaxonomyLevel mountainLion = taxonomyLevelDao.createAndPersist(lion, "Mountain Lion"); - TaxonomyLevel tiger = taxonomyLevelDao.createAndPersist(cats, "Tiger"); - dbInstance.commitAndCloseSession(); - - //update the cats - taxonomyLevelDao.update("Felids", cats); - dbInstance.commit(); - - //check if descendants are correctly updated - TaxonomyLevel reloadedLion = taxonomyLevelDao.loadLevelById(lion.getKey()); - Assert.assertEquals("/Animals/Felids", reloadedLion.getMaterializedPathNames()); - TaxonomyLevel reloadedMountainLion = taxonomyLevelDao.loadLevelById(mountainLion.getKey()); - Assert.assertEquals("/Animals/Felids/Lion", reloadedMountainLion.getMaterializedPathNames()); - TaxonomyLevel reloadedTiger = taxonomyLevelDao.loadLevelById(tiger.getKey()); - Assert.assertEquals("/Animals/Felids", reloadedTiger.getMaterializedPathNames()); - - //dogs are not changed - TaxonomyLevel reloadedDogs = taxonomyLevelDao.loadLevelById(dogs.getKey()); - Assert.assertEquals("/Animals", reloadedDogs.getMaterializedPathNames()); - TaxonomyLevel reloadedHuskies = taxonomyLevelDao.loadLevelById(huskies.getKey()); - Assert.assertEquals("/Animals/Dogs", reloadedHuskies.getMaterializedPathNames()); - } - - @Test - public void countItemUsing_TaxonomyLevel() { - TaxonomyLevel level = taxonomyLevelDao.createAndPersist(null, "I'm in use"); - QItemType fibType = qItemTypeDao.loadByType(QuestionType.FIB.name()); - QuestionItem item1 = questionDao.createAndPersist(null, "Nebula", QTIConstants.QTI_12_FORMAT, Locale.ENGLISH.getLanguage(), level, null, null, fibType); - QuestionItem item2 = questionDao.createAndPersist(null, "Cluster", QTIConstants.QTI_12_FORMAT, Locale.ENGLISH.getLanguage(), level, null, null, fibType); - Assert.assertNotNull(item1); - Assert.assertNotNull(item2); - dbInstance.commitAndCloseSession(); - - //check count - int numOfItems = taxonomyLevelDao.countItemUsing(level); - Assert.assertEquals(2, numOfItems); - } - - - @Test - public void countChildren_TaxonomyLevel() { - TaxonomyLevel galaxy = taxonomyLevelDao.createAndPersist(null, "Galaxy"); - TaxonomyLevel andromeda = taxonomyLevelDao.createAndPersist(galaxy, "Andromeda"); - TaxonomyLevel ngc = taxonomyLevelDao.createAndPersist(galaxy, "NGC 2502"); - Assert.assertNotNull(andromeda); - Assert.assertNotNull(ngc); - dbInstance.commitAndCloseSession(); - - //check count - int numOfChildrenGalaxy = taxonomyLevelDao.countChildren(galaxy); - Assert.assertEquals(2, numOfChildrenGalaxy); - int numOfChildrenAdnromeda = taxonomyLevelDao.countChildren(andromeda); - Assert.assertEquals(0, numOfChildrenAdnromeda); - } -} diff --git a/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyCompetenceAuditLogDAOTest.java b/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyCompetenceAuditLogDAOTest.java new file mode 100644 index 0000000000000000000000000000000000000000..497ebb0ae5876633c8cadb8dc3e313bd4e097d27 --- /dev/null +++ b/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyCompetenceAuditLogDAOTest.java @@ -0,0 +1,68 @@ +/** + * <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.taxonomy.manager; + +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.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceAuditLog; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.test.JunitTestHelper; +import org.olat.test.OlatTestCase; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 30 oct. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyCompetenceAuditLogDAOTest extends OlatTestCase { + + @Autowired + private DB dbInstance; + @Autowired + private TaxonomyDAO taxonomyDao; + @Autowired + private TaxonomyLevelDAO taxonomyLevelDao; + @Autowired + private TaxonomyCompetenceDAO taxonomyCompetenceDao; + @Autowired + private TaxonomyCompetenceAuditLogDAO taxonomyCompetenceAuditLogDao; + + @Test + public void auditLog() { + Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("competent-1"); + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-24", "Competence", "", null); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("ID-Level-1", "Competence level", "A very difficult competence", null, null, null, null, taxonomy); + TaxonomyCompetence competence = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.have, level, id); + dbInstance.commit(); + + String after = taxonomyCompetenceAuditLogDao.toXml(competence); + taxonomyCompetenceAuditLogDao.auditLog(TaxonomyCompetenceAuditLog.Action.addCompetence, + "Before", "After", "Message", taxonomy, competence, id, null); + dbInstance.commit(); + Assert.assertNotNull(after); + } +} diff --git a/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyCompetenceDAOTest.java b/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyCompetenceDAOTest.java new file mode 100644 index 0000000000000000000000000000000000000000..4d00bcb26192718896e78256fa2c7abe9a250bd2 --- /dev/null +++ b/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyCompetenceDAOTest.java @@ -0,0 +1,239 @@ +/** + * <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.taxonomy.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.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.test.JunitTestHelper; +import org.olat.test.OlatTestCase; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 22 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyCompetenceDAOTest extends OlatTestCase { + + @Autowired + private DB dbInstance; + @Autowired + private TaxonomyDAO taxonomyDao; + @Autowired + private TaxonomyLevelDAO taxonomyLevelDao; + @Autowired + private TaxonomyCompetenceDAO taxonomyCompetenceDao; + + @Test + public void createTaxonomyCompetence() { + Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("competent-1"); + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-24", "Competence", "", null); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("ID-Level-1", "Competence level", "A very difficult competence", null, null, null, null, taxonomy); + TaxonomyCompetence competence = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.have, level, id); + dbInstance.commit(); + + Assert.assertNotNull(competence); + Assert.assertNotNull(competence.getCreationDate()); + } + + @Test + public void createAndReloadTaxonomyCompetence() { + Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("competent-1"); + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-24b", "Competence", "", null); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("ID-Level-1b", "Competence level", "An important competence to have", null, null, null, null, taxonomy); + TaxonomyCompetence competence = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.have, level, id); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(competence); + + TaxonomyCompetence reloadedCompetence = taxonomyCompetenceDao.loadCompetenceByKey(competence.getKey()); + Assert.assertNotNull(reloadedCompetence); + Assert.assertEquals(competence, reloadedCompetence); + Assert.assertEquals(competence.getKey(), reloadedCompetence.getKey()); + Assert.assertEquals(id, reloadedCompetence.getIdentity()); + Assert.assertEquals(level, reloadedCompetence.getTaxonomyLevel()); + Assert.assertEquals(TaxonomyCompetenceTypes.have, reloadedCompetence.getCompetenceType()); + } + + @Test + public void getCompetenceByLevel() { + Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("competent-2"); + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-25", "Competence", "", null); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("ID-Level-1", "Competence level", "A competence", null, null, null, null, taxonomy); + TaxonomyCompetence competence = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.target, level, id); + dbInstance.commitAndCloseSession(); + + List<TaxonomyCompetence> loadedCompetences = taxonomyCompetenceDao.getCompetenceByLevel(level); + Assert.assertNotNull(loadedCompetences); + Assert.assertEquals(1, loadedCompetences.size()); + TaxonomyCompetence loadedCompetence = loadedCompetences.get(0); + Assert.assertNotNull(loadedCompetence); + Assert.assertEquals(competence, loadedCompetence); + Assert.assertEquals(level, competence.getTaxonomyLevel()); + Assert.assertEquals(id, competence.getIdentity()); + Assert.assertEquals(TaxonomyCompetenceTypes.target, competence.getCompetenceType()); + } + + @Test + public void getCompetenceByLevel_withIdentity() { + Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("competent-3"); + Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("competent-4"); + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-25", "Competence", "", null); + TaxonomyLevel level1 = taxonomyLevelDao.createTaxonomyLevel("ID-Level-1", "Competence level", "A competence", null, null, null, null, taxonomy); + TaxonomyLevel level2 = taxonomyLevelDao.createTaxonomyLevel("ID-Level-1", "Competence level", "A competence", null, null, null, null, taxonomy); + + TaxonomyCompetence competence1_1 = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.target, level1, id1); + TaxonomyCompetence competence1_2 = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.target, level1, id2); + TaxonomyCompetence competence2_1 = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.target, level2, id1); + TaxonomyCompetence competence2_2 = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.target, level2, id2); + dbInstance.commitAndCloseSession(); + + // check the different possiblities + List<TaxonomyCompetence> loadedCompetences1_1 = taxonomyCompetenceDao.getCompetenceByLevel(level1, id1); + Assert.assertNotNull(loadedCompetences1_1); + Assert.assertEquals(1, loadedCompetences1_1.size()); + Assert.assertEquals(competence1_1, loadedCompetences1_1.get(0)); + + List<TaxonomyCompetence> loadedCompetences1_2 = taxonomyCompetenceDao.getCompetenceByLevel(level1, id2); + Assert.assertNotNull(loadedCompetences1_2); + Assert.assertEquals(1, loadedCompetences1_2.size()); + Assert.assertEquals(competence1_2, loadedCompetences1_2.get(0)); + + List<TaxonomyCompetence> loadedCompetences2_1 = taxonomyCompetenceDao.getCompetenceByLevel(level2, id1); + Assert.assertNotNull(loadedCompetences2_1); + Assert.assertEquals(1, loadedCompetences2_1.size()); + Assert.assertEquals(competence2_1, loadedCompetences2_1.get(0)); + + List<TaxonomyCompetence> loadedCompetences2_2 = taxonomyCompetenceDao.getCompetenceByLevel(level2, id2); + Assert.assertNotNull(loadedCompetences2_2); + Assert.assertEquals(1, loadedCompetences2_2.size()); + Assert.assertEquals(competence2_2, loadedCompetences2_2.get(0)); + } + + @Test + public void getCompetenceByTaxonomy() { + //make 2 taxonomy trees + Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("competent-5"); + Taxonomy taxonomy1 = taxonomyDao.createTaxonomy("ID-27", "Competence", "", null); + TaxonomyLevel level1 = taxonomyLevelDao.createTaxonomyLevel("ID-Level-1", "Competence level taxonomy 1", "A competence", null, null, null, null, taxonomy1); + TaxonomyCompetence competence1 = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.target, level1, id); + + Taxonomy taxonomy2 = taxonomyDao.createTaxonomy("ID-28", "Competence", "", null); + TaxonomyLevel level2 = taxonomyLevelDao.createTaxonomyLevel("ID-Level-2", "Competence level taxonomy 2", "A competence", null, null, null, null, taxonomy2); + TaxonomyCompetence competence2 = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.target, level2, id); + dbInstance.commitAndCloseSession(); + + //check the competences of the 2 taxonomy trees + List<TaxonomyCompetence> loadedCompetences1 = taxonomyCompetenceDao.getCompetenceByTaxonomy(taxonomy1, id); + Assert.assertNotNull(loadedCompetences1); + Assert.assertEquals(1, loadedCompetences1.size()); + Assert.assertEquals(competence1, loadedCompetences1.get(0)); + + List<TaxonomyCompetence> loadedCompetences2 = taxonomyCompetenceDao.getCompetenceByTaxonomy(taxonomy2, id); + Assert.assertNotNull(loadedCompetences2); + Assert.assertEquals(1, loadedCompetences2.size()); + Assert.assertEquals(competence2, loadedCompetences2.get(0)); + } + + @Test + public void getCompetences_identityAndTypes() { + Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("competent-6"); + Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("competent-6"); + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-30", "Competence", "", null); + TaxonomyLevel levelA = taxonomyLevelDao.createTaxonomyLevel("ID-Level-A", "Competence level", "A competence", null, null, null, null, taxonomy); + TaxonomyLevel levelB = taxonomyLevelDao.createTaxonomyLevel("ID-Level-B", "Competence level", "B competence", null, null, null, null, taxonomy); + + TaxonomyCompetence competenceTarget = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.target, levelA, id1); + TaxonomyCompetence competenceHave = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.have, levelB, id1); + TaxonomyCompetence competenceTeach = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.have, levelB, id2); + + dbInstance.commitAndCloseSession(); + + //check the competences + List<TaxonomyCompetence> loadedTargetCompetences1 = taxonomyCompetenceDao.getCompetences(id1, TaxonomyCompetenceTypes.target); + Assert.assertNotNull(loadedTargetCompetences1); + Assert.assertEquals(1, loadedTargetCompetences1.size()); + Assert.assertEquals(competenceTarget, loadedTargetCompetences1.get(0)); + + //have + List<TaxonomyCompetence> loadedTargetHaveCompetences1 = taxonomyCompetenceDao + .getCompetences(id1, TaxonomyCompetenceTypes.target, TaxonomyCompetenceTypes.have, TaxonomyCompetenceTypes.teach); + Assert.assertNotNull(loadedTargetHaveCompetences1); + Assert.assertEquals(2, loadedTargetHaveCompetences1.size()); + Assert.assertTrue(loadedTargetHaveCompetences1.contains(competenceTarget)); + Assert.assertTrue(loadedTargetHaveCompetences1.contains(competenceHave)); + + //all + List<TaxonomyCompetence> loadedAllCompetences2 = taxonomyCompetenceDao.getCompetences(id2); + Assert.assertNotNull(loadedAllCompetences2); + Assert.assertEquals(1, loadedAllCompetences2.size()); + Assert.assertEquals(competenceTeach, loadedAllCompetences2.get(0)); + } + + @Test + public void hasCompetenceByTaxonomy() { + Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("competent-8"); + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-30", "Competence", "", null); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("ID-Level-A", "Competence level", "A competence", null, null, null, null, taxonomy); + + TaxonomyCompetence competenceTarget = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.target, level, id); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(competenceTarget); + + boolean hasCompetence = taxonomyCompetenceDao.hasCompetenceByTaxonomy(taxonomy, id); + Assert.assertTrue(hasCompetence); + } + + @Test + public void hasCompetenceByTaxonomy_negative() { + Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("competent-8"); + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-30", "Competence", "", null); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("ID-Level-A", "Competence level", "A competence", null, null, null, null, taxonomy); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(level); + + boolean hasCompetence = taxonomyCompetenceDao.hasCompetenceByTaxonomy(taxonomy, id); + Assert.assertFalse(hasCompetence); + } + + @Test + public void hasCompetenceByTaxonomy_competence() { + Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("competent-8"); + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-30", "Competence", "", null); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("ID-Level-A", "Competence level", "A competence", null, null, null, null, taxonomy); + + TaxonomyCompetence competenceTarget = taxonomyCompetenceDao.createTaxonomyCompetence(TaxonomyCompetenceTypes.target, level, id); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(competenceTarget); + + boolean hasTarget = taxonomyCompetenceDao.hasCompetenceByTaxonomy(taxonomy, id, TaxonomyCompetenceTypes.target); + Assert.assertTrue(hasTarget); + boolean hasTeach = taxonomyCompetenceDao.hasCompetenceByTaxonomy(taxonomy, id, TaxonomyCompetenceTypes.teach); + Assert.assertFalse(hasTeach); + } +} diff --git a/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyDAOTest.java b/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyDAOTest.java new file mode 100644 index 0000000000000000000000000000000000000000..6e253fcf8a51f013af4a2e66b9ec4b8b74f11d5e --- /dev/null +++ b/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyDAOTest.java @@ -0,0 +1,88 @@ +/** + * <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.taxonomy.manager; + +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; +import org.olat.core.commons.persistence.DB; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.model.TaxonomyImpl; +import org.olat.test.OlatTestCase; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 18 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyDAOTest extends OlatTestCase { + + @Autowired + private DB dbInstance; + @Autowired + private TaxonomyDAO taxonomyDao; + + @Test + public void createTaxonomy() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID21", "My first taxonomy", "A very little taxonomy", "EXT_REF"); + dbInstance.commit(); + + Assert.assertNotNull(taxonomy); + Assert.assertNotNull(taxonomy.getKey()); + Assert.assertNotNull(((TaxonomyImpl)taxonomy).getGroup()); + Assert.assertEquals("ID21", taxonomy.getIdentifier()); + Assert.assertEquals("My first taxonomy", taxonomy.getDisplayName()); + Assert.assertEquals("A very little taxonomy", taxonomy.getDescription()); + Assert.assertEquals("EXT_REF", taxonomy.getExternalId()); + } + + @Test + public void createAndLoadTaxonomy() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID22", "An other taxonomy", "A little taxonomy", "REF-22"); + dbInstance.commitAndCloseSession(); + + Taxonomy reloaded = taxonomyDao.loadByKey(taxonomy.getKey()); + dbInstance.commitAndCloseSession(); + + Assert.assertNotNull(reloaded); + Assert.assertEquals(taxonomy, reloaded); + Assert.assertNotNull(((TaxonomyImpl)reloaded).getGroup()); + Assert.assertNotNull(((TaxonomyImpl)reloaded).getGroup().getKey()); + + Assert.assertEquals("ID22", reloaded.getIdentifier()); + Assert.assertEquals("An other taxonomy", reloaded.getDisplayName()); + Assert.assertEquals("A little taxonomy", reloaded.getDescription()); + Assert.assertEquals("REF-22", reloaded.getExternalId()); + } + + @Test + public void getTaxonomyList() { + Taxonomy taxonomy0 = taxonomyDao.createTaxonomy("ID40", "An other taxonomy", "A little taxonomy", "REF-40"); + Taxonomy taxonomy1 = taxonomyDao.createTaxonomy("ID41", "An other taxonomy", "A little taxonomy", "REF-41"); + dbInstance.commitAndCloseSession(); + + List<Taxonomy> taxonomyList = taxonomyDao.getTaxonomyList(); + Assert.assertTrue(taxonomyList.contains(taxonomy0)); + Assert.assertTrue(taxonomyList.contains(taxonomy1)); + } +} \ No newline at end of file diff --git a/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyLevelDAOTest.java b/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyLevelDAOTest.java new file mode 100644 index 0000000000000000000000000000000000000000..c00403a398fbfd39a1cccda356c558423ee631a9 --- /dev/null +++ b/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyLevelDAOTest.java @@ -0,0 +1,181 @@ +/** + * <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.taxonomy.manager; + +import java.util.List; +import java.util.UUID; + +import org.junit.Assert; +import org.junit.Test; +import org.olat.core.commons.persistence.DB; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.test.OlatTestCase; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 22 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyLevelDAOTest extends OlatTestCase { + + @Autowired + private DB dbInstance; + @Autowired + private TaxonomyDAO taxonomyDao; + @Autowired + private TaxonomyLevelDAO taxonomyLevelDao; + @Autowired + private TaxonomyLevelTypeDAO taxonomyLevelTypeDao; + + @Test + public void createTaxonomyLevel() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-98", "Leveled taxonomy", null, null); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("ID-Level-0", "My first taxonomy level", "A basic level", null, null, null, null, taxonomy); + dbInstance.commit(); + + Assert.assertNotNull(level); + Assert.assertNotNull(level.getKey()); + Assert.assertNotNull(level.getCreationDate()); + Assert.assertNotNull(level.getTaxonomy()); + Assert.assertEquals(taxonomy, level.getTaxonomy()); + } + + @Test + public void createAndLoadTaxonomyLevel() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-100", "Leveled taxonomy", null, null); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("ID-Level-0", "A taxonomy level", "A basic level", null, null, null, null, taxonomy); + dbInstance.commitAndCloseSession(); + + TaxonomyLevel reloadedLevel = taxonomyLevelDao.loadByKey(level.getKey()); + dbInstance.commitAndCloseSession(); + + Assert.assertNotNull(reloadedLevel); + Assert.assertNotNull(reloadedLevel.getKey()); + Assert.assertEquals(level, reloadedLevel); + Assert.assertEquals(taxonomy, reloadedLevel.getTaxonomy()); + } + + @Test + public void createAndLoadTaxonomyLevel_withType() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-103", "Typed taxonomy", null, null); + TaxonomyLevelType type = taxonomyLevelTypeDao.createTaxonomyLevelType("Type-t", "A type", "Typed", "TYP-T", taxonomy); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("ID-Level-0", "A taxonomy level", "A basic level", null, null, null, type, taxonomy); + dbInstance.commitAndCloseSession(); + + TaxonomyLevel reloadedLevel = taxonomyLevelDao.loadByKey(level.getKey()); + dbInstance.commitAndCloseSession(); + + Assert.assertNotNull(reloadedLevel); + Assert.assertNotNull(reloadedLevel.getKey()); + Assert.assertEquals(level, reloadedLevel); + Assert.assertEquals(taxonomy, reloadedLevel.getTaxonomy()); + Assert.assertEquals(type, reloadedLevel.getType()); + } + + @Test + public void createTaxonomyCompetence_2Level() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-99", "Leveled taxonomy", null, null); + TaxonomyLevel rootLevel = taxonomyLevelDao.createTaxonomyLevel("ID-Level-1", "My root level", "A basic level", null, null, null, null, taxonomy); + dbInstance.commit(); + + TaxonomyLevel secondLevel = taxonomyLevelDao.createTaxonomyLevel("ID-Level-2", "My second level", "A basic level", null, null, rootLevel, null, taxonomy); + dbInstance.commit(); + + TaxonomyLevel reloadedSecondLevel = taxonomyLevelDao.loadByKey(secondLevel.getKey()); + + Assert.assertNotNull(reloadedSecondLevel); + Assert.assertNotNull(reloadedSecondLevel.getKey()); + Assert.assertNotNull(reloadedSecondLevel.getCreationDate()); + Assert.assertEquals(taxonomy, reloadedSecondLevel.getTaxonomy()); + Assert.assertEquals(rootLevel, reloadedSecondLevel.getParent()); + } + + @Test + public void getTaxonomyLevels_byTaxonomy() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-99", "Leveled taxonomy", null, null); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("ID-Level-3", "A level", "A basic level", null, null, null, null, taxonomy); + dbInstance.commit(); + + List<TaxonomyLevel> levels = taxonomyLevelDao.getLevels(taxonomy); + Assert.assertNotNull(levels); + Assert.assertTrue(levels.contains(level)); + } + + @Test + public void getTaxonomyLevels_all() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-103", "Leveled taxonomy", null, null); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("ID-Level-4", "A level", "A basic level", null, null, null, null, taxonomy); + dbInstance.commit(); + + List<TaxonomyLevel> levels = taxonomyLevelDao.getLevels(null); + Assert.assertNotNull(levels); + Assert.assertTrue(levels.contains(level)); + } + + @Test + public void getParentLine() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-103", "Deeply leveled taxonomy", null, null); + TaxonomyLevel level_1 = taxonomyLevelDao.createTaxonomyLevel("L-1", "A level", "A basic level", null, null, null, null, taxonomy); + TaxonomyLevel level_2 = taxonomyLevelDao.createTaxonomyLevel("L-2", "A level", "A basic level", null, null, level_1, null, taxonomy); + TaxonomyLevel level_3 = taxonomyLevelDao.createTaxonomyLevel("L-3", "A level", "A basic level", null, null, level_2, null, taxonomy); + TaxonomyLevel level_4 = taxonomyLevelDao.createTaxonomyLevel("L-4", "A level", "A basic level", null, null, level_3, null, taxonomy); + TaxonomyLevel level_5 = taxonomyLevelDao.createTaxonomyLevel("L-5", "A level", "A basic level", null, null, level_4, null, taxonomy); + dbInstance.commit(); + + List<TaxonomyLevel> levels = taxonomyLevelDao.getParentLine(level_5, taxonomy); + Assert.assertNotNull(levels); + Assert.assertEquals(5, levels.size()); + Assert.assertEquals(level_1, levels.get(0)); + Assert.assertEquals(level_2, levels.get(1)); + Assert.assertEquals(level_3, levels.get(2)); + Assert.assertEquals(level_4, levels.get(3)); + Assert.assertEquals(level_5, levels.get(4)); + } + + @Test + public void getLevelsByExternalId() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-103", "Externalized taxonomy", null, null); + String externalId = UUID.randomUUID().toString(); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("L-1", "A level", "A basic level", externalId, null, null, null, taxonomy); + dbInstance.commitAndCloseSession(); + + List<TaxonomyLevel> levels = taxonomyLevelDao.getLevelsByExternalId(taxonomy, externalId); + Assert.assertNotNull(levels); + Assert.assertEquals(1, levels.size()); + Assert.assertEquals(level, levels.get(0)); + } + + @Test + public void getLevelsByDisplayName() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("ID-104", "Named taxonomy", null, null); + String displayName = UUID.randomUUID().toString(); + TaxonomyLevel level = taxonomyLevelDao.createTaxonomyLevel("L-1", displayName, "A basic level", null, null, null, null, taxonomy); + dbInstance.commitAndCloseSession(); + + List<TaxonomyLevel> levels = taxonomyLevelDao.getLevelsByDisplayName(taxonomy, displayName); + Assert.assertNotNull(levels); + Assert.assertEquals(1, levels.size()); + Assert.assertEquals(level, levels.get(0)); + } +} diff --git a/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyLevelTypeDAOTest.java b/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyLevelTypeDAOTest.java new file mode 100644 index 0000000000000000000000000000000000000000..1de4183070bbc79fa2f580b25eee7c72c54bd49d --- /dev/null +++ b/src/test/java/org/olat/modules/taxonomy/manager/TaxonomyLevelTypeDAOTest.java @@ -0,0 +1,125 @@ +/** + * <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.taxonomy.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.core.commons.persistence.DB; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyLevelTypeToType; +import org.olat.modules.taxonomy.model.TaxonomyLevelTypeImpl; +import org.olat.test.OlatTestCase; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 28 sept. 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyLevelTypeDAOTest extends OlatTestCase { + + @Autowired + private DB dbInstance; + @Autowired + private TaxonomyDAO taxonomyDao; + @Autowired + private TaxonomyLevelTypeDAO taxonomyLevelTypeDao; + @Autowired + private TaxonomyLevelTypeToTypeDAO taxonomyLevelTypeToTypeDao; + + @Test + public void createTaxonomyLevelType() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("Tax-type", "Typed taxonomy", "A typed taxonomy", ""); + TaxonomyLevelType type = taxonomyLevelTypeDao.createTaxonomyLevelType("Type-0", "A first type", "Typed", "TYP-0", taxonomy); + dbInstance.commit(); + + Assert.assertNotNull(type); + Assert.assertNotNull(type.getKey()); + Assert.assertNotNull(type.getCreationDate()); + Assert.assertEquals("Type-0", type.getIdentifier()); + Assert.assertEquals("A first type", type.getDisplayName()); + Assert.assertEquals("Typed", type.getDescription()); + Assert.assertEquals("TYP-0", type.getExternalId()); + } + + @Test + public void createAndLoadTaxonomyLevelType() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("Tax-type", "Typed taxonomy", "A typed taxonomy", ""); + TaxonomyLevelType type = taxonomyLevelTypeDao.createTaxonomyLevelType("Type-reload", "A first reloaded type", "Typed", "TYP-1", taxonomy); + dbInstance.commitAndCloseSession(); + + TaxonomyLevelType reloadedType = taxonomyLevelTypeDao.loadTaxonomyLevelTypeByKey(type.getKey()); + + Assert.assertNotNull(reloadedType); + Assert.assertEquals(type, reloadedType); + Assert.assertEquals("Type-reload", reloadedType.getIdentifier()); + Assert.assertEquals("A first reloaded type", reloadedType.getDisplayName()); + Assert.assertEquals("Typed", reloadedType.getDescription()); + Assert.assertEquals("TYP-1", reloadedType.getExternalId()); + } + + @Test + public void loadTaxonomyLevelTypeByTaxonomy() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("Tax-type", "Typed taxonomy", "A typed taxonomy", ""); + Taxonomy taxonomyMarker = taxonomyDao.createTaxonomy("Tax-marker", "Marker taxonomy", "An unused taxonomy", ""); + TaxonomyLevelType type = taxonomyLevelTypeDao.createTaxonomyLevelType("Type-reload", "A first reloaded type", "Typed", "TYP-1", taxonomy); + dbInstance.commitAndCloseSession(); + + //check the taxonomy with types + List<TaxonomyLevelType> taxonomyTypes = taxonomyLevelTypeDao.loadTaxonomyLevelTypeByTaxonomy(taxonomy); + Assert.assertNotNull(taxonomyTypes); + Assert.assertEquals(1, taxonomyTypes.size()); + Assert.assertEquals(type, taxonomyTypes.get(0)); + + //check the marker without + List<TaxonomyLevelType> taxonomyWithoutTypes = taxonomyLevelTypeDao.loadTaxonomyLevelTypeByTaxonomy(taxonomyMarker); + Assert.assertNotNull(taxonomyWithoutTypes); + Assert.assertEquals(0, taxonomyWithoutTypes.size()); + } + + @Test + public void allowSubTypes() { + Taxonomy taxonomy = taxonomyDao.createTaxonomy("Tax-type", "Typed taxonomy", "A typed taxonomy", ""); + TaxonomyLevelType type = taxonomyLevelTypeDao.createTaxonomyLevelType("Type-parent", "A type", null, null, taxonomy); + TaxonomyLevelType subType1 = taxonomyLevelTypeDao.createTaxonomyLevelType("Type-sub-1", "A type", null, null, taxonomy); + TaxonomyLevelType subType2 = taxonomyLevelTypeDao.createTaxonomyLevelType("Type-sub-2", "A type", null, null, taxonomy); + dbInstance.commitAndCloseSession(); + + taxonomyLevelTypeToTypeDao.addAllowedSubType(type, subType1); + taxonomyLevelTypeToTypeDao.addAllowedSubType(type, subType2); + dbInstance.commitAndCloseSession(); + + TaxonomyLevelTypeImpl reloadedType = (TaxonomyLevelTypeImpl)taxonomyLevelTypeDao.loadTaxonomyLevelTypeByKey(type.getKey()); + Assert.assertNotNull(reloadedType.getAllowedTaxonomyLevelSubTypes()); + Assert.assertEquals(2, reloadedType.getAllowedTaxonomyLevelSubTypes().size()); + Set<TaxonomyLevelTypeToType> allowedTypeSet = reloadedType.getAllowedTaxonomyLevelSubTypes(); + List<TaxonomyLevelType> allowedSubTypes = allowedTypeSet.stream() + .map(t -> t.getAllowedSubTaxonomyLevelType()) + .collect(Collectors.toList()); + Assert.assertTrue(allowedSubTypes.contains(subType1)); + Assert.assertTrue(allowedSubTypes.contains(subType2)); + } +} diff --git a/src/test/java/org/olat/restapi/TaxonomyModuleWebServiceTest.java b/src/test/java/org/olat/restapi/TaxonomyModuleWebServiceTest.java new file mode 100644 index 0000000000000000000000000000000000000000..74a802a8f457fc3d11450157e844780d55fe6809 --- /dev/null +++ b/src/test/java/org/olat/restapi/TaxonomyModuleWebServiceTest.java @@ -0,0 +1,71 @@ +/** + * <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.IOException; +import java.net.URI; +import java.net.URISyntaxException; + +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.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.olat.modules.taxonomy.TaxonomyModule; +import org.olat.modules.taxonomy.restapi.TaxonomyModuleConfigurationVO; +import org.olat.test.OlatJerseyTestCase; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 5 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyModuleWebServiceTest extends OlatJerseyTestCase { + + @Autowired + private TaxonomyModule taxonomyModule; + + @Before + public void taxonomySetup() { + String key = taxonomyModule.getTaxonomyTreeKey(); + System.out.println(key); + } + + @Test + public void taxonomyModuleConfiguration() + throws IOException, URISyntaxException { + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path("module").path("configuration").build(); + HttpGet method = conn.createGet(request, MediaType.APPLICATION_JSON, true); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + TaxonomyModuleConfigurationVO configVO = conn.parse(response, TaxonomyModuleConfigurationVO.class); + Assert.assertNotNull(configVO); + } + +} diff --git a/src/test/java/org/olat/restapi/TaxonomyWebServiceTest.java b/src/test/java/org/olat/restapi/TaxonomyWebServiceTest.java new file mode 100644 index 0000000000000000000000000000000000000000..9dc77786961b0dca0628fcf57487e2b69f7ebb01 --- /dev/null +++ b/src/test/java/org/olat/restapi/TaxonomyWebServiceTest.java @@ -0,0 +1,667 @@ +/** + * <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.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 java.util.UUID; + +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.HttpPut; +import org.apache.http.util.EntityUtils; +import org.codehaus.jackson.map.ObjectMapper; +import org.codehaus.jackson.type.TypeReference; +import org.junit.Assert; +import org.junit.Test; +import org.olat.core.commons.persistence.DB; +import org.olat.core.id.Identity; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; +import org.olat.modules.taxonomy.Taxonomy; +import org.olat.modules.taxonomy.TaxonomyCompetence; +import org.olat.modules.taxonomy.TaxonomyCompetenceTypes; +import org.olat.modules.taxonomy.TaxonomyLevel; +import org.olat.modules.taxonomy.TaxonomyLevelType; +import org.olat.modules.taxonomy.TaxonomyLevelTypeToType; +import org.olat.modules.taxonomy.TaxonomyService; +import org.olat.modules.taxonomy.model.TaxonomyLevelRefImpl; +import org.olat.modules.taxonomy.restapi.TaxonomyCompetenceVO; +import org.olat.modules.taxonomy.restapi.TaxonomyLevelTypeVO; +import org.olat.modules.taxonomy.restapi.TaxonomyLevelVO; +import org.olat.modules.taxonomy.restapi.TaxonomyVO; +import org.olat.test.JunitTestHelper; +import org.olat.test.OlatJerseyTestCase; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 5 Oct 2017<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class TaxonomyWebServiceTest extends OlatJerseyTestCase { + + private static final OLog log = Tracing.createLoggerFor(TaxonomyWebServiceTest.class); + + @Autowired + private DB dbInstance; + @Autowired + private TaxonomyService taxonomyService; + + @Test + public void getTaxonomy() + throws IOException, URISyntaxException { + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-1", "Taxonomy on rest", "Rest is cool", "Ext-tax-1"); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(taxonomy); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()).build(); + HttpGet method = conn.createGet(request, MediaType.APPLICATION_JSON, true); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + TaxonomyVO taxonomyVO = conn.parse(response, TaxonomyVO.class); + Assert.assertNotNull(taxonomyVO); + Assert.assertEquals(taxonomy.getKey(), taxonomyVO.getKey()); + Assert.assertEquals("REST-Tax-1", taxonomyVO.getIdentifier()); + Assert.assertEquals("Taxonomy on rest", taxonomyVO.getDisplayName()); + Assert.assertEquals("Rest is cool", taxonomyVO.getDescription()); + Assert.assertEquals("Ext-tax-1", taxonomyVO.getExternalId()); + } + + @Test + public void getFlatTaxonomyLevels() + throws IOException, URISyntaxException { + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-2", "Taxonomy on rest", "Rest is cool", "Ext-tax-1"); + TaxonomyLevel level1 = taxonomyService.createTaxonomyLevel("REST-Tax-l-1", "Level 1 on rest", "Level", "Ext-3", null, null, taxonomy); + TaxonomyLevel level2 = taxonomyService.createTaxonomyLevel("REST-Tax-l-2", "Level 2 on rest", "Level", "Ext-4", null, null, taxonomy); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(taxonomy); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()).path("levels").build(); + HttpGet method = conn.createGet(request, MediaType.APPLICATION_JSON, true); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + List<TaxonomyLevelVO> taxonomyLevelVOList = parseTaxonomyLevelsArray(response.getEntity().getContent()); + Assert.assertNotNull(taxonomyLevelVOList); + Assert.assertEquals(2, taxonomyLevelVOList.size()); + + boolean found1 = false; + boolean found2 = false; + for(TaxonomyLevelVO levelVo:taxonomyLevelVOList) { + if(level1.getKey().equals(levelVo.getKey())) { + found1 = true; + } else if(level2.getKey().equals(levelVo.getKey())) { + found2 = true; + } + } + Assert.assertTrue(found1); + Assert.assertTrue(found2); + } + + @Test + public void putTaxonomyLevel_rootLevel() + throws IOException, URISyntaxException { + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-2", "Taxonomy on rest", "PUT is cool", "PUT-tax-1"); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(taxonomy); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + String uid = UUID.randomUUID().toString(); + TaxonomyLevelVO levelVo = new TaxonomyLevelVO(); + levelVo.setIdentifier(uid); + levelVo.setDisplayName("PUT root level"); + levelVo.setDescription("Try to PUT a root level"); + levelVo.setExternalId("EXT-190"); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()).path("levels").build(); + HttpPut method = conn.createPut(request, MediaType.APPLICATION_JSON, true); + conn.addJsonEntity(method, levelVo); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + + //check the returned value + TaxonomyLevelVO newTaxonomyLevelVo = conn.parse(response, TaxonomyLevelVO.class); + Assert.assertNotNull(newTaxonomyLevelVo); + Assert.assertNotNull(newTaxonomyLevelVo.getKey()); + Assert.assertEquals(uid, newTaxonomyLevelVo.getIdentifier()); + Assert.assertEquals("PUT root level", newTaxonomyLevelVo.getDisplayName()); + Assert.assertEquals("Try to PUT a root level", newTaxonomyLevelVo.getDescription()); + Assert.assertEquals("EXT-190", newTaxonomyLevelVo.getExternalId()); + + //check the database + List<TaxonomyLevel> levels = taxonomyService.getTaxonomyLevels(taxonomy); + Assert.assertNotNull(levels); + Assert.assertEquals(1, levels.size()); + TaxonomyLevel savedLevel = levels.get(0); + Assert.assertEquals(newTaxonomyLevelVo.getKey(), savedLevel.getKey()); + Assert.assertEquals(uid, savedLevel.getIdentifier()); + Assert.assertEquals("PUT root level", savedLevel.getDisplayName()); + Assert.assertEquals("Try to PUT a root level", savedLevel.getDescription()); + Assert.assertEquals("EXT-190", savedLevel.getExternalId()); + } + + @Test + public void putTaxonomyLevel_subLevel() + throws IOException, URISyntaxException { + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-3", "Taxonomy on rest", "PUT is cool, yes!", "PUT-tax-2"); + TaxonomyLevel rootLevel = taxonomyService.createTaxonomyLevel("REST-Tax-r-1", "Root level on rest", "Level", "Ext-23", null, null, taxonomy); + TaxonomyLevelType type = taxonomyService.createTaxonomyLevelType("Sub-type", "Type for a sub level", "All is in the title", "TYP-23", taxonomy); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(taxonomy); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + String uid = UUID.randomUUID().toString(); + TaxonomyLevelVO levelVo = new TaxonomyLevelVO(); + levelVo.setIdentifier(uid); + levelVo.setDisplayName("PUT a sub level"); + levelVo.setDescription("Try to PUT a level above the root"); + levelVo.setExternalId("EXT-191"); + levelVo.setParentKey(rootLevel.getKey()); + levelVo.setTypeKey(type.getKey()); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()).path("levels").build(); + HttpPut method = conn.createPut(request, MediaType.APPLICATION_JSON, true); + conn.addJsonEntity(method, levelVo); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + + //check the returned value + TaxonomyLevelVO newTaxonomyLevelVo = conn.parse(response, TaxonomyLevelVO.class); + Assert.assertNotNull(newTaxonomyLevelVo); + Assert.assertNotNull(newTaxonomyLevelVo.getKey()); + Assert.assertEquals(uid, newTaxonomyLevelVo.getIdentifier()); + Assert.assertEquals("PUT a sub level", newTaxonomyLevelVo.getDisplayName()); + Assert.assertEquals("EXT-191", newTaxonomyLevelVo.getExternalId()); + Assert.assertEquals(rootLevel.getKey(), newTaxonomyLevelVo.getParentKey()); + Assert.assertEquals(type.getKey(), newTaxonomyLevelVo.getTypeKey()); + + //check the database + TaxonomyLevel savedLevel = taxonomyService.getTaxonomyLevel(new TaxonomyLevelRefImpl(newTaxonomyLevelVo.getKey())); + Assert.assertNotNull(savedLevel); + Assert.assertEquals(newTaxonomyLevelVo.getKey(), savedLevel.getKey()); + Assert.assertEquals(newTaxonomyLevelVo.getParentKey(), savedLevel.getParent().getKey()); + + //check parent line + List<TaxonomyLevel> parentLine = taxonomyService.getTaxonomyLevelParentLine(savedLevel, taxonomy); + Assert.assertNotNull(parentLine); + Assert.assertEquals(2, parentLine.size()); + Assert.assertEquals(rootLevel, parentLine.get(0)); + Assert.assertEquals(savedLevel, parentLine.get(1)); + } + + /** + * Update level. Parent key is null -> it will not change it. + * + * @throws IOException + * @throws URISyntaxException + */ + @Test + public void updateTaxonomyLevel() + throws IOException, URISyntaxException { + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-4", "Taxonomy on rest", "PUT is cool, yes!", "PUT-tax-2"); + TaxonomyLevel rootLevel = taxonomyService.createTaxonomyLevel("REST-Tax-u-1", "Root level on rest", "Level", "Ext-25", null, null, taxonomy); + TaxonomyLevel levelToUpdate = taxonomyService.createTaxonomyLevel("REST-Tax-u-1", "Sub level on rest", "Level", "Ext-26", null, rootLevel, taxonomy); + TaxonomyLevelType type = taxonomyService.createTaxonomyLevelType("Sub-type", "Type for a sub level", "All is in the title", "TYP-27", taxonomy); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(taxonomy); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + TaxonomyLevelVO levelVo = new TaxonomyLevelVO(); + levelVo.setKey(levelToUpdate.getKey()); + levelVo.setIdentifier("Updated id"); + levelVo.setDisplayName("Updated name"); + levelVo.setDescription("Updated description"); + levelVo.setExternalId("Updated ext."); + levelVo.setTypeKey(type.getKey()); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()).path("levels").build(); + HttpPut method = conn.createPut(request, MediaType.APPLICATION_JSON, true); + conn.addJsonEntity(method, levelVo); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + + //check the updated value + TaxonomyLevelVO updatedTaxonomyLevelVo = conn.parse(response, TaxonomyLevelVO.class); + Assert.assertNotNull(updatedTaxonomyLevelVo); + Assert.assertEquals("Updated id", updatedTaxonomyLevelVo.getIdentifier()); + Assert.assertEquals("Updated name", updatedTaxonomyLevelVo.getDisplayName()); + Assert.assertEquals("Updated description", updatedTaxonomyLevelVo.getDescription()); + Assert.assertEquals("Updated ext.", updatedTaxonomyLevelVo.getExternalId()); + Assert.assertEquals(rootLevel.getKey(), updatedTaxonomyLevelVo.getParentKey()); + Assert.assertEquals(type.getKey(), updatedTaxonomyLevelVo.getTypeKey()); + + //check the database + TaxonomyLevel savedLevel = taxonomyService.getTaxonomyLevel(new TaxonomyLevelRefImpl(updatedTaxonomyLevelVo.getKey())); + Assert.assertNotNull(savedLevel); + Assert.assertEquals("Updated id", savedLevel.getIdentifier()); + Assert.assertEquals("Updated name", savedLevel.getDisplayName()); + Assert.assertEquals("Updated description", savedLevel.getDescription()); + Assert.assertEquals("Updated ext.", savedLevel.getExternalId()); + Assert.assertEquals(rootLevel.getKey(), savedLevel.getParent().getKey()); + Assert.assertEquals(type.getKey(), savedLevel.getType().getKey()); + } + + @Test + public void getTaxonomyLevelTypes() + throws IOException, URISyntaxException { + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-2", "Taxonomy on rest", "Rest is cool", "Ext-tax-1"); + TaxonomyLevelType type1 = taxonomyService.createTaxonomyLevelType("RESR-Type-1", "Type 1 on rest", "Type", "EXT-Type-1", taxonomy); + TaxonomyLevelType type2 = taxonomyService.createTaxonomyLevelType("RESR-Type-2", "Type 2 on rest", "Type", "EXT-Type-2", taxonomy); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(taxonomy); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()).path("types").build(); + HttpGet method = conn.createGet(request, MediaType.APPLICATION_JSON, true); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + List<TaxonomyLevelTypeVO> typeVoList = parseTaxonomyLevelTypesArray(response.getEntity().getContent()); + Assert.assertNotNull(typeVoList); + Assert.assertEquals(2, typeVoList.size()); + + boolean found1 = false; + boolean found2 = false; + for(TaxonomyLevelTypeVO typeVo:typeVoList) { + if(type1.getKey().equals(typeVo.getKey())) { + found1 = true; + } else if(type2.getKey().equals(typeVo.getKey())) { + found2 = true; + } + } + Assert.assertTrue(found1); + Assert.assertTrue(found2); + } + + @Test + public void getTaxonomyLevelType() + throws IOException, URISyntaxException { + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-2", "Taxonomy on rest", "Rest is cool", "Ext-tax-1"); + TaxonomyLevelType type = taxonomyService.createTaxonomyLevelType("REST-Type-3", "Type 3 on rest", "Type", "EXT-Type-3", taxonomy); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(taxonomy); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()) + .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()); + TaxonomyLevelTypeVO typeVo = conn.parse(response, TaxonomyLevelTypeVO.class); + Assert.assertNotNull(typeVo); + } + + @Test + public void putTaxonomyLevelType() + throws IOException, URISyntaxException { + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-2", "Taxonomy on rest", "Rest is cool", "Ext-tax-1"); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(taxonomy); + + TaxonomyLevelTypeVO newTypeVo = new TaxonomyLevelTypeVO(); + String identifier = UUID.randomUUID().toString(); + newTypeVo.setIdentifier(identifier); + newTypeVo.setDisplayName("REST-Type-5"); + newTypeVo.setDescription("Unused description"); + newTypeVo.setExternalId("EXT-type-5"); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()) + .path("types").build(); + HttpPut method = conn.createPut(request, MediaType.APPLICATION_JSON, true); + conn.addJsonEntity(method, newTypeVo); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + TaxonomyLevelTypeVO typeVo = conn.parse(response, TaxonomyLevelTypeVO.class); + Assert.assertNotNull(typeVo); + Assert.assertEquals(identifier, typeVo.getIdentifier()); + Assert.assertEquals("REST-Type-5", typeVo.getDisplayName()); + Assert.assertEquals("Unused description", typeVo.getDescription()); + Assert.assertEquals("EXT-type-5", typeVo.getExternalId()); + } + + @Test + public void getTaxonomyLevelTypeAllowedSubTypes() + throws IOException, URISyntaxException { + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-4", "Taxonomy on rest", "Rest is cool", "Ext-tax-1"); + TaxonomyLevelType type = taxonomyService.createTaxonomyLevelType("REST-Type-4", "Type 4 on rest", "Type", "EXT-Type-4", taxonomy); + TaxonomyLevelType subType1 = taxonomyService.createTaxonomyLevelType("REST-Type-4-1", "Type 4.1 on rest", "Type", "EXT-Type-4-1", taxonomy); + TaxonomyLevelType subType2 = taxonomyService.createTaxonomyLevelType("REST-Type-4-2", "Type 4.2 on rest", "Type", "EXT-Type-4-2", taxonomy); + dbInstance.commit(); + List<TaxonomyLevelType> subTypes = new ArrayList<>(2); + subTypes.add(subType1); + subTypes.add(subType2); + type = taxonomyService.updateTaxonomyLevelType(type, subTypes); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(taxonomy); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()) + .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<TaxonomyLevelTypeVO> typeVoList = parseTaxonomyLevelTypesArray(response.getEntity().getContent()); + Assert.assertNotNull(typeVoList); + Assert.assertEquals(2, typeVoList.size()); + + boolean found1 = false; + boolean found2 = false; + for(TaxonomyLevelTypeVO 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 allowTaxonomyLevelTypeAllowedSubType() + throws IOException, URISyntaxException { + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-4", "Taxonomy on rest", "Rest is cool", "Ext-tax-1"); + TaxonomyLevelType type = taxonomyService.createTaxonomyLevelType("REST-Type-4", "Type 4 on rest", "Type", "EXT-Type-4", taxonomy); + TaxonomyLevelType subType1 = taxonomyService.createTaxonomyLevelType("REST-Type-4-1", "Type 4.1 on rest", "Type", "EXT-Type-4-1", taxonomy); + TaxonomyLevelType subType2 = taxonomyService.createTaxonomyLevelType("REST-Type-4-2", "Type 4.2 on rest", "Type", "EXT-Type-4-2", taxonomy); + dbInstance.commit(); + type = taxonomyService.updateTaxonomyLevelType(type, Collections.singletonList(subType1)); + dbInstance.commitAndCloseSession(); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()) + .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()); + + TaxonomyLevelType reloadedType = taxonomyService.getTaxonomyLevelType(type); + Set<TaxonomyLevelTypeToType> typeToTypes = reloadedType.getAllowedTaxonomyLevelSubTypes(); + Assert.assertEquals(2, typeToTypes.size()); + boolean found1 = false; + boolean found2 = false; + for(TaxonomyLevelTypeToType typeToType:typeToTypes) { + TaxonomyLevelType subType = typeToType.getAllowedSubTaxonomyLevelType(); + 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 disallowTaxonomyLevelTypeAllowedSubType() + throws IOException, URISyntaxException { + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-6", "Taxonomy on rest", "Rest is cool", "Ext-tax-6"); + TaxonomyLevelType type = taxonomyService.createTaxonomyLevelType("REST-Type-6", "Type 6 on rest", "Type", "EXT-Type-6", taxonomy); + TaxonomyLevelType subType1 = taxonomyService.createTaxonomyLevelType("REST-Type-6-1", "Type 6.1 on rest", "Type", "EXT-Type-6-1", taxonomy); + TaxonomyLevelType subType2 = taxonomyService.createTaxonomyLevelType("REST-Type-6-2", "Type 6.2 on rest", "Type", "EXT-Type-6-2", taxonomy); + TaxonomyLevelType subType3 = taxonomyService.createTaxonomyLevelType("REST-Type-6-3", "Type 6.3 on rest", "Type", "EXT-Type-6-3", taxonomy); + dbInstance.commit(); + List<TaxonomyLevelType> allowedSubTypes = new ArrayList<>(); + allowedSubTypes.add(subType1); + allowedSubTypes.add(subType2); + allowedSubTypes.add(subType3); + type = taxonomyService.updateTaxonomyLevelType(type, allowedSubTypes); + dbInstance.commitAndCloseSession(); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()) + .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()); + + TaxonomyLevelType reloadedType = taxonomyService.getTaxonomyLevelType(type); + Set<TaxonomyLevelTypeToType> typeToTypes = reloadedType.getAllowedTaxonomyLevelSubTypes(); + Assert.assertEquals(2, typeToTypes.size()); + boolean found1 = false; + boolean found2 = false; + boolean found3 = false; + for(TaxonomyLevelTypeToType typeToType:typeToTypes) { + TaxonomyLevelType subType = typeToType.getAllowedSubTaxonomyLevelType(); + 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); + } + + @Test + public void getTaxonomyLevelComptences() + throws IOException, URISyntaxException { + // prepare a level, 2 users and 2 competences + Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("competence-1"); + Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("competence-2"); + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-6", "Taxonomy on rest", "Rest is cool", "Ext-tax-6"); + TaxonomyLevel level = taxonomyService.createTaxonomyLevel("REST-Tax-l-1", "Level 1 on rest", "Level", "Ext-3", null, null, taxonomy); + taxonomyService.addTaxonomyLevelCompetences(level, id1, TaxonomyCompetenceTypes.have); + taxonomyService.addTaxonomyLevelCompetences(level, id2, TaxonomyCompetenceTypes.manage); + dbInstance.commitAndCloseSession(); + + // get the competences + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()) + .path("levels").path(level.getKey().toString()).path("competences").build(); + HttpGet method = conn.createGet(request, MediaType.APPLICATION_JSON, true); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + List<TaxonomyCompetenceVO> competenceList = parseTaxonomyComptencesArray(response.getEntity().getContent()); + Assert.assertNotNull(competenceList); + Assert.assertEquals(2, competenceList.size()); + + boolean foundComptenceId1 = false; + boolean foundComptenceId2 = false; + for(TaxonomyCompetenceVO competence:competenceList) { + if(competence.getTaxonomyLevelKey().equals(level.getKey())) { + if(competence.getIdentityKey().equals(id1.getKey()) + && TaxonomyCompetenceTypes.have.name().equals(competence.getTaxonomyCompetenceType())) { + foundComptenceId1 = true; + } else if(competence.getIdentityKey().equals(id2.getKey()) + && TaxonomyCompetenceTypes.manage.name().equals(competence.getTaxonomyCompetenceType())) { + foundComptenceId2 = true; + } + } + } + Assert.assertTrue(foundComptenceId1); + Assert.assertTrue(foundComptenceId2); + } + + @Test + public void getTaxonomyLevelComptences_byIdentity() + throws IOException, URISyntaxException { + // prepare a level, 2 users and 2 competences + Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("competence-4"); + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-7", "Taxonomy on rest", "Rest is cool", "Ext-tax-7"); + TaxonomyLevel level = taxonomyService.createTaxonomyLevel("REST-Tax-l-7", "Level 1 on rest", "Level", "Ext-7", null, null, taxonomy); + taxonomyService.addTaxonomyLevelCompetences(level, id, TaxonomyCompetenceTypes.teach); + dbInstance.commitAndCloseSession(); + + // get the competences + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()) + .path("levels").path(level.getKey().toString()).path("competences") + .path(id.getKey().toString()).build(); + HttpGet method = conn.createGet(request, MediaType.APPLICATION_JSON, true); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + List<TaxonomyCompetenceVO> competenceList = parseTaxonomyComptencesArray(response.getEntity().getContent()); + Assert.assertNotNull(competenceList); + Assert.assertEquals(1, competenceList.size()); + TaxonomyCompetenceVO competence = competenceList.get(0); + Assert.assertEquals(id.getKey(), competence.getIdentityKey()); + Assert.assertEquals(level.getKey(), competence.getTaxonomyLevelKey()); + Assert.assertEquals(TaxonomyCompetenceTypes.teach.name(), competence.getTaxonomyCompetenceType()); + } + + @Test + public void putTaxonomyLevelComptence() + throws IOException, URISyntaxException { + Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("competence-4"); + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-8", "Taxonomy on rest", "PUT is cool, yes!", "PUT-tax-2"); + TaxonomyLevel level = taxonomyService.createTaxonomyLevel("REST-Tax-r-8", "Root level on rest", "Level", "Ext-23", null, null, taxonomy); + dbInstance.commitAndCloseSession(); + + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + TaxonomyCompetenceVO competenceVo = new TaxonomyCompetenceVO(); + competenceVo.setIdentityKey(id.getKey()); + competenceVo.setTaxonomyCompetenceType(TaxonomyCompetenceTypes.target.name()); + competenceVo.setTaxonomyLevelKey(level.getKey()); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()) + .path("levels").path(level.getKey().toString()).path("competences").build(); + HttpPut method = conn.createPut(request, MediaType.APPLICATION_JSON, true); + conn.addJsonEntity(method, competenceVo); + HttpResponse response = conn.execute(method); + Assert.assertEquals(200, response.getStatusLine().getStatusCode()); + + //check the returned value + TaxonomyCompetenceVO newTaxonomyCompetenceVo = conn.parse(response, TaxonomyCompetenceVO.class); + Assert.assertNotNull(newTaxonomyCompetenceVo); + Assert.assertNotNull(newTaxonomyCompetenceVo.getKey()); + Assert.assertEquals(id.getKey(), newTaxonomyCompetenceVo.getIdentityKey()); + Assert.assertEquals(TaxonomyCompetenceTypes.target.name(), newTaxonomyCompetenceVo.getTaxonomyCompetenceType()); + Assert.assertEquals(level.getKey(), newTaxonomyCompetenceVo.getTaxonomyLevelKey()); + + //check the database + List<TaxonomyCompetence> competences = taxonomyService.getTaxonomyCompetences(id, TaxonomyCompetenceTypes.target); + Assert.assertNotNull(competences); + Assert.assertEquals(1, competences.size()); + TaxonomyCompetence competence = competences.get(0); + Assert.assertEquals(id, competence.getIdentity()); + Assert.assertEquals(level, competence.getTaxonomyLevel()); + Assert.assertEquals(TaxonomyCompetenceTypes.target, competence.getCompetenceType()); + } + + @Test + public void removeTaxonomyLevelCompetence() + throws IOException, URISyntaxException { + Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("competence-4"); + Taxonomy taxonomy = taxonomyService.createTaxonomy("REST-Tax-8", "Taxonomy on rest", "PUT is cool, yes!", "PUT-tax-2"); + TaxonomyLevel level = taxonomyService.createTaxonomyLevel("REST-Tax-r-8", "Root level on rest", "Level", "Ext-23", null, null, taxonomy); + TaxonomyCompetence competence = taxonomyService.addTaxonomyLevelCompetences(level, id, TaxonomyCompetenceTypes.target); + dbInstance.commitAndCloseSession(); + Assert.assertNotNull(competence); + //make sure we have something to delete + TaxonomyCompetence reloadedCompetence = taxonomyService.getTaxonomyCompetence(competence); + Assert.assertNotNull(reloadedCompetence); + dbInstance.commitAndCloseSession(); + + // remove the competence + RestConnection conn = new RestConnection(); + Assert.assertTrue(conn.login("administrator", "openolat")); + + URI request = UriBuilder.fromUri(getContextURI()).path("taxonomy").path(taxonomy.getKey().toString()) + .path("levels").path(level.getKey().toString()).path("competences") + .path(competence.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()); + + //check the database + List<TaxonomyCompetence> competences = taxonomyService.getTaxonomyCompetences(id, TaxonomyCompetenceTypes.target); + Assert.assertNotNull(competences); + Assert.assertEquals(0, competences.size()); + } + + protected List<TaxonomyLevelVO> parseTaxonomyLevelsArray(InputStream body) { + try { + ObjectMapper mapper = new ObjectMapper(jsonFactory); + return mapper.readValue(body, new TypeReference<List<TaxonomyLevelVO>>(){/* */}); + } catch (Exception e) { + log.error("", e); + return null; + } + } + + protected List<TaxonomyLevelTypeVO> parseTaxonomyLevelTypesArray(InputStream body) { + try { + ObjectMapper mapper = new ObjectMapper(jsonFactory); + return mapper.readValue(body, new TypeReference<List<TaxonomyLevelTypeVO>>(){/* */}); + } catch (Exception e) { + log.error("", e); + return null; + } + } + + protected List<TaxonomyCompetenceVO> parseTaxonomyComptencesArray(InputStream body) { + try { + ObjectMapper mapper = new ObjectMapper(jsonFactory); + return mapper.readValue(body, new TypeReference<List<TaxonomyCompetenceVO>>(){/* */}); + } catch (Exception e) { + log.error("", e); + return null; + } + } +} diff --git a/src/test/java/org/olat/test/AllTestsJunit4.java b/src/test/java/org/olat/test/AllTestsJunit4.java index 3f477fd5ef136e25bcde3cd8651a59d2b950f1a0..dcdf21ca15dfee3c273495dba3a5fd3e2fd87fd9 100644 --- a/src/test/java/org/olat/test/AllTestsJunit4.java +++ b/src/test/java/org/olat/test/AllTestsJunit4.java @@ -186,6 +186,11 @@ import org.junit.runners.Suite; org.olat.modules.reminder.ReminderModuleTest.class, org.olat.modules.reminder.manager.ReminderDAOTest.class, org.olat.modules.reminder.manager.ReminderRuleEngineTest.class, + org.olat.modules.taxonomy.manager.TaxonomyDAOTest.class, + org.olat.modules.taxonomy.manager.TaxonomyLevelDAOTest.class, + org.olat.modules.taxonomy.manager.TaxonomyLevelTypeDAOTest.class, + org.olat.modules.taxonomy.manager.TaxonomyCompetenceDAOTest.class, + org.olat.modules.taxonomy.manager.TaxonomyCompetenceAuditLogDAOTest.class, org.olat.modules.video.manager.VideoTranscodingDAOTest.class, org.olat.modules.video.manager.VideoMetadataDAOTest.class, org.olat.modules.webFeed.manager.FeedDAOTest.class, @@ -240,7 +245,6 @@ import org.junit.runners.Suite; org.olat.modules.qpool.manager.QEducationalContextDAOTest.class, org.olat.modules.qpool.manager.PoolDAOTest.class, org.olat.modules.qpool.manager.QItemQueriesDAOTest.class, - org.olat.modules.qpool.manager.TaxonomyLevelDAOTest.class, org.olat.modules.qpool.manager.QuestionPoolServiceTest.class, org.olat.login.oauth.OAuthDispatcherTest.class, org.olat.ldap.LDAPLoginTest.class, @@ -308,6 +312,8 @@ import org.junit.runners.Suite; org.olat.restapi.SystemTest.class, org.olat.restapi.ChangePasswordTest.class, org.olat.restapi.RegistrationTest.class, + org.olat.restapi.TaxonomyModuleWebServiceTest.class, + org.olat.restapi.TaxonomyWebServiceTest.class, de.bps.onyx.plugin.OnyxModuleTest.class, de.bps.olat.portal.institution.InstitutionPortletTest.class, org.olat.group.manager.BusinessGroupImportExportXStreamTest.class,