<commit_before># Dev version ()

## Todo/Features development

* ~~Duplication of Blocks in BlockAdmin~~
* Re-add: Sorting primarily by Area (in order of declaration in config), on Pages (removed in favor of dr'ndr sorting)
* ~~Allow deletion of blocks from BlockAdmin~~
* ~~Replacing Title as standard field with Name, as Title will often be used for actual content~~
* ~~Name can function as a description for finding/selecting the block later~~
* ~~Block->Area (->BlockArea) managed on many_many_extraFields (on relations Page)~~
* Block->Area (->BlockArea) managed on many_many_extraFields (on relations SiteConfig, Blocksets)
* ~~Block->Weight (->Sort) managed on many_many_extraFields (on relations Page)~~
* Block->Weight (->Sort) managed on many_many_extraFields (on relations SiteConfig, Blocksets)
* Ability to specify Above or Below on global/blockset blocks many_many_extraFields to determine where they should sit with the page specific blocks.
* ~~Allow Sorting by drag & drop on a page (may interfere with primarily sorting by Area)~~
* TODO: combine merges with Sort from OrderableRows in BlocksSiteTreeExtension::getBlockList()
* Add icon/pic to base Block as method of recognition when dealing with lots of different blocks
* ~~Show 'used on pages' in BlockAdmin~~
* ~~Allow editing of related pages from Block (requires gridfieldsitetreebuttons)~~
* ~~Remove editablecolumns from BlockAdmin (no use, cannot be saved)~~
* Forms (userforms/flexiforms) integration or at least some documentation/samples
* Versioning (basic), maybe via betterbuttons (instead of versionedgridfield)
* ~~Make block Blocksets & global blocks functionality & interfaces optional via config~~
* TODO: check sets & blocks optional functionality on page-output if old relations are still in place

## Requirements

* SilverStripe CMS 3.1
* [GridFieldExtensions](https://github.com/silverstripe-australia/silverstripe-gridfieldextensions)
* [MultivalueField](https://github.com/nyeholt/silverstripe-multivaluefield)

### New requirements

### Recommended
* [GridField Copybutton](https://github.com/unisolutions/silverstripe-copybutton) (duplication of blocks, from BlockAdmin)
* [GridField BetterButtons](https://github.com/unclecheese/silverstripe-gridfield-betterbuttons) (user friendly buttons & simple versioning (todo))
* [GridField SitetreeButtons](https://github.com/micschk/silverstripe-gridfieldsitetreebuttons) (edit related pages directly from block)


## Installation

#### Composer

	composer require sheadawson/silverstripe-blocks
	
Install via composer, run dev/build
<commit_msg>ADDING GH checklist markdown(?)<commit_after># Dev version ()

## Todo/Features development

- [x] Duplication of Blocks in BlockAdmin
- [ ] Re-add: Sorting primarily by Area (in order of declaration in config), on Pages (removed in favor of dr'ndr sorting)
- [x] Allow deletion of blocks from BlockAdmin
- [x] Replacing Title as standard field with Name, as Title will often be used for actual content
- [x] Name can function as a description for finding/selecting the block later
- [x] Block->Area (->BlockArea) managed on many_many_extraFields (on relations Page)
- [ ] Block->Area (->BlockArea) managed on many_many_extraFields (on relations SiteConfig, Blocksets)
- [x] Block->Weight (->Sort) managed on many_many_extraFields (on relations Page)
- [ ] Block->Weight (->Sort) managed on many_many_extraFields (on relations SiteConfig, Blocksets)
- [ ] Ability to specify Above or Below on global/blockset blocks many_many_extraFields to determine where they should sit with the page specific blocks.
- [x] Allow Sorting by drag & drop on a page (may interfere with primarily sorting by Area)
- [ ] TODO: combine merges with Sort from OrderableRows in BlocksSiteTreeExtension::getBlockList()
- [ ] Add icon/pic to base Block as method of recognition when dealing with lots of different blocks
- [x] Show 'used on pages' in BlockAdmin
- [x] Allow editing of related pages from Block (requires gridfieldsitetreebuttons)
- [x] Remove editablecolumns from BlockAdmin (no use, cannot be saved)
- [ ] Forms (userforms/flexiforms) integration or at least some documentation/samples
- [ ] Versioning (basic), maybe via betterbuttons (instead of versionedgridfield)
- [x] Make block Blocksets & global blocks functionality & interfaces optional via config
- [ ] TODO: check sets & blocks optional functionality on page-output if old relations are still in place

## Requirements

* SilverStripe CMS 3.1
* [GridFieldExtensions](https://github.com/silverstripe-australia/silverstripe-gridfieldextensions)
* [MultivalueField](https://github.com/nyeholt/silverstripe-multivaluefield)

### New requirements

### Recommended
* [GridField Copybutton](https://github.com/unisolutions/silverstripe-copybutton) (duplication of blocks, from BlockAdmin)
* [GridField BetterButtons](https://github.com/unclecheese/silverstripe-gridfield-betterbuttons) (user friendly buttons & simple versioning (todo))
* [GridField SitetreeButtons](https://github.com/micschk/silverstripe-gridfieldsitetreebuttons) (edit related pages directly from block)


## Installation

#### Composer

	composer require sheadawson/silverstripe-blocks
	
Install via composer, run dev/build

{'fraction_non_alphanumeric': 0.09196940726577438, 'fraction_numerical': 0.0007648183556405354, 'mean_word_length': 5.629911280101394, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 19, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4750148', 'n_tokens_mistral': 1453, 'n_tokens_neox': 1441, 'n_words': 544}