Commit c33ae9e6 authored by Guillaume Burel's avatar Guillaume Burel

Merge remote-tracking branch 'origin/develop' into guillaume-dev

parents 578b4644 5eb30506
No preview for this file type
...@@ -11,7 +11,7 @@ CONFIG += debug_and_release \ ...@@ -11,7 +11,7 @@ CONFIG += debug_and_release \
VERSION_MAJ = 2 VERSION_MAJ = 2
VERSION_MIN = 00 VERSION_MIN = 00
VERSION_TYPE = b # a = alpha, b = beta, r = release, other => error VERSION_TYPE = b # a = alpha, b = beta, r = release, other => error
VERSION_PATCH = 06 VERSION_PATCH = 07
VERSION = "$${VERSION_MAJ}.$${VERSION_MIN}.$${VERSION_TYPE}.$${VERSION_PATCH}" VERSION = "$${VERSION_MAJ}.$${VERSION_MIN}.$${VERSION_TYPE}.$${VERSION_PATCH}"
VERSION = $$replace(VERSION, "\\.r", "") VERSION = $$replace(VERSION, "\\.r", "")
......
...@@ -1085,7 +1085,9 @@ bool UBCFFAdaptor::UBToCFFConverter::setContentFromUBZ(const QDomElement &ubzEle ...@@ -1085,7 +1085,9 @@ bool UBCFFAdaptor::UBToCFFConverter::setContentFromUBZ(const QDomElement &ubzEle
if (bRet) if (bRet)
{ {
svgElement.setAttribute(aSVGHref, sDstContentFolder+"/"+sDstFileName); svgElement.setAttribute(aSVGHref, sDstContentFolder+"/"+sDstFileName);
svgElement.setAttribute(aSVGRequiredExtension, svgRequiredExtensionPrefix+convertExtention(fileExtention)); // NOT by standard! Enable it later!
// validator http://validator.imsglobal.org/iwb/index.jsp?validate=package
//svgElement.setAttribute(aSVGRequiredExtension, svgRequiredExtensionPrefix+convertExtention(fileExtention));
} }
} }
else else
...@@ -1112,7 +1114,9 @@ bool UBCFFAdaptor::UBToCFFConverter::setContentFromUBZ(const QDomElement &ubzEle ...@@ -1112,7 +1114,9 @@ bool UBCFFAdaptor::UBToCFFConverter::setContentFromUBZ(const QDomElement &ubzEle
if (bRet) if (bRet)
{ {
svgElement.setAttribute(aSVGHref, sDstContentFolder+"/"+sDstFileName); svgElement.setAttribute(aSVGHref, sDstContentFolder+"/"+sDstFileName);
svgElement.setAttribute(aSVGRequiredExtension, svgRequiredExtensionPrefix+fePng); // NOT by standard! Enable it later!
// validator http://validator.imsglobal.org/iwb/index.jsp?validate=package
//svgElement.setAttribute(aSVGRequiredExtension, svgRequiredExtensionPrefix+fePng);
} }
} }
}else }else
...@@ -1649,7 +1653,8 @@ bool UBCFFAdaptor::UBToCFFConverter::parseUBZAudio(const QDomElement &element, Q ...@@ -1649,7 +1653,8 @@ bool UBCFFAdaptor::UBToCFFConverter::parseUBZAudio(const QDomElement &element, Q
// CFF cannot show SVG images, so we need to convert it to png. // CFF cannot show SVG images, so we need to convert it to png.
if (bRes && createPngFromSvg(srcAudioImageFile, dstAudioImageFilePath, getTransformFromUBZ(element), QSize(audioImageDimention, audioImageDimention))) if (bRes && createPngFromSvg(srcAudioImageFile, dstAudioImageFilePath, getTransformFromUBZ(element), QSize(audioImageDimention, audioImageDimention)))
{ {
QDomElement svgSwitchSection = doc.createElementNS(svgIWBNS,svgIWBNSPrefix + ":" + tIWBSwitch); // switch section disabled because of imcompatibility with validator http://validator.imsglobal.org/iwb/index.jsp?validate=package
// QDomElement svgSwitchSection = doc.createElementNS(svgIWBNS,svgIWBNSPrefix + ":" + tIWBSwitch);
// first we place content // first we place content
QDomElement svgASection = doc.createElementNS(svgIWBNS,svgIWBNSPrefix + ":" + tIWBA); QDomElement svgASection = doc.createElementNS(svgIWBNS,svgIWBNSPrefix + ":" + tIWBA);
...@@ -1661,8 +1666,8 @@ bool UBCFFAdaptor::UBToCFFConverter::parseUBZAudio(const QDomElement &element, Q ...@@ -1661,8 +1666,8 @@ bool UBCFFAdaptor::UBToCFFConverter::parseUBZAudio(const QDomElement &element, Q
svgElementPart.setAttribute(aWidth, audioImageDimention); svgElementPart.setAttribute(aWidth, audioImageDimention);
svgASection.appendChild(svgElementPart); svgASection.appendChild(svgElementPart);
// switch section disabled because of imcompatibility with validator http://validator.imsglobal.org/iwb/index.jsp?validate=package
svgSwitchSection.appendChild(svgASection); // svgSwitchSection.appendChild(svgASection);
// if viewer cannot open that content - it must use that: // if viewer cannot open that content - it must use that:
QDomElement svgText = doc.createElementNS(svgIWBNS,svgIWBNSPrefix + ":" + tIWBTextArea); QDomElement svgText = doc.createElementNS(svgIWBNS,svgIWBNSPrefix + ":" + tIWBTextArea);
...@@ -1675,9 +1680,11 @@ bool UBCFFAdaptor::UBToCFFConverter::parseUBZAudio(const QDomElement &element, Q ...@@ -1675,9 +1680,11 @@ bool UBCFFAdaptor::UBToCFFConverter::parseUBZAudio(const QDomElement &element, Q
QDomText text = doc.createTextNode("Cannot Open Content"); QDomText text = doc.createTextNode("Cannot Open Content");
svgText.appendChild(text); svgText.appendChild(text);
svgSwitchSection.appendChild(svgText); // switch section disabled because of imcompatibility with validator http://validator.imsglobal.org/iwb/index.jsp?validate=package
// svgSwitchSection.appendChild(svgText);
addSVGElementToResultModel(svgSwitchSection, dstSvgList, getElementLayer(element)); // switch section disabled because of imcompatibility with validator http://validator.imsglobal.org/iwb/index.jsp?validate=package
addSVGElementToResultModel(svgASection/*svgSwitchSection*/, dstSvgList, getElementLayer(element));
if (0 < iwbElementPart.attributes().count()) if (0 < iwbElementPart.attributes().count())
addIWBElementToResultModel(iwbElementPart); addIWBElementToResultModel(iwbElementPart);
...@@ -1787,6 +1794,7 @@ bool UBCFFAdaptor::UBToCFFConverter::parseUBZPolygon(const QDomElement &element, ...@@ -1787,6 +1794,7 @@ bool UBCFFAdaptor::UBToCFFConverter::parseUBZPolygon(const QDomElement &element,
if (setCommonAttributesFromUBZ(element, iwbElementPart, svgElementPart)) if (setCommonAttributesFromUBZ(element, iwbElementPart, svgElementPart))
{ {
svgElementPart.setAttribute(aStroke, svgElementPart.attribute(aFill));
addSVGElementToResultModel(svgElementPart, dstSvgList, getElementLayer(element)); addSVGElementToResultModel(svgElementPart, dstSvgList, getElementLayer(element));
if (0 < iwbElementPart.attributes().count()) if (0 < iwbElementPart.attributes().count())
...@@ -1820,6 +1828,7 @@ bool UBCFFAdaptor::UBToCFFConverter::parseUBZPolyline(const QDomElement &element ...@@ -1820,6 +1828,7 @@ bool UBCFFAdaptor::UBToCFFConverter::parseUBZPolyline(const QDomElement &element
if (setCommonAttributesFromUBZ(element, iwbElementPart, svgElementPart)) if (setCommonAttributesFromUBZ(element, iwbElementPart, svgElementPart))
{ {
svgElementPart.setAttribute(aStroke, svgElementPart.attribute(aFill));
addSVGElementToResultModel(svgElementPart, dstSvgList, getElementLayer(element)); addSVGElementToResultModel(svgElementPart, dstSvgList, getElementLayer(element));
if (0 < iwbElementPart.attributes().count()) if (0 < iwbElementPart.attributes().count())
...@@ -1852,6 +1861,7 @@ bool UBCFFAdaptor::UBToCFFConverter::parseUBZLine(const QDomElement &element, QM ...@@ -1852,6 +1861,7 @@ bool UBCFFAdaptor::UBToCFFConverter::parseUBZLine(const QDomElement &element, QM
if (setCommonAttributesFromUBZ(element, iwbElementPart, svgElementPart)) if (setCommonAttributesFromUBZ(element, iwbElementPart, svgElementPart))
{ {
svgElementPart.setAttribute(aStroke, svgElementPart.attribute(aFill));
addSVGElementToResultModel(svgElementPart, dstSvgList, getElementLayer(element)); addSVGElementToResultModel(svgElementPart, dstSvgList, getElementLayer(element));
if (0 < iwbElementPart.attributes().count()) if (0 < iwbElementPart.attributes().count())
......
...@@ -106,7 +106,7 @@ const QString ubNS = "http://uniboard.mnemis.com/document"; ...@@ -106,7 +106,7 @@ const QString ubNS = "http://uniboard.mnemis.com/document";
const QString svgUBZNS = "http://www.imsglobal.org/xsd/iwb_v1p0"; const QString svgUBZNS = "http://www.imsglobal.org/xsd/iwb_v1p0";
const QString svgIWBNS = "http://www.w3.org/2000/svg"; const QString svgIWBNS = "http://www.w3.org/2000/svg";
const QString xlinkNS = "http://www.w3.org/1999/xlink"; const QString xlinkNS = "http://www.w3.org/1999/xlink";
const QString iwbNS = "http://www.becta.org.uk/iwb"; const QString iwbNS = "http://www.imsglobal.org/xsd/iwb_v1p0";
const QString xsiNS = "http://www.w3.org/2001/XMLSchema-instance"; const QString xsiNS = "http://www.w3.org/2001/XMLSchema-instance";
const QString xsiShemaLocation = "\ const QString xsiShemaLocation = "\
http://www.imsglobal.org/xsd/iwb_v1p0 \ http://www.imsglobal.org/xsd/iwb_v1p0 \
......
...@@ -63,6 +63,9 @@ REM echo %LAST_TAG_VERSION% ...@@ -63,6 +63,9 @@ REM echo %LAST_TAG_VERSION%
nmake release-install nmake release-install
IF NOT EXIST build\win32\release\product\Open-Sankore.exe GOTO EXIT_WITH_ERROR IF NOT EXIST build\win32\release\product\Open-Sankore.exe GOTO EXIT_WITH_ERROR
xcopy C:\OpenSankore\lib\*.dll build\win32\release\product\
xcopy %QT_DIR%\lib\QtOpenGL4.dll build\win32\release\product\
set CUSTOMIZATIONS=build\win32\release\product\customizations set CUSTOMIZATIONS=build\win32\release\product\customizations
mkdir %CUSTOMIZATIONS% mkdir %CUSTOMIZATIONS%
xcopy /s resources\customizations %CUSTOMIZATIONS% xcopy /s resources\customizations %CUSTOMIZATIONS%
...@@ -81,7 +84,6 @@ set INSTALLER_PATH=.\install\win32\%INSTALLER_NAME%.exe ...@@ -81,7 +84,6 @@ set INSTALLER_PATH=.\install\win32\%INSTALLER_NAME%.exe
call "%INNO_EXE%" "Sankore 3.1.iss" /F"%INSTALLER_NAME%" call "%INNO_EXE%" "Sankore 3.1.iss" /F"%INSTALLER_NAME%"
set INSTALL_DIRECTORY=install\win32\ set INSTALL_DIRECTORY=install\win32\
xcopy *.pdf %INSTALL_DIRECTORY% xcopy *.pdf %INSTALL_DIRECTORY%
cd %INSTALL_DIRECTORY% cd %INSTALL_DIRECTORY%
call %SEVEN_ZIP_EXE% a Open-Sankor_Windows_%VERSION%.zip *.exe *.pdf call %SEVEN_ZIP_EXE% a Open-Sankor_Windows_%VERSION%.zip *.exe *.pdf
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -10,7 +10,29 @@ var sankoreLang = { ...@@ -10,7 +10,29 @@ var sankoreLang = {
pad: "tablette", pad: "tablette",
none: "aucun", none: "aucun",
help: "Aide", help: "Aide",
help_content: "Ceci est un exemple de contenu de l'aide ..." help_content:"<p><h2>Associer des images</h2></p>"+
"<p><h3>Faire correspondre une image à la consigne indiquée.</h3></p>"+
"<p>L’activité s’effectue par un glisser-déposer de l’image dans la zone délimitée. Si le résultat est incorrect, la zone se colore en rouge. Si le résultat est correct, la zone se colore en vert.</p>"+
"<p>Le bouton “Recharger” réinitialise les exercices.</p>"+
"<p>Le bouton “Modifier” vous permet :</p>"+
"<ul><li>de choisir le thème de l’interactivité : tablette, ardoise ou aucun (par défaut aucun), </li>"+
"<li>de modifier un exercice ou d’en créer de nouveaux dans la même activité.</li></ul>"+
"<p>En mode édition, pour créer un nouvel exercice, cliquez sur “Nouveau bloc” en bas, puis</p>"+
"<ul><li>insérez une consigne en cliquant sur le champ de texte “Saisir la consigne ici ...”, </li>"+
"<li>ajoutez des zones image en cliquant sur le gros signe + en dessous, </li>"+
"<li>insérez des images dans ces zones par glisser-déposer des images à partir de votre bibliothèque, </li>"+
"<li>définissez l’image correcte de l’interactivité en cliquant sur le bouton valider “v” situé en bas à droite de l’image concernée.</li></ul>"+
"<p>Pour supprimer une zone image, cliquez sur la croix située dans le coin supérieur droit de l’image.</p>"+
"<p>Pour changer d’image, cliquez sur l’icône située au milieu à droite de l’image.</p>"+
"<p>Pour supprimer un exercice, cliquez sur la croix à gauche du numéro de l’exercice.</p>"+
"<p>Le bouton “Afficher” vous permet d’utiliser l’activité.</p>"
}; };
//main function //main function
......
...@@ -10,7 +10,30 @@ var sankoreLang = { ...@@ -10,7 +10,30 @@ var sankoreLang = {
pad: "Pad", pad: "Pad",
none: "Aucun", none: "Aucun",
help: "Aide", help: "Aide",
help_content: "Ceci est un exemple de contenu de l'aide ..." help_content: "<p><h2>Associer aux sons</h2></p>"+
"<p><h3>Faire correspondre une image à un son.</h3></p>"+
"<p>L’activité s’effectue par un glisser-déposer de l’image dans la zone délimitée. Si le résultat est incorrect, la zone se colore en rouge. Si le résultat est correct, la zone se colore en vert.</p>"+
"<p>Le bouton “Recharger” réinitialise les exercices.</p>"+
"<p>Le bouton “Modifier” vous permet : </p>"+
"<ul><li>de choisir le thème de l’interactivité : tablette, ardoise ou aucun (par défaut aucun),</li>"+
"<li>de modifier un exercice ou d’en créer de nouveaux dans la même activité.</li></ul>"+
"<p>En mode édition, pour créer un nouvel exercice, cliquez sur “Nouveau bloc” en bas, puis </p>"+
"<ul><li>insérez une consigne en cliquant sur le champ de texte “Saisir votre description ici ...”,"+
"<li>insérez un son dans la zone à gauche de la consigne par glisser-déposer d’un son à partir de votre bibliothèque,</li>"+
"<li>ajoutez des zones image en cliquant sur le gros signe + en dessous,</li>"+
"<li>insérez des images par glisser-déposer des images à partir de votre bibliothèque,</li>"+
"<li>définissez l’image correcte de l’interactivité en cliquant sur le bouton valider “v” situé en bas à droite de l’image concernée.</li></ul>"+
"<p>Pour supprimer une zone image, cliquez sur la croix située dans le coin supérieur droit de l’image.</p>"+
"<p>Pour remplacer un son, glissez-déposez simplement un nouveau son.</p>"+
"<p>Pour supprimer un exercice, cliquez sur la croix à gauche du numéro de l’exercice.</p>"+
"<p>Le bouton “Afficher” vous permet d’utiliser l’activité.</p>"
}; };
//main function //main function
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
xmlns:ub="http://uniboard.mnemis.com/widgets" xmlns:ub="http://uniboard.mnemis.com/widgets"
id="http://www.njin.fr/sankore/apps/balance" id="http://www.njin.fr/sankore/apps/balance"
version="1.0" version="1.0"
width="540" width="800"
height="450" height="600"
ub:resizable="true"> ub:resizable="false">
<name>La Balance</name> <name>La Balance</name>
<author href="http://www.njin.fr" email="contact@njin.fr">njin</author> <author href="http://www.njin.fr" email="contact@njin.fr">njin</author>
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
xmlns:ub="http://uniboard.mnemis.com/widgets" xmlns:ub="http://uniboard.mnemis.com/widgets"
id="http://www.njin.fr/sankore/apps/Cadran opératoire" id="http://www.njin.fr/sankore/apps/Cadran opératoire"
version="1.0" version="1.0"
width="630" width="800"
height="540" height="580"
ub:resizable="true"> ub:resizable="false">
<name>Cadran opératoire</name> <name>Cadran opératoire</name>
<author href="http://www.njin.fr" email="contact@njin.fr">njin</author> <author href="http://www.njin.fr" email="contact@njin.fr">njin</author>
......
...@@ -7,8 +7,28 @@ var sankoreLang = { ...@@ -7,8 +7,28 @@ var sankoreLang = {
slate: "ardoise", slate: "ardoise",
pad: "tablette", pad: "tablette",
none: "aucun", none: "aucun",
help: "aide", help: "Aide",
help_content: "Ceci est un exemple de contenu de l'aide ..." help_content: "<p><h2>Séparer une phrase</h2></p>"+
"<p><h3>Séparer les mots d’une phrase.</h3></p>"+
"<p>Une phrase est écrite sans que les mots ne soient séparés. Le but de cette activité est d’insérer les espaces aux bons endroits. Une fois que les séparations sont placées correctement, la phrase se colore en vert.</p>"+
"<p>Pour ajouter des séparations entre les mots, déplacez le curseur et cliquez entre deux lettres, une séparation s’ajoute alors.</p>"+
"<p>Le bouton “Recharger” réinitialise l’exercice.</p>"+
"<p>Le bouton “Modifier” vous permet :</p>"+
"<ul><li>de choisir le thème de l’interactivité : tablette, ardoise ou aucun (par défaut aucun), </li>"+
"<li>de déterminer la phrase sur laquelle travailler.</li></ul>"+
"<p>Ecrivez simplement une phrase dans la zone de texte.</p>"+
"<p>Le bouton “Afficher” vous permet d’utiliser l’activité.</p>"
}; };
// if use the "view/edit" button or rely on the api instead // if use the "view/edit" button or rely on the api instead
......
This diff is collapsed.
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
This diff is collapsed.
This diff is collapsed.
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
This diff is collapsed.
File mode changed from 100644 to 100755
This diff is collapsed.
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment