• Activity flow

      This page should only be used if script asks you to manually migrate skin.20210917.WORKSPACES.activitystream

      In the activity flow, the sax for added members has been modified to include the type (user or group) and identifier (login#population) of the member.

      XML for adding members in 2.1.x and below

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

      XML for adding members from 2.2.x onwards

      <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>

      If you have overloaded the "as-project-member" template, you must replace it with an example:

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

      by

      <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>
    • Task service (simple)

      This page should only be used if script asks you to manually migrate skin.20211006.WORKSPACES.taskslist

      The XML returned by the service has changed:

      The priority attribute no longer exists

      The status attribute no longer exists. The service only processes unfinished tasks.

      The title attribute is transformed into a label.

      The format of the people assigned(attachments) to the task has changed.

      The projectCategory attribute has been added.

      All spot attributes are now added.


      Before :

      <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>

      After :

      <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 for user avatars

      URL for user avatars

      This migration is automatically applied by script .

      url , which serves the avatar of a given user, has been moved from plugin workspaces to plugin user-directory

      Search and replace in all your XSLs or JS:

      _plugins/workspaces/user

      by

      _plugins/user-directory/user

      AND

      _plugins/workspaces/current-user

      by

      _plugins/user-directory/current-user
Back to top