Releases: silverstripe/silverstripe-elemental
4.0.0
4.0.0
A new major version of the SilverStripe Ltd commercially supported silverstripe-elemental content blocks module is now available.
With the new version this module has improved in a number of areas including a new block selector, in-line editing, the ability to save and publish blocks individually, and a rework of drag and drop functionality.
For Developers upgrading from version 3 to 4 see the upgrade guide.
Visit user help to see how to create and edit content with blocks.
New content block selector
Especially important for sites with a large number of block types, there’s a new way to add blocks to pages. Select or search for a block type to quickly add a block and start entering content.
In-line editing
Instead of being navigated away from the page to edit a block, Content Editors can now edit blocks within the page. This is handy because they can reference other pieces of content on the page while they are editing.
Publish blocks individually
Content Editors now have the option to edit and publish individual blocks in isolation from other blocks on the page. So, if one block is ready to publish, you can publish just that block without affecting draft blocks.
Drag and Drop
Block drag and drop functionality has been reworked including additional design updates for ease of use. Content Editors can now reorder content with minimal effort.
Changelog
- Update translations (Guy Marriott) - 33ae464
- FIX Adding some page updates after sorting: (Guy Marriott) - 905fa80
- FIX Add bottom border to empty list container, increase bottom margin and consistent height (Robbie Averill) - 4099510
- DOCS fix user guide link on readme (Christopher Darling) - ebdbe8f
- FIX always build an ElementalArea for all newly extended classes (Dylan Wagstaff) - c70c539
- FIX Ensuring redux knows that the form state is now "pristine" when saving in-line (Guy Marriott) - cb03f95
- FIX Correcting missing property in drag previews (Guy Marriott) - ad79d25
- FIX Correctly reference to GraphQL query result in sort block mutation (Guy Marriott) - c9b7fa1
- API Removing SiteTreeExtension that provides unnecessary ElementalAreaIfExists API (Guy Marriott) - 40e6079
- FIX Allowing ElementActions transformers access to the area ID (Guy Marriott) - 67b55d2
- FIX React element areas should be specific to areas not the page (Guy Marriott) - c318eb9
- FIX Use standalone PropTypes library instead of that bundled with React 15 (Robbie Averill) - 7853141
- FIX being able to swap tabs on inline blocks (Scott Hutchinson) - 18668d3
- FIX Translating displayed text on TextCheckboxGroupField readonly view and making the displayed logic actually work (Guy Marriott) - 4a0f5b8
- API Making the read-only version of TextCheckboxGroupField more readable (Guy Marriott) - e41aa6e
- FIX Correcting dirty detection & form state issues: (Guy Marriott) - e86bad9
- NEW Fixing change tracking and adding an icon to show unsaved changes (Guy Marriott) - b91056b
- Update docblock type for constant and specify "newer" version of reports (Robbie Averill) - 9a08c63
- NEW Element types are now exposed in config (Guy Marriott) - fae8340
- FIX Block types that are in-line editable will link to their containing page for edits (Guy Marriott) - 459ba23
- NEW Updating ElementsInUseReport to use a constant for the string used as a filter key for element types (Guy Marriott) - 5d36bf1
- NEW Using the breadcrumbs API of reports if available (Guy Marriott) - 0efd01d
- FIX Not all form actions are POST (Guy Marriott) - f6b0182
- Add comment to explain why we render a single field sometimes (Robbie Averill) - 84ab525
- FIX TextCheckboxGroupField should passthrough if it has only one child (Guy Marriott) - c1a1c45
- Update travis to still use admin@4.3 for NPM tests in 4.0 branch (Guy Marriott) - 2a9d240
- Check if elementdata exists before looping it (Mikaela Young) - df372cb
- NEW Adding a plus icon to the Add Blocks button (Guy Marriott) - b584fa2
- Update translations (Robbie Averill) - 2ad5a1e
- FIX Update psuedo-namespaces in React translation keys (Robbie Averill) - b8d2d0c
- Remove obsolete branch alias (Robbie Averill) - 1260a05
- FIX Adjusting styles to fix some minor issues: (Guy Marriott) - 01ada61
- FIX Reorder text checkbox group and apply Reactstrap styles (Raissa North) - 1b3014a
- FIX phantom horizontal scrollbar on inline edit forms (Dylan Wagstaff) - 9f1b5a2
- API Removed deprecated HistoryControllerFactoryExtension (Maxime Rainville) - ac8e869
- Update form styles in CMS when editing Elements (Dylan Wagstaff) - 3da7903
- Bumping webpack config requirement (Guy Marriott) - 7b9b116
- FIX Use HOC in admin that provides the drag drop context (Guy Marriott) - 277406f
- Update readme to be clearer about adding custom inline editable components (Dylan Wagstaff) - a15c6d4
- Update readme to reflect new requirements and developer notes (Dylan Wagstaff) - e6096ae
- Updating behat with new classnames (Guy Marriott) - 9ca68d7
- FIX Saving individual blocks now correctly uses CMS fields to populate element data (Guy Marriott) - c557c16
- DOCS Documention form field action controller method (Guy Marriott) - a3a5e62
- FIX Two CMSField fixes: (Guy Marriott) - 4b00e59
- Updating popover with new admin changes & removing redundant styles (Guy Marriott) - 0059dfa
- NEW Refactor add block popover to use new admin component (Guy Marriott) - 2d17052
- FIX Return empty String when formState can't be stringified (Raissa North) - b03026f
- Make the PublishAction aware of Form State (Dylan Wagstaff) - a2da858
- FIX save changes before calling publish mutation (Dylan Wagstaff) - 26b7ed0
- FIX Fixing issues with actions surfaced with Behat (Guy Marriott) - 13627df
- FIX Various updates to DND to work better (Guy Marriott) - dfe2913
- Sorting blocks now uses the SortBlocks mutation (Guy Marriott) - 03421c8
- NEW Adding drag and drop functionality to elemental (Guy Marriott) - 019a0e5
- FIX Update prop type of elementId to number or string (Raissa North) - 7242075
- FIX Bind handleLoadingError in Element constructor (Raissa North) - 699e776
- Rebuild dist files (Robbie Averill) - 18db0f3
- Remove externals modification and update webpack-config to 0.13.0 (Robbie Averill) - 9fe5f05
- FIX Remove redux-form dependency (Raissa North) - f835c95
- FIX update tab loading to use recent admin module changes (Raissa North) - 8bae01b
- FIX update page preview after Actioning on an Element (Dylan Wagstaff) - 54a7ce2
- ENH Add placeholder when no summary content available (Raissa North) - 2cf7d6e
- FIX Layman-ising the loading error message (Guy Marriott) - 9245c96
- NEW Don't render InlineEditForm on loadingError. Make ElementalAreaController inherit from CMSMain (Raissa North) - 3e1c644
- FIX Replace variable with block type when no title exists (Raissa North) - b3aebac
- adjust behat tests now that adding elements action flow is different (Dylan Wagstaff) - a280eca
- NEW Give user better feedback on adding elements (Dylan Wagstaff) - 93f9b31
- Connect mutation to add blocks to relevant UI elements (Dylan Wagstaff) - c87e523
- Add a mutation state component for creating blocks (Dylan Wagstaff) - 8658faf
- fix: if the stop_element_inheritance flag has been set in the config then this should also ignore any disallowed_elements bubbling up like it does for allowed_elements (Ryan O'Hara) - 341a9db
- FIX Increase wait time for ElementList and make minor improvement to FeatureContext (Raissa North) - 474d24f
- Review feedback, Linting failures & tag for behat-extensions update (Guy Marriott) - 9f632d7
- NEW Adding behat tests for various saving actions (Guy Marriott) - a927b8e
- FIX Toast notification for saving individual blocks now uses the correct title (Guy Marriott) - 7d1b539
- FIX Use new API for form names (Guy Marriott) - 606ccab
- NEW All unsaved blocks on a page will now save as the page is saved (Guy Marriott) - d254223
- FIX Behat test should expect an unsaved changes modal (Guy Marriott) - 975e663
- FIX Remove singleton call and check view permissions on recorded object (Raissa North) - e7d7f38
- FIX Updating behat test to expect the new functionality (Guy Marriott) - 01c218c
- FIX FormBuilderLoader now keeps its state across remounts so we can remove it rather than hide (Guy Marriott) - 04995ec
- FIX Render Content component even if no summary is available (Raissa North) - 6e69ef9
- Adding artifact upload to travis (Guy Marriott) - 5cbc6c7
- Adding artifact upload to travis (Guy Marriott) - 8977277
- NEW Create GraphQL mutation to add blocks to an Area (Dylan Wagstaff) - ba787a0
- NEW Connect Element to redux-form state and use activeTab as prop rather than storing it in local state. (Raissa North) - b9898ef
- NEW Expand the block when clicking on tab option (Raissa North) - 1987d5d
- NEW Edit tab click gets passed to InlineEditForm to update redux-form and change tab state (Raissa North) - 0f73fc6
- Adding distribution files (Guy Marriott) - fa769a7
- FIX Using space to toggle expand elements will no longer occur in inputs (Guy Marriott) - c9605b4
- NEW Remove History field (Raissa North) - f04d022
- FIX add-element-hover-bar layout issues in IE (Dylan Wagstaff) - 8cf5f1c
- NEW Treat space key press as mous...
4.0.0-beta1
- Remove obsolete branch alias (Robbie Averill) - 1260a05
- FIX Adjusting styles to fix some minor issues: (Guy Marriott) - 01ada61
- FIX Reorder text checkbox group and apply Reactstrap styles (Raissa North) - 1b3014a
- FIX phantom horizontal scrollbar on inline edit forms (Dylan Wagstaff) - 9f1b5a2
- API Removed deprecated HistoryControllerFactoryExtension (Maxime Rainville) - ac8e869
- Update form styles in CMS when editing Elements (Dylan Wagstaff) - 3da7903
- Bumping webpack config requirement (Guy Marriott) - 7b9b116
- FIX Use HOC in admin that provides the drag drop context (Guy Marriott) - 277406f
- Update readme to be clearer about adding custom inline editable components (Dylan Wagstaff) - a15c6d4
- Update readme to reflect new requirements and developer notes (Dylan Wagstaff) - e6096ae
- Updating behat with new classnames (Guy Marriott) - 9ca68d7
- FIX Saving individual blocks now correctly uses CMS fields to populate element data (Guy Marriott) - c557c16
- DOCS Documention form field action controller method (Guy Marriott) - a3a5e62
- FIX Two CMSField fixes: (Guy Marriott) - 4b00e59
- Updating popover with new admin changes & removing redundant styles (Guy Marriott) - 0059dfa
- NEW Refactor add block popover to use new admin component (Guy Marriott) - 2d17052
- FIX Return empty String when formState can't be stringified (Raissa North) - b03026f
- Make the PublishAction aware of Form State (Dylan Wagstaff) - a2da858
- FIX save changes before calling publish mutation (Dylan Wagstaff) - 26b7ed0
- FIX Fixing issues with actions surfaced with Behat (Guy Marriott) - 13627df
- FIX Various updates to DND to work better (Guy Marriott) - dfe2913
- Sorting blocks now uses the SortBlocks mutation (Guy Marriott) - 03421c8
- NEW Adding drag and drop functionality to elemental (Guy Marriott) - 019a0e5
- FIX Update prop type of elementId to number or string (Raissa North) - 7242075
- FIX Bind handleLoadingError in Element constructor (Raissa North) - 699e776
- Rebuild dist files (Robbie Averill) - 18db0f3
- Remove externals modification and update webpack-config to 0.13.0 (Robbie Averill) - 9fe5f05
- FIX Remove redux-form dependency (Raissa North) - f835c95
- FIX update tab loading to use recent admin module changes (Raissa North) - 8bae01b
- FIX update page preview after Actioning on an Element (Dylan Wagstaff) - 54a7ce2
- ENH Add placeholder when no summary content available (Raissa North) - 2cf7d6e
- FIX Layman-ising the loading error message (Guy Marriott) - 9245c96
- NEW Don't render InlineEditForm on loadingError. Make ElementalAreaController inherit from CMSMain (Raissa North) - 3e1c644
- FIX Replace variable with block type when no title exists (Raissa North) - b3aebac
- adjust behat tests now that adding elements action flow is different (Dylan Wagstaff) - a280eca
- NEW Give user better feedback on adding elements (Dylan Wagstaff) - 93f9b31
- Connect mutation to add blocks to relevant UI elements (Dylan Wagstaff) - c87e523
- Add a mutation state component for creating blocks (Dylan Wagstaff) - 8658faf
- fix: if the stop_element_inheritance flag has been set in the config then this should also ignore any disallowed_elements bubbling up like it does for allowed_elements (Ryan O'Hara) - 341a9db
- FIX Increase wait time for ElementList and make minor improvement to FeatureContext (Raissa North) - 474d24f
- Review feedback, Linting failures & tag for behat-extensions update (Guy Marriott) - 9f632d7
- NEW Adding behat tests for various saving actions (Guy Marriott) - a927b8e
- FIX Toast notification for saving individual blocks now uses the correct title (Guy Marriott) - 7d1b539
- FIX Use new API for form names (Guy Marriott) - 606ccab
- NEW All unsaved blocks on a page will now save as the page is saved (Guy Marriott) - d254223
- FIX Behat test should expect an unsaved changes modal (Guy Marriott) - 975e663
- FIX Remove singleton call and check view permissions on recorded object (Raissa North) - e7d7f38
- FIX Updating behat test to expect the new functionality (Guy Marriott) - 01c218c
- FIX FormBuilderLoader now keeps its state across remounts so we can remove it rather than hide (Guy Marriott) - 04995ec
- FIX Render Content component even if no summary is available (Raissa North) - 6e69ef9
- Adding artifact upload to travis (Guy Marriott) - 5cbc6c7
- Adding artifact upload to travis (Guy Marriott) - 8977277
- NEW Create GraphQL mutation to add blocks to an Area (Dylan Wagstaff) - ba787a0
- NEW Connect Element to redux-form state and use activeTab as prop rather than storing it in local state. (Raissa North) - b9898ef
- NEW Expand the block when clicking on tab option (Raissa North) - 1987d5d
- NEW Edit tab click gets passed to InlineEditForm to update redux-form and change tab state (Raissa North) - 0f73fc6
- Adding distribution files (Guy Marriott) - fa769a7
- FIX Using space to toggle expand elements will no longer occur in inputs (Guy Marriott) - c9605b4
- NEW Remove History field (Raissa North) - f04d022
- FIX add-element-hover-bar layout issues in IE (Dylan Wagstaff) - 8cf5f1c
- NEW Treat space key press as mouse click (Raissa North) - 06982f7
- NEW Allow adding blocks inline via HoverBar by utilising AddElementPopover (Raissa North) - 7fe13ac
- FIX Adjust height of buttons in AddElementPopover (Raissa North) - 189a8ea
- NEW Add notification on save action (Raissa North) - e12f67c
- FIX Change toast message for unsuccessful publishing of block (Raissa North) - 5cd0358
- FIX Add doc blocks to AddElementPopover (Raissa North) - 06e7743
- FIX Update Behat tests as action menu closes once items clicked (Raissa North) - d937538
- Refetch observable GraphQL queries after saving inline form data (Robbie Averill) - 5f1d92d
- FIX Implement CSRF protection in inline editing form requests (Robbie Averill) - e2648ac
- FIX Clicking dropdown actions now closes the actions menu. Move click bubbling logic to Element (Robbie Averill) - ed6891a
- FIX Save action now works with namespaced fields (Robbie Averill) - ba0fd39
- NEW Add save action to element inline edit forms (Robbie Averill) - b639f68
- NEW Refactor AddElementWidget. Add search feature. (Raissa North) - 39f53c8
- FIX Add types for parameters (Raissa North) - ba1f7d9
- NEW Modify add new block button and integrate AddElementPopoverContent (Raissa North) - 4bce417
- NEW Add toast messages when publishing and unpublishing blocks (Raissa North) - e4fb068
- NEW Show message if element list is empty (Raissa North) - 32e932e
- FIX Removing add block section from the middle of the list (Raissa North) - c1cfc25
- NEW Add flag to hide the nav tabs in the editable form (Raissa North) - 7b544e8
- Add table name to SQL queries, some documentation and some minor tidy ups (Robbie Averill) - 7dfbfcc
- Rename WrappedComponent to MenuComponent and separate out the child props (Robbie Averill) - b5c03f2
- Use AbstractAction to render CMS tabs for elements as well (Robbie Averill) - a3de5ab
- Add tests for action HOCs (Robbie Averill) - 6706727
- Consolidate logic for rendering abstract element action buttons (Robbie Averill) - deeb9bf
- API Move elemental editor actions menu items into their own HOCs (Robbie Averill) - 75fd2cd
- NEW Adding tests for new GraphQL mutation creator (Guy Marriott) - ea66a55
- Remove trailing semicolon (Robbie Averill) - f20f5fe
- NEW Adding optimistic cache updates to sort query (Guy Marriott) - 4e1267c
- NEW Add custom mutation to allow changing the sort position of individual elements (Raissa North) - c48de2e
- FIX Behat assertions look up the content field by its label (Robbie Averill) - 875a051
- FIX Add namespaces to inline edit form field names (Robbie Averill) - 93f70a5
- Use assertTrue over assert, fix PHPDoc and use "When" over "Given" in sub-steps (Robbie Averill) - 1810eaf
- FIX Re-enable Behat tests by adding to FeatureContext (Raissa North) - 2b9863e
- Wait after confirming dialog to archive block, and comment out broken test (Robbie Averill) - 5f1ad01
- PHPCS violation: remove empty line at end of file (Robbie Averill) - 200210d
- API Move form factory handling into EditFormFactory (Robbie Averill) - 2cdff98
- FIX Reduce default height of content WYSIWYG editors (Robbie Averill) - 8c2c542
- FIX Remove divider lines in inline edit forms (Robbie Averill) - 832cdde
- API Rename FormBuilder to InlineEditForm to remove ambiguity, use Config to get schema endpoint (Robbie Averill) - 52331a8
- Remove HTMLEditorField schema component definition, done in core now (Robbie Averill) - bc7cba5
- Nest --collapsed modifier definition (Robbie Averill) - d0d4a57
- Destructure props in componentWillReceiveProps and remove unused return value (Robbie Averill) - 56c6343
- Allow React to automatically merge state updates (Robbie Averill) - d8dad4b
- Remove schema component definition, it defaults to HistoryViewer already (Robbie Averill) - 9bb5ec2
- FIX Regex for "I click on block n again" works (Robbie Averill) - 82e13db
- Add behat tests for recent inline editing feature (Raissa North) - bf829fb
- Add ability to load Element's edit form inline (Dylan Wagstaff) - 720674a
- Combine version-state styles into main element-editor-header definition (Robbie Averill) - 9f2431e
- Add 3px left margin to expand icon, remove obsolete dropdown-item::before style (Robbie Averill) - 5759b40
- FIX Updating styling to more accurately match given designs (Guy Marriott) - 86717b4
- Use getCache() method over protected property (Robbie Averill) - 469a7e1
- Move cache config into its own file and quote injector service definition (Robbie Averill) - d54b32d
- NEW Show CMS field (top-level) tabs in more actions dropdown (Guy Marriott) - ba53b3a
- Restore BEM conventions to versioned indicator, removing specificity nesting (Robbie Averill) - 90ddb5c
- Move versioned state to element level, update legacy state icon styles, make Behat look wait for elements to be...
3.1.0
- API Deprecate HistoryControllerFactoryExtension (Maxime Rainville) - 4802885
- FIX Handle cases when trying to lookup TestOnly classes that fail because they have no table (Robbie Averill) - f8f96be
- FIX Do not write during an elemental owners getCMSFields operation (Robbie Averill) - 8d4937d
- MINOR Upgrade Bootstrap to 4.1.2 (Robbie Averill) - 5a90787
- Remove scalar type hint (Robbie Averill) - adc4bbf
- Add test for cached elements, use cache setters and fix return in doc block (Robbie Averill) - 928c313
- Add several methods to support writeable local cache (Aaron Carlino) - 27d6b12
- Query generation corrected. (Mojmir Fendek) - 3727e15
- Performance improvements. (Robbie Averill) - b75da64
- API Bump minimum SilverStripe version to 4.3 and implement multi-schema GraphQL support (Robbie Averill) - d2dc63f
- FIx issue with getting sort of BaseElement. (Will Rossiter) - 6b4a9c9
- NEW Add First, Last, Pos, EvenOdd, TotalItem helpers. (Will Rossiter) - ed49d4f
- Fix Sort value not picking up correct number for new records (Will Rossiter) - aa1283c
- Update branch alias for 3.1.x-dev (Robbie Averill) - 29173fa
- Update recipe versions in Travis matrix (Robbie Averill) - d02a5d3
- Update branch alias for 3.x-dev (Robbie Averill) - 415e915
3.0.1
- fix: if the stop_element_inheritance flag has been set in the config then this should also ignore any disallowed_elements bubbling up like it does for allowed_elements (Ryan O'Hara) - 5d1e04f
- Rename CssStyle to StyleVariant (aNickzz) - 896a197
- Revert and one line statement (eehondas) - 4294017
- Check object exists before pushing History Tab to BaseElement (eehondas) - ad330f0
- FIX Revert Versioned call back to returning a DataList which is then filtered (Robbie Averill) - 7c1c3c7
- FIX Ensure Versioned query has table name prefix so it will work with modules like fluent (Robbie Averill) - 7583b4c
- Add internal private caching of repeatedly called relationship calls (Robbie Averill) - 2b9e660
- FIX Use cachable call to get page version from draft stage (Robbie Averill) - a5170dd
- fix(ElementalPageExtension): Update getElementsForSearch() so that it switches to the frontend theme. (Jake B) - eb6b661
- Fix infinite loop on write (Lauren Hodgson) - 53ebd15
- FIX Use LatestDraftVersion in GraphQL query to determine latest draft version (Robbie Averill) - 6c2b01a
3.0.0
3.0.0
3.0.0-rc2
3.0.0-rc1
- Switch TestElement to a member based permission test (Robbie Averill) - 66b55b1
- FIX Check canView() permissions before assigning controllers to BaseElements (Raissa North) - b906376
- Add tests for getOwnerPage() method of ElementalArea (Raissa North) - ace6269
- FIX CMS search now takes frontend themes into account instead of crashing (Robbie Averill) - e65fac5
- FIX Fix block division by applying margins regardless of screen width (Raissa North) - d777439
- FIX Longer block content summaries in elemental editor now do not break under icon (Robbie Averill) - 41f17cd
- Add supported module badge to readme (Dylan Wagstaff) - a319ba4
- List known blocks in README (Ingo Schommer) - 66eedd8
- DOCS Delete changelog file (Robbie Averill) - 5adba43
2.1.2
2.1.1
3.0.0-beta3
- Move element type report unit tests to behat test (Robbie Averill) - 5c72f0a
- Mark report functional tests as skipped, to replace with behat (Robbie Averill) - bb1a0ec
- FIX Define test stub extensions in $required_extensions over directly (Robbie Averill) - 410b7f3
- FIX push element history revert button to bottom of page (Dylan Wagstaff) - 1140626
- [ci skip] DOCS Rename docs folder to _images and update links as required (Sacha Judd) - 97df06e
- FIX Error loading history view with Banner Block, now passes form to child form fields (Robbie Averill) - 577e62e