Last modified by Thomas Mortagne on 2023/10/13

From version 51.1
edited by Guillaume Delhumeau
on 2015/09/24
Change comment: There is no comment for this version
To version 55.1
edited by Guillaume Delhumeau
on 2015/09/24
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -4,8 +4,12 @@
4 4  
5 5  This is the release notes for [[XWiki Commons>>http://commons.xwiki.org]], [[XWiki Rendering>>http://rendering.xwiki.org]], [[XWiki Platform>>http://platform.xwiki.org]] and [[XWiki Enterprise>>http://enterprise.xwiki.org]]. They share the same release notes as they are released together and have the same version.
6 6  
7 -This release is probably one of the biggest releases we have done in XWiki for years (more than 900 commits)! We have worked hard during all the summer to finally achieve the introduction of a new concept: the **//Nested Pages//**. This big change affects both the platform and the user interface, and you will discover many differences while using XWiki.
7 +This release is probably one of the biggest releases we have done in XWiki for years (more than 900 commits)! We have worked hard during all the summer to finally achieve the introduction of a new concept: **//Nested Pages//**. This big change affects both the platform and the user interface, and you will discover many differences while using XWiki.
8 8  
9 +{{warning}}
10 +As a consequence, we do not recommend using this version in production because we still need to fine-tune the UI to fully adapt it to Nested Pages. This will be done in XWiki 7.3. However, in order to flush out all issues, especially about usability, please try upgrading to this version and play with it to let us know what you like/don't like. There's still time to adjust things. Thanks for your help!
11 +{{/warning}}
12 +
9 9  For developers, this release also introduces a new //Script// right and some changes in the REST, Job and Refactoring modules, just to list a few...
10 10  
11 11  Finally, it also brings a lot of bugs fixes!
... ... @@ -35,7 +35,7 @@
35 35  
36 36  For more information, see [[Content Organization>>platform:Features.ContentOrganization||anchor="HHistory"]].
37 37  
38 -We have worked a lot to minimize the retro-compatibility issues. However, some extensions are not adapted for //Nested Pages// yet, and their execution is still sub-optimal. For the next releases, we plan to work on the adaptation of these extensions.
42 +We have worked a lot to minimize the retro-compatibility issues. However, some Extensions are not adapted for //Nested Pages// yet, and their execution is still sub-optimal. For the next releases, we plan to work on the adaptation of these Extensions.
39 39  
40 40  == Script right ==
41 41  
... ... @@ -321,6 +321,70 @@
321 321  
322 322  As explained previously, these logic is also available in the improved create UI, with the terminal pages option appearing only for advanced users and being checked or unchecked by default, depending on the type of the current page.
323 323  
328 +=== JS API Improvements ===
329 +
330 +* It's now possible to create a Nested Spaces Reference using XWiki's Javascript API. For example:(((
331 +{{code language="javascript"}}
332 +// Construct a Nested Space reference
333 +var reference = new XWiki.SpaceReference('wiki', ['space1', 'space2']);
334 +expect(XWiki.Model.serialize(reference)).toEqual('wiki:space1.space2');
335 +reference = new XWiki.DocumentReference('wiki', ['space1', 'space2'], 'page');
336 +expect(XWiki.Model.serialize(reference)).toEqual('wiki:space1.space2.page');
337 +// Construct a non-Nested Space reference
338 +reference = new XWiki.SpaceReference('wiki', 'space');
339 +expect(XWiki.Model.serialize(reference)).toEqual('wiki:space');
340 +// Try passing non-valid space parameters
341 +expect(function() {new XWiki.SpaceReference('wiki', [])}).toThrow('Missing mandatory space name or invalid type for: []');
342 +expect(function() {new XWiki.SpaceReference('wiki', 12)}).toThrow('Missing mandatory space name or invalid type for: [12]');
343 +{{/code}}
344 +)))
345 +* A new ##XWiki.EntityReference.equals()## method has been added. For example:(((
346 +{{code language="javascript"}}
347 +var reference1 = new XWiki.DocumentReference('wiki', ['space1', 'space2'], 'page');
348 +var reference2 = new XWiki.DocumentReference('wiki', ['space1', 'space2'], 'page');
349 +var reference3 = new XWiki.DocumentReference('wiki2', ['space1', 'space2'], 'page');
350 +expect(reference1.equals(reference2)).toBe(true);
351 +expect(reference1.equals(reference3)).toBe(false);
352 +{{/code}}
353 +)))
354 +* A new ##XWiki.EntityReference.fromJSONObject(obejct)## has been added to create a Javascript ##XWiki.EntityReference## from a Java ##EntityReference## directly serialized as JSON:(((
355 +{{code language="javascript"}}
356 +var reference = XWiki.EntityReference.fromJSONObject(jsonText.evalJSON());
357 +{{/code}}
358 +)))
359 +* A new ##XWiki.EntityReferenceTree## JS class has been added, which partially mimics the Java ##EntityReferenceTree## Class. It's still missing features though as it was introduced mostly to make it easier to manipulate a serialized Java ##EntityReferenceTree##.
360 +
361 +=== Updated Document Tree Macro ===
362 +
363 +The [[Document Tree Macro>>extensions:Extension.Document Tree Macro]] now supports Nested Pages and Nested Spaces modes. Specifically, the following changes have been made:
364 +
365 +* removed the ##showSpaceAsDocument## parameter (was introduced recently in 7.2M1)
366 +* deprecated the ##showChildDocuments## parameter
367 +* added the ##hierarchyMode## parameter with two supported values: ##reference## (default) and ##parentchild##
368 +
369 +As a result, you can use the document tree macro like this:
370 +
371 +* Nested Page Tree(((
372 +{{code language="none"}}
373 +{{documentTree/}}
374 +{{/code}}
375 +)))
376 +* Nested Space + Page Tree(((
377 +{{code language="none"}}
378 +{{documentTree showSpaces="true" /}}
379 +{{/code}}
380 +)))
381 +* Parent-Child Page Tree(((
382 +{{code language="none"}}
383 +{{documentTree hierarchyMode="parentchild" /}}
384 +{{/code}}
385 +)))
386 +* Old Page Index Tree (i.e. Parent-Child mixed with space grouping)(((
387 +{{code language="none"}}
388 +{{documentTree hierarchyMode="parentchild" showSpaces="true" /}}
389 +{{/code}}
390 +)))
391 +
324 324  == New Reference-related APIs ==
325 325  
326 326  Various new API around References has been introduced while adding support for nested spaces.
... ... @@ -402,6 +402,18 @@
402 402  * The component ##RestURLGenerator## has been added. Its role, in the long term, is to generate a REST URL for any kind of EntityReference. It currently handles ##DocumentReference## and ##SpaceReference##.
403 403  * The corresponding script service has been added: ##$services.rest## with the method ##$services.rest.url($entityReference)##.
404 404  
473 +=== Reference Scripting API for Nested Spaces ===
474 +
475 +The Script API for Entity References has been updated with new APIs to support creating Nested Spaces references. For example:
476 +
477 +{{code language="none"}}
478 +{{velocity}}
479 +$services.model.createDocumentReference("wiki", ["space1", "space2"], "page")
480 +$services.model.createDocumentReference("wiki", ["space1", "space2"], "page", "default")
481 +$services.model.createSpaceReference(["space1", "space2"], $services.model.createWikiReference("wiki"))
482 +{{/velocity}}
483 +{{/code}}
484 +
405 405  === Resolve nested spaces in JavaScript ===
406 406  
407 407  {{code language="js"}}
... ... @@ -450,82 +450,6 @@
450 450  * ##checkCurrentAuthor()##: indicate if the current author right should be checked
451 451  * ##checkCurrentUser()##: indicate if the result should be filtered based on current user Right (only implemented by SOLR right now)
452 452  
453 -== JS API Improvements ==
454 -
455 -* It's now possible to create a Nested Spaces Reference using XWiki's Javascript API. For example:(((
456 -{{code language="javascript"}}
457 -// Construct a Nested Space reference
458 -var reference = new XWiki.SpaceReference('wiki', ['space1', 'space2']);
459 -expect(XWiki.Model.serialize(reference)).toEqual('wiki:space1.space2');
460 -reference = new XWiki.DocumentReference('wiki', ['space1', 'space2'], 'page');
461 -expect(XWiki.Model.serialize(reference)).toEqual('wiki:space1.space2.page');
462 -// Construct a non-Nested Space reference
463 -reference = new XWiki.SpaceReference('wiki', 'space');
464 -expect(XWiki.Model.serialize(reference)).toEqual('wiki:space');
465 -// Try passing non-valid space parameters
466 -expect(function() {new XWiki.SpaceReference('wiki', [])}).toThrow('Missing mandatory space name or invalid type for: []');
467 -expect(function() {new XWiki.SpaceReference('wiki', 12)}).toThrow('Missing mandatory space name or invalid type for: [12]');
468 -{{/code}}
469 -)))
470 -* A new ##XWiki.EntityReference.equals()## method has been added. For example:(((
471 -{{code language="javascript"}}
472 -var reference1 = new XWiki.DocumentReference('wiki', ['space1', 'space2'], 'page');
473 -var reference2 = new XWiki.DocumentReference('wiki', ['space1', 'space2'], 'page');
474 -var reference3 = new XWiki.DocumentReference('wiki2', ['space1', 'space2'], 'page');
475 -expect(reference1.equals(reference2)).toBe(true);
476 -expect(reference1.equals(reference3)).toBe(false);
477 -{{/code}}
478 -)))
479 -* A new ##XWiki.EntityReference.fromJSONObject(obejct)## has been added to create a Javascript ##XWiki.EntityReference## from a Java ##EntityReference## directly serialized as JSON:(((
480 -{{code language="javascript"}}
481 -var reference = XWiki.EntityReference.fromJSONObject(jsonText.evalJSON());
482 -{{/code}}
483 -)))
484 -* A new ##XWiki.EntityReferenceTree## JS class has been added, which partially mimics the Java ##EntityReferenceTree## Class. It's still missing features though as it was introduced mostly to make it easier to manipulate a serialized Java ##EntityReferenceTree##.
485 -
486 -== Updated Document Tree Macro ==
487 -
488 -The [[Document Tree Macro>>extensions:Extension.Document Tree Macro]] now supports Nested Pages and Nested Spaces modes. Specifically, the following changes have been made:
489 -
490 -* removed the ##showSpaceAsDocument## parameter (was introduced recently in 7.2M1)
491 -* deprecated the ##showChildDocuments## parameter
492 -* added the ##hierarchyMode## parameter with two supported values: ##reference## (default) and ##parentchild##
493 -
494 -As a result, you can use the document tree macro like this:
495 -
496 -* Nested Page Tree(((
497 -{{code language="none"}}
498 -{{documentTree/}}
499 -{{/code}}
500 -)))
501 -* Nested Space + Page Tree(((
502 -{{code language="none"}}
503 -{{documentTree showSpaces="true" /}}
504 -{{/code}}
505 -)))
506 -* Parent-Child Page Tree(((
507 -{{code language="none"}}
508 -{{documentTree hierarchyMode="parentchild" /}}
509 -{{/code}}
510 -)))
511 -* Old Page Index Tree (i.e. Parent-Child mixed with space grouping)(((
512 -{{code language="none"}}
513 -{{documentTree hierarchyMode="parentchild" showSpaces="true" /}}
514 -{{/code}}
515 -)))
516 -
517 -== Reference Scripting API for Nested Spaces ==
518 -
519 -The Script API for Entity References has been updated with new APIs to support creating Nested Spaces references. For example:
520 -
521 -{{code language="none"}}
522 -{{velocity}}
523 -$services.model.createDocumentReference("wiki", ["space1", "space2"], "page")
524 -$services.model.createDocumentReference("wiki", ["space1", "space2"], "page", "default")
525 -$services.model.createSpaceReference(["space1", "space2"], $services.model.createWikiReference("wiki"))
526 -{{/velocity}}
527 -{{/code}}
528 -
529 529  == XWiki Select Widget ==
530 530  
531 531  A [[new widget has been introduced>>platform:DevGuide.XWikiSelect]], to have a rich select box:
... ... @@ -666,6 +666,22 @@
666 666  
667 667  The following APIs were modified since XWiki 7.1:
668 668  
673 +* AbstractWrappingObject, AbstractSafeObject and ScriptSafeProvider have been moved to xwiki-commons-script:(((
669 669  {{code language="none"}}
670 -<clirr output here>
675 +org.xwiki.extension.wrap.WrappingIterableResult: Removed org.xwiki.extension.internal.safe.AbstractSafeObject from the list of superclasses
676 +org.xwiki.extension.wrap.WrappingIterableResult: Removed org.xwiki.extension.wrap.AbstractWrappingObject from the list of superclasses
677 +org.xwiki.extension.wrap.WrappingIterableResult: Parameter 2 of 'public WrappingIterableResult(org.xwiki.extension.repository.result.IterableResult, org.xwiki.extension.internal.safe.ScriptSafeProvider)' has changed its type to org.xwiki.script.internal.safe.ScriptSafeProvider
671 671  {{/code}}
679 +)))
680 +
681 +* New configuration to change the size of the Job statuses cache:(((
682 +{{code language="none"}}
683 +org.xwiki.job.JobManagerConfiguration: Method 'public int getJobStatusCacheSize()' has been added to an interface
684 +{{/code}}
685 +)))
686 +
687 +* Others:(((
688 +{{code language="none"}}
689 +org.xwiki.tool.xar.XWikiDocument: Class org.xwiki.tool.xar.XWikiDocument removedinterface
690 +{{/code}}
691 +)))

Get Connected