• Flux d'activité

      Cette page ne doit être appliquée que si le script vous demande de passer la migration manuelle skin.20210917.WORKSPACES.activitystream

      Dans le flux d'activité, le sax des membres ajoutés a été modifié pour y inclure le type (user ou group) et l'identifiant (login#population) du membre.

      XML pour l'ajout de membre en 2.1.x et inférieur

      <members>
         <members>Pauline Martin</members>
         <members>Jean Talu</members>
      </members>

      XML pour l'ajout de membre à partir de 2.2.x

      <members>
         <members>
           <identity>pmartin#ametys_demo_users</identity>
           <name>Paul Martin</name>
           <type>user</type></members>
         <members>
           <identity>jtalu#ametys_demo_users</identity>
           <name>Jean Talu</name>
           <type>user</type>
         </members>
      </members>

      Si vous avez surchargez le template "as-project-member" vous devez donc remplacé par exemple:

      <xsl:for-each select="members/members">
         <xsl:if test="position() != 1"><xsl:text>, </xsl:text> </xsl:if>
         <xsl:value-of select="." />
      </xsl:for-each>

      par

      <xsl:for-each select="members/members">
         <xsl:if test="position() != 1"><xsl:text>, </xsl:text></xsl:if>
       <xsl:value-of select="name"/>
      </xsl:for-each>
    • Service de tâches (simple)

      Cette page ne doit être appliquée que si le script vous demande de passer la migration manuelle skin.20211006.WORKSPACES.taskslist

      Le XML renvoyé par le service a changé :

      L'attribut priority n'existe plus

      L'attribut status n'existe plus. Le service traite seulement les tâches non terminées.

      L'attribut title se transforme en label.

      Le format des gens assignés (attachments) à la tâche a changé.

      L'attribut projectCategory a été ajouté.

      Tous les attributs d'une taches sont maintenant ajoutés.


      Avant :

      <tasks>
          <task id="task://44aa94a0-6ddc-414f-8540-a3f7df015bd6" pageid="page://a128d3ce-4af3-4094-a7e1-df50898710be">
              <project>Titi</project>
              <title>Titre</title>
              <priority name="important">Important</priority>
              <status name="closed">Fermé</status>
              <assignments>
                  <user login="loic" population="population">
                      <lastname>Bouchard</lastname>
                      <firstname>Gerard</firstname>
                      <email>loic.bouchet@ametys.org</email>
                      <fullname>Gerard Bouchard</fullname>
                      <sortablename>Bouchard Gerard</sortablename>
                      <populationLabel>Population</populationLabel>
                  </user>
                  <user login="laurence" population="population">
                      <lastname>Aumeunier</lastname>
                      <firstname>Laurence</firstname>
                      <email>laurence.aumeunier@anyware-services.com</email>
                      <fullname>Laurence Aumeunier</fullname>
                      <sortablename>Aumeunier Laurence</sortablename>
                      <populationLabel>Population</populationLabel>
                  </user>
                  <user login="laure" population="population">
                      <lastname>Lopez</lastname>
                      <firstname>Laure</firstname>
                      <email>laure.lopez@anyware-services.com</email>
                      <fullname>Laure Lopez</fullname>
                      <sortablename>Lopez Laure</sortablename>
                      <populationLabel>Population</populationLabel>
                  </user>
              </assignments>
          </task>
      </tasks>

      Après :

      <tasks>
          <task id="task://44aa94a0-6ddc-414f-8540-a3f7df015bd6" pageid="page://a128d3ce-4af3-4094-a7e1-df50898710be">
              <project>Titi</project>
              <projectCategory id="project-category://e08e7608-a067-4578-a4e0-69ec72306cd3" name="OFFRE_DE_FORMATION" color="#669933">Offre de formation</projectCategory>
              <tasksListId dataPath="tasksListId" fullDataPath="tasksListId" modelPath="tasksListId" fullModelPath="tasksListId" typeid="string" multiple="false">tasks-list://c7e4f5e4-549f-404d-b782-2bca99b64fc7</tasksListId>
              <tasksListPosition dataPath="tasksListPosition" fullDataPath="tasksListPosition" modelPath="tasksListPosition" fullModelPath="tasksListPosition" typeid="long" multiple="false">0</tasksListPosition>
              <label dataPath="label" fullDataPath="label" modelPath="label" fullModelPath="label" typeid="string" multiple="false">Titre</label>
              <description dataPath="description" fullDataPath="description" modelPath="description" fullModelPath="description" typeid="string" multiple="false">Description</description>
              <startDate dataPath="startDate" fullDataPath="startDate" modelPath="startDate" fullModelPath="startDate" typeid="date" multiple="false"></startDate>
              <dueDate dataPath="dueDate" fullDataPath="dueDate" modelPath="dueDate" fullModelPath="dueDate" typeid="date" multiple="false" date-value="2021-10-08">2021-10-08T00:00:00.000+02:00</dueDate>
              <isClosed dataPath="isClosed" fullDataPath="isClosed" modelPath="isClosed" fullModelPath="isClosed" typeid="boolean" multiple="false">false</isClosed>
              <closeAuthor dataPath="closeAuthor" fullDataPath="closeAuthor" modelPath="closeAuthor" fullModelPath="closeAuthor" typeid="user" multiple="false"></closeAuthor>
              <closeDate dataPath="closeDate" fullDataPath="closeDate" modelPath="closeDate" fullModelPath="closeDate" typeid="date" multiple="false"></closeDate>
              <author dataPath="author" fullDataPath="author" modelPath="author" fullModelPath="author" typeid="user" multiple="false" login="loic" populationid="population" email="loic.bouchet@ametys.org">Gerard Bouchard</author>
              <assignments dataPath="assignments" fullDataPath="assignments" modelPath="assignments" fullModelPath="assignments" typeid="user" multiple="true" login="loic" populationid="population" email="loic.bouchet@ametys.org">Gerard Bouchard</assignments>
              <assignments dataPath="assignments" fullDataPath="assignments" modelPath="assignments" fullModelPath="assignments" typeid="user" multiple="true" login="laurence" populationid="population" email="laurence.aumeunier@anyware-services.com">Laurence Aumeunier</assignments>
              <assignments dataPath="assignments" fullDataPath="assignments" modelPath="assignments" fullModelPath="assignments" typeid="user" multiple="true" login="laure" populationid="population" email="laure.lopez@anyware-services.com">Laure Lopez</assignments>
              <creationDate dataPath="creationDate" fullDataPath="creationDate" modelPath="creationDate" fullModelPath="creationDate" typeid="datetime" multiple="false">2021-07-08T14:09:11.446Z</creationDate>
              <lastModified dataPath="lastModified" fullDataPath="lastModified" modelPath="lastModified" fullModelPath="lastModified" typeid="datetime" multiple="false">2021-10-05T11:15:19.718Z</lastModified>
              <attachments dataPath="attachments" fullDataPath="attachments" modelPath="attachments" fullModelPath="attachments" typeid="file" multiple="true" mime-type="image/jpeg" lastmodified="2021-07-08T14:09:18.201Z" filename="wallpaper.jpg" type="metadata" size="567006" path="attachments" uri="attachments"></attachments>
              <checkList dataPath="checkList" fullDataPath="checkList" modelPath="checkList" fullModelPath="checkList" entrycount="3">
                      <entry dataPath="checkList[1]" fullDataPath="checkList[1]" name="1">
                              <label dataPath="checkList[1]/label" fullDataPath="checkList[1]/label" modelPath="checkList/label" fullModelPath="checkList/label" typeid="string" multiple="false">Item 1</label>
                              <ischecked dataPath="checkList[1]/isChecked" fullDataPath="checkList[1]/isChecked" modelPath="checkList/isChecked" fullModelPath="checkList/isChecked" typeid="boolean" multiple="false">false</ischecked>
                      </entry>
                      <entry dataPath="checkList[2]" fullDataPath="checkList[2]" name="2">
                              <label dataPath="checkList[2]/label" fullDataPath="checkList[2]/label" modelPath="checkList/label" fullModelPath="checkList/label" typeid="string" multiple="false">Item 2</label>
                              <ischecked dataPath="checkList[2]/isChecked" fullDataPath="checkList[2]/isChecked" modelPath="checkList/isChecked" fullModelPath="checkList/isChecked" typeid="boolean" multiple="false">false</ischecked>
                      </entry>
                      <entry dataPath="checkList[3]" fullDataPath="checkList[3]" name="3">
                              <label dataPath="checkList[3]/label" fullDataPath="checkList[3]/label" modelPath="checkList/label" fullModelPath="checkList/label" typeid="string" multiple="false">Item 3</label>
                              <ischecked dataPath="checkList[3]/isChecked" fullDataPath="checkList[3]/isChecked" modelPath="checkList/isChecked" fullModelPath="checkList/isChecked" typeid="boolean" multiple="false">true</ischecked>
                      </entry>
              </checkList>
          </task>
      </tasks>
    • URL pour les avatars des utilisateurs

      URL pour les avatars des utilisateurs

      Cette migration est automatiquement appliquée par le script d'aide à la migration

      L'url permettant de servir l'avatar d'un utilisateur donné a été déplacé du plugin workspaces au plugin user-directory

      Recherchez et remplacez dans toutes vos XSLs ou JS:

      _plugins/workspaces/user

      par

      _plugins/user-directory/user

      ET

      _plugins/workspaces/current-user

      par

      _plugins/user-directory/current-user
Retour en haut