Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: EntityEditor class #1127

Merged
merged 9 commits into from
Jul 24, 2023
Merged

Conversation

dbouwman
Copy link
Member

@dbouwman dbouwman commented Jul 19, 2023

  1. Description:

  2. Instructions for testing:

  • run tests
  • pull opendata-ui branch ADD BRANCH
  • build and copy output into
    • ~/projects/opendata-ui/packages/hub-components/node_modules/@esri/hub-common
    • ~/projects/opendata-ui/node_modules/@esri/hub-common
  • start harness app yarn hc start
  • use project workspace harness to verify editing
  1. Closes Issues: 7183

  2. Updated meaningful TSDoc to methods including Parameters and Returns, see Documentation Guide

  3. used semantic commit messages

  4. PR title follows semantic commit format (CRITICAL if the title is not in a semantic format, the release automation will not run!)

  5. updated peerDependencies as needed. CRITICAL our automated release system can not be counted on to update peerDependencies so we must do it manually in our PRs when needed. See the updating peerDependencies section of the release instructions for more details.

@dbouwman dbouwman force-pushed the f/7183-hub-classes-support-entity-editor branch from 2333b20 to dce2ddb Compare July 20, 2023 15:20
Copy link
Contributor

@juliannemarik juliannemarik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is all looking really good to me! Left some minor comments. I think getting this logic hoisted over will be extremely helpful as teams start scaffolding their settings panes to include entity-specific editing experiences as well

const queryParams = context.isAuthenticated
? `?token=${context.session.token}`
: "";
// TODO: Decide if the url should be passed in or plucked out of this deep path here
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a good question, and generally speaking, I feel like it would be nice to make this util more generic/less featured-image-specific. I just ran into needing similar functionality with Aaron who's trying to hook up editing an item's thumbnail. The differences there are:

  1. the url lives at entity.thumbnailUrl
  2. entity.thumbnailUrl already has the token appended to it

So not entirely sure how to make this generic to work in both cases, but you could do something like:

getImageUrl (
  url: string,
  context?: IArcGISContext // make this optional if you want to append the token
) {
  const queryParams = context?.isAuthenticated
      ? `?token=${context.session.token}`
      : "";

  return cacheBustUrl(`${url}${queryParams}`);
}

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree - I'll make an issue to try to resolve this - I don't want to add additional concerns / refactors to this PR

packages/common/src/core/types/IHubProject.ts Outdated Show resolved Hide resolved
* that it can be consumed by the entity editor.
*/
export type IHubProjectEditor = Omit<IHubProject, "extent"> & {
extent: IExtent | number[][];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think extent needs to be here anymore?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remove it, and verified in the harness...

packages/common/src/projects/HubProject.ts Outdated Show resolved Hide resolved
* @param context
* @returns
*/
export async function getProjectEditorConfigOptions(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to what we just did with creating a base IHubItemEntitySchema that all entities can spread, I think it might be nice to create a baseItemEntityConfigOptions array that all item entities can spread because I don't think any of this is necessarily project-specific.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's revisit this on a subsequent PR / issue

@dbouwman dbouwman force-pushed the f/7183-hub-classes-support-entity-editor branch from c286cf7 to e24f1c6 Compare July 24, 2023 17:13
@codecov
Copy link

codecov bot commented Jul 24, 2023

Codecov Report

Merging #1127 (e24f1c6) into master (3c7ab72) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##            master     #1127    +/-   ##
==========================================
  Coverage   100.00%   100.00%            
==========================================
  Files          692       702    +10     
  Lines        11971     12130   +159     
  Branches      2013      2047    +34     
==========================================
+ Hits         11971     12130   +159     
Impacted Files Coverage Δ
packages/common/src/core/index.ts 100.00% <ø> (ø)
packages/common/src/core/schemas/types.ts 100.00% <ø> (ø)
packages/common/src/core/types/IHubProject.ts 100.00% <ø> (ø)
...mon/src/projects/_internal/ProjectBusinessRules.ts 100.00% <ø> (ø)
...on/src/projects/_internal/ProjectUiSchemaCreate.ts 100.00% <ø> (ø)
packages/common/src/core/EntityEditor.ts 100.00% <100.00%> (ø)
packages/common/src/core/HubItemEntity.ts 100.00% <100.00%> (ø)
.../common/src/core/schemas/getEntityEditorSchemas.ts 100.00% <100.00%> (ø)
...mmon/src/core/schemas/internal/getCategoryItems.ts 100.00% <100.00%> (ø)
...ore/schemas/internal/getFeaturedContentCatalogs.ts 100.00% <100.00%> (ø)
... and 12 more

@dbouwman
Copy link
Member Author

Copy link
Contributor

@juliannemarik juliannemarik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome! Looking forward to using this

@dbouwman dbouwman merged commit 3f3beac into master Jul 24, 2023
6 checks passed
@dbouwman dbouwman deleted the f/7183-hub-classes-support-entity-editor branch July 24, 2023 18:26
github-actions bot pushed a commit that referenced this pull request Jul 24, 2023
# @esri/hub-common [13.23.0](https://github.com/Esri/hub.js/compare/@esri/hub-common@13.22.1...@esri/hub-common@13.23.0) (2023-07-24)

### Bug Fixes

* **hub-common:** saving sites guarantees a unique slug and prevents field loss in site data ([#1130](#1130)) ([16a25b6](16a25b6))

### Features

* EntityEditor class  ([#1127](#1127)) ([3f3beac](3f3beac))
github-actions bot pushed a commit that referenced this pull request Aug 23, 2023
# [14.0.0](https://github.com/Esri/hub.js/compare/@esri/hub-downloads@13.0.0...@esri/hub-downloads@14.0.0) (2023-08-23)

### Bug Fixes

* actually export new function from index ([#1147](#1147)) ([5d515d4](5d515d4))
* add actionLinks arg to project view model functions ([#1109](#1109)) ([cef335d](cef335d))
* add default to project schema for location ([#1093](#1093)) ([439a317](439a317))
* add GroupSchema, GroupUiSchema and other support for groups details pane ([#1154](#1154)) ([e82d49c](e82d49c))
* add memberType to SortOption ([#1177](#1177)) ([6480a8c](6480a8c))
* add missing permissions ([#1174](#1174)) ([1213e00](1213e00))
* add new SortOption type ([#1175](#1175)) ([11a74b3](11a74b3))
* add page capability permissions to capability permissions list ([#1136](#1136)) ([4ab99df](4ab99df))
* add support for group members "joined" field ([#1167](#1167)) ([fecea60](fecea60))
* address issue creating sites on portal ([#1085](#1085)) ([7243db8](7243db8))
* alpha permissions ([#1153](#1153)) ([5f2df0c](5f2df0c))
* await save in classes ([#1172](#1172)) ([aa8299d](aa8299d))
* defaultHostname and customHostname editing on site entity ([#1102](#1102)) ([9e1496d](9e1496d))
* enrichUserSearchResult will return a summary of undefined if the search result had no desc ([#1182](#1182)) ([8672d3c](8672d3c))
* ensure getNextFunction handles requestOptions.authentication cleanly ([#1176](#1176)) ([3c19e16](3c19e16))
* ensure requestOptions.authentication is UserSession instance in next() ([#1163](#1163)) ([31b6143](31b6143))
* export ihubgroup ([#1160](#1160)) ([0d29518](0d29518))
* get group from predicate not query.properties ([#1107](#1107)) ([138af9c](138af9c))
* gracefully handles cases where portal prop might not exist on ([#1137](#1137)) ([fa09ecf](fa09ecf))
* group permissions ([#1179](#1179)) ([7e4775f](7e4775f))
* handle new discussion entity ([#1146](#1146)) ([2f395bc](2f395bc))
* include owner with setAccess ([#1129](#1129)) ([3c7ab72](3c7ab72))
* limit project summary (purpose) to 2048 chars and abstract as reusable subschema ([#1090](#1090)) ([83c7a61](83c7a61))
* log checkPermission output if access not granted ([#1169](#1169)) ([8c9f396](8c9f396))
* make scope optional for IUiSchemaRule ([#1097](#1097)) ([1cef34b](1cef34b))
* modify project permissions so it is excluded from enterprise ([#1131](#1131)) ([5872d01](5872d01))
* properly translate radio button labels ([#1181](#1181)) ([54610c8](54610c8))
* remove additionalInfo from userResultToCardModel ([#1162](#1162)) ([c4c72c8](c4c72c8))
* remove license checks on view and edit project permission policies ([#1077](#1077)) ([76918b7](76918b7))
* remove name/title string as it is not wanted ([#1148](#1148)) ([01018c9](01018c9))
* rename term to name for groupMember queries ([#1110](#1110)) ([8fdeca4](8fdeca4))
* reshuffle project edit schema ([#1149](#1149)) ([13cb7ab](13cb7ab))
* revert and update content location picker ([#1164](#1164)) ([c11c019](c11c019))
* small updates to group details schemas ([#1170](#1170)) ([17b19bd](17b19bd))
* ungate group settings pane from being only owner ([#1183](#1183)) ([68533c0](68533c0))
* update clientKey to empty string in updateDomain/addDomain ([#1157](#1157)) ([84ae619](84ae619))
* update hub search result to view model signature ([#1124](#1124)) ([46290dc](46290dc))
* user selects none; location disappears correctly ([#1155](#1155)) ([3a13434](3a13434))
* **hub-common:** have capitalize() handle the empty string, change titlelize() to stop stripping whi ([#1084](#1084)) ([9a16208](9a16208))
* **hub-common:** have convertModelToSite handle invalid search categories ([#1134](#1134)) ([9dde16b](9dde16b))
* **hub-common:** saving sites guarantees a unique slug and prevents field loss in site data ([#1130](#1130)) ([16a25b6](16a25b6))
* **hub-discussions:** move allowAnonymous to channel permissions interface and add access to channel ([#1075](#1075)) ([82c59ad](82c59ad))
* **hub-discussions:** remove whitespace from IUpdateChannel documentation ([#1104](#1104)) ([5e9859c](5e9859c))

### Features

* add group settings schema ([#1180](#1180)) ([768f432](768f432))
* migrate summary stat function ([#1165](#1165)) ([53e34de](53e34de))
* remove capabilities, add featureFlags to Context ([#1184](#1184)) ([394c60c](394c60c))
* **hub-common:** add user membership enrichment and have updateSite persist catalog changes ([#1166](#1166)) ([607cfe9](607cfe9))
* **hub-common:** enriches channel with groups via hub search includes ([#1178](#1178)) ([f38271d](f38271d)), closes [#7405](https://github.com/Esri/hub.js/issues/7405)
* **hub-common:** include discussion routes ([#1168](#1168)) ([04feaaf](04feaaf))
* 7109 scaffold new HubGroup entity ([#1113](#1113)) ([ccf9ec6](ccf9ec6))
* 7162 initiative card funcs ([#1121](#1121)) ([567cfc3](567cfc3))
* add a base item entity schema ([#1106](#1106)) ([7b4606b](7b4606b))
* add canReadChannel util ([#1123](#1123)) ([5ec2c5a](5ec2c5a))
* add card section type ([#1142](#1142)) ([41618a4](41618a4))
* add dashboard capability to content, discussions,initiatives ([#1132](#1132)) ([c3e6a98](c3e6a98))
* add dashboard capability to site/project/page ([#1126](#1126)) ([cada5d3](cada5d3))
* add metrics to project capability permissions ([#1086](#1086)) ([f67c836](f67c836))
* add more support and props for Hub Group ([#1143](#1143)) ([bbdc300](bbdc300))
* add project card view model functionality  ([#1101](#1101)) ([85a8201](85a8201))
* add slug uri conversion functions and use in getItemBySlug ([#1073](#1073)) ([db9addb](db9addb))
* add workspace pane permissions for all entities ([#1171](#1171)) ([8cb94f6](8cb94f6))
* added location picker to content details ([#1150](#1150)) ([f6317b4](f6317b4))
* adds discussion create ui schema ([#1082](#1082)) ([e463998](e463998)), closes [#6876](https://github.com/Esri/hub.js/issues/6876)
* constrain temp:workspace:released permission to alpha orgs ([#1152](#1152)) ([5500dcc](5500dcc))
* context manager serialize / deserialize ([#1088](#1088)) ([f972516](f972516))
* convertModelToPage and update temp:workspace:released permission ([#1173](#1173)) ([0283ff3](0283ff3))
* EntityEditor class  ([#1127](#1127)) ([3f3beac](3f3beac))
* explain search result ([#1156](#1156)) ([d469907](d469907))
* Generic property mapper  ([#1100](#1100)) ([1f58fa9](1f58fa9))
* hubSearch supports groupMember entity type ([#1096](#1096)) ([2327cce](2327cce))
* make propertyMapper more generic ([#1098](#1098)) ([09a8d3f](09a8d3f))
* move and refactor entity editor abstractions into hub.js ([#1135](#1135)) ([0ea3d92](0ea3d92))
* page entity ([#1112](#1112)) ([50e7280](50e7280))
* page permission policy is included ([#1125](#1125)) ([6d5c559](6d5c559))
* permission parents, deprecations for Capabilities ([#1158](#1158)) ([83659b1](83659b1))
* post-mod and post-delete utils for ACL ([#1119](#1119)) ([0a6292f](0a6292f))
* search by channel name and multi access ([#1161](#1161)) ([fcd71ac](fcd71ac))
* teach hubSearch channels ([#1111](#1111)) ([82d0492](82d0492))
* user card result to card ([#1144](#1144)) ([866fbe7](866fbe7))
* workspace gating ([#1151](#1151)) ([68fedd1](68fedd1))
* **hub-common:** add content capability and define default collections to entity catalogs ([#1120](#1120)) ([7aa7f0e](7aa7f0e))
* **hub-common:** add Discussion entity schemas ([#1076](#1076)) ([5b6b704](5b6b704))
* **hub-common:** add isDiscussable mapping ([#1089](#1089)) ([0f4a84a](0f4a84a))
* **hub-common:** add name to interface ISearchChannels ([#1140](#1140)) ([674dd12](674dd12))
* **hub-common:** add unicodeToBase64 and base64ToUnicode utils ([#1095](#1095)) ([82bd6e9](82bd6e9))
* **hub-common:** create an array of valid item types ([#1083](#1083)) ([ed1d509](ed1d509))
* **hub-common:** persist modifications to site collections via updateSite ([#1139](#1139)) ([147b7fc](147b7fc))
* **hub-common:** remove required property prompt ([#1087](#1087)) ([6b7c28e](6b7c28e))
* **hub-common:** return "license" and "source" as part of results from hubSearchItems ([#1072](#1072)) ([9d086ed](9d086ed))
* **hub-common:** workspace edit content details ([#1128](#1128)) ([aa47afa](aa47afa))
* **hub-discussions:** add acl authentication to channel util function canModifyChannel ([#1092](#1092)) ([f4190a4](f4190a4))
* **hub-discussions:** add createDiscussionSetting function and associated interfaces ([#1103](#1103)) ([0183121](0183121))
* **hub-discussions:** add function fetchDiscussionSetting and associated interfaces ([#1114](#1114)) ([080b70c](080b70c))
* **hub-discussions:** add function removeDiscussionSetting with asso… ([#1108](#1108)) ([d90aac2](d90aac2))
* **hub-discussions:** add function updateDiscussionSetting ([#1133](#1133)) ([a594859](a594859))
* **hub-discussions:** add optional guidelineUrl to IChannel and ICre… ([#1078](#1078)) ([6f889a3](6f889a3))
* **hub-discussions:** expand isDiscussable ([#1079](#1079)) ([73db7f1](73db7f1))
* **hub-discussions:** expanded enum ([#1080](#1080)) ([2a121b4](2a121b4))
* **hub-discussions:** legacy permission checks mixed channels ([#1070](#1070)) ([07ae63d](07ae63d))
* **hub-discussions:** remove channel util function isChannelInclusive ([#1091](#1091)) ([5d36f9b](5d36f9b))
* small project enhancements ([#1074](#1074)) ([3085a6b](3085a6b))

### Reverts

* Revert "refactor: post-mod and post-delete utils for ACL (#1117)" (#1118) ([d13b2f9](d13b2f9)), closes [#1117](#1117) [#1118](#1118)
* Revert "feat: make propertyMapper more generic (#1098)" (#1099) ([272c645](272c645)), closes [#1098](#1098) [#1099](#1099)

### BREAKING CHANGES

* HubSubsystem, HubSystemStatus, isSubsystem removed

* fix: remove capabilities
* Remove all capability related functions, props, fix tests

* feat: context holds feature flags

* refactor: ensure .features persisted for S/I/P only

* refactor: update version test to account for settings.features being included

* fix: remove IEntityFeature type
* IEntityFeature type replaced with IFeatureFlag
* **hub-discussions:** remove channel util function isChannelInclusive

* refactor(hub-discussions): remove function updatePostSharing and associated interfaces

affects: @esri/hub-discussions
* **hub-discussions:** remove function updatePostSharing and associated interfaces

* test(hub-discussions): remove tests for updatePostSharing function

affects: @esri/hub-discussions

* fix(hub-discussions): bump hub-common peerDependency to ^13.0.0

affects: @esri/hub-discussions
github-actions bot pushed a commit that referenced this pull request Aug 23, 2023
# [14.0.0](https://github.com/Esri/hub.js/compare/@esri/hub-events@13.0.0...@esri/hub-events@14.0.0) (2023-08-23)

### Bug Fixes

* actually export new function from index ([#1147](#1147)) ([5d515d4](5d515d4))
* add actionLinks arg to project view model functions ([#1109](#1109)) ([cef335d](cef335d))
* add default to project schema for location ([#1093](#1093)) ([439a317](439a317))
* add GroupSchema, GroupUiSchema and other support for groups details pane ([#1154](#1154)) ([e82d49c](e82d49c))
* add memberType to SortOption ([#1177](#1177)) ([6480a8c](6480a8c))
* add missing permissions ([#1174](#1174)) ([1213e00](1213e00))
* add new SortOption type ([#1175](#1175)) ([11a74b3](11a74b3))
* add page capability permissions to capability permissions list ([#1136](#1136)) ([4ab99df](4ab99df))
* add support for group members "joined" field ([#1167](#1167)) ([fecea60](fecea60))
* address issue creating sites on portal ([#1085](#1085)) ([7243db8](7243db8))
* alpha permissions ([#1153](#1153)) ([5f2df0c](5f2df0c))
* await save in classes ([#1172](#1172)) ([aa8299d](aa8299d))
* defaultHostname and customHostname editing on site entity ([#1102](#1102)) ([9e1496d](9e1496d))
* enrichUserSearchResult will return a summary of undefined if the search result had no desc ([#1182](#1182)) ([8672d3c](8672d3c))
* ensure getNextFunction handles requestOptions.authentication cleanly ([#1176](#1176)) ([3c19e16](3c19e16))
* ensure requestOptions.authentication is UserSession instance in next() ([#1163](#1163)) ([31b6143](31b6143))
* export ihubgroup ([#1160](#1160)) ([0d29518](0d29518))
* get group from predicate not query.properties ([#1107](#1107)) ([138af9c](138af9c))
* gracefully handles cases where portal prop might not exist on ([#1137](#1137)) ([fa09ecf](fa09ecf))
* group permissions ([#1179](#1179)) ([7e4775f](7e4775f))
* handle new discussion entity ([#1146](#1146)) ([2f395bc](2f395bc))
* include owner with setAccess ([#1129](#1129)) ([3c7ab72](3c7ab72))
* limit project summary (purpose) to 2048 chars and abstract as reusable subschema ([#1090](#1090)) ([83c7a61](83c7a61))
* log checkPermission output if access not granted ([#1169](#1169)) ([8c9f396](8c9f396))
* make scope optional for IUiSchemaRule ([#1097](#1097)) ([1cef34b](1cef34b))
* modify project permissions so it is excluded from enterprise ([#1131](#1131)) ([5872d01](5872d01))
* properly translate radio button labels ([#1181](#1181)) ([54610c8](54610c8))
* remove additionalInfo from userResultToCardModel ([#1162](#1162)) ([c4c72c8](c4c72c8))
* remove license checks on view and edit project permission policies ([#1077](#1077)) ([76918b7](76918b7))
* remove name/title string as it is not wanted ([#1148](#1148)) ([01018c9](01018c9))
* rename term to name for groupMember queries ([#1110](#1110)) ([8fdeca4](8fdeca4))
* reshuffle project edit schema ([#1149](#1149)) ([13cb7ab](13cb7ab))
* revert and update content location picker ([#1164](#1164)) ([c11c019](c11c019))
* small updates to group details schemas ([#1170](#1170)) ([17b19bd](17b19bd))
* ungate group settings pane from being only owner ([#1183](#1183)) ([68533c0](68533c0))
* update clientKey to empty string in updateDomain/addDomain ([#1157](#1157)) ([84ae619](84ae619))
* update hub search result to view model signature ([#1124](#1124)) ([46290dc](46290dc))
* user selects none; location disappears correctly ([#1155](#1155)) ([3a13434](3a13434))
* **hub-common:** have capitalize() handle the empty string, change titlelize() to stop stripping whi ([#1084](#1084)) ([9a16208](9a16208))
* **hub-common:** have convertModelToSite handle invalid search categories ([#1134](#1134)) ([9dde16b](9dde16b))
* **hub-common:** saving sites guarantees a unique slug and prevents field loss in site data ([#1130](#1130)) ([16a25b6](16a25b6))
* **hub-discussions:** move allowAnonymous to channel permissions interface and add access to channel ([#1075](#1075)) ([82c59ad](82c59ad))
* **hub-discussions:** remove whitespace from IUpdateChannel documentation ([#1104](#1104)) ([5e9859c](5e9859c))

### Features

* add group settings schema ([#1180](#1180)) ([768f432](768f432))
* migrate summary stat function ([#1165](#1165)) ([53e34de](53e34de))
* remove capabilities, add featureFlags to Context ([#1184](#1184)) ([394c60c](394c60c))
* **hub-common:** add user membership enrichment and have updateSite persist catalog changes ([#1166](#1166)) ([607cfe9](607cfe9))
* **hub-common:** enriches channel with groups via hub search includes ([#1178](#1178)) ([f38271d](f38271d)), closes [#7405](https://github.com/Esri/hub.js/issues/7405)
* **hub-common:** include discussion routes ([#1168](#1168)) ([04feaaf](04feaaf))
* 7109 scaffold new HubGroup entity ([#1113](#1113)) ([ccf9ec6](ccf9ec6))
* 7162 initiative card funcs ([#1121](#1121)) ([567cfc3](567cfc3))
* add a base item entity schema ([#1106](#1106)) ([7b4606b](7b4606b))
* add canReadChannel util ([#1123](#1123)) ([5ec2c5a](5ec2c5a))
* add card section type ([#1142](#1142)) ([41618a4](41618a4))
* add dashboard capability to content, discussions,initiatives ([#1132](#1132)) ([c3e6a98](c3e6a98))
* add dashboard capability to site/project/page ([#1126](#1126)) ([cada5d3](cada5d3))
* add metrics to project capability permissions ([#1086](#1086)) ([f67c836](f67c836))
* add more support and props for Hub Group ([#1143](#1143)) ([bbdc300](bbdc300))
* add project card view model functionality  ([#1101](#1101)) ([85a8201](85a8201))
* add slug uri conversion functions and use in getItemBySlug ([#1073](#1073)) ([db9addb](db9addb))
* add workspace pane permissions for all entities ([#1171](#1171)) ([8cb94f6](8cb94f6))
* added location picker to content details ([#1150](#1150)) ([f6317b4](f6317b4))
* adds discussion create ui schema ([#1082](#1082)) ([e463998](e463998)), closes [#6876](https://github.com/Esri/hub.js/issues/6876)
* constrain temp:workspace:released permission to alpha orgs ([#1152](#1152)) ([5500dcc](5500dcc))
* context manager serialize / deserialize ([#1088](#1088)) ([f972516](f972516))
* convertModelToPage and update temp:workspace:released permission ([#1173](#1173)) ([0283ff3](0283ff3))
* EntityEditor class  ([#1127](#1127)) ([3f3beac](3f3beac))
* explain search result ([#1156](#1156)) ([d469907](d469907))
* Generic property mapper  ([#1100](#1100)) ([1f58fa9](1f58fa9))
* hubSearch supports groupMember entity type ([#1096](#1096)) ([2327cce](2327cce))
* make propertyMapper more generic ([#1098](#1098)) ([09a8d3f](09a8d3f))
* move and refactor entity editor abstractions into hub.js ([#1135](#1135)) ([0ea3d92](0ea3d92))
* page entity ([#1112](#1112)) ([50e7280](50e7280))
* page permission policy is included ([#1125](#1125)) ([6d5c559](6d5c559))
* permission parents, deprecations for Capabilities ([#1158](#1158)) ([83659b1](83659b1))
* post-mod and post-delete utils for ACL ([#1119](#1119)) ([0a6292f](0a6292f))
* search by channel name and multi access ([#1161](#1161)) ([fcd71ac](fcd71ac))
* teach hubSearch channels ([#1111](#1111)) ([82d0492](82d0492))
* user card result to card ([#1144](#1144)) ([866fbe7](866fbe7))
* workspace gating ([#1151](#1151)) ([68fedd1](68fedd1))
* **hub-common:** add content capability and define default collections to entity catalogs ([#1120](#1120)) ([7aa7f0e](7aa7f0e))
* **hub-common:** add Discussion entity schemas ([#1076](#1076)) ([5b6b704](5b6b704))
* **hub-common:** add isDiscussable mapping ([#1089](#1089)) ([0f4a84a](0f4a84a))
* **hub-common:** add name to interface ISearchChannels ([#1140](#1140)) ([674dd12](674dd12))
* **hub-common:** add unicodeToBase64 and base64ToUnicode utils ([#1095](#1095)) ([82bd6e9](82bd6e9))
* **hub-common:** create an array of valid item types ([#1083](#1083)) ([ed1d509](ed1d509))
* **hub-common:** persist modifications to site collections via updateSite ([#1139](#1139)) ([147b7fc](147b7fc))
* **hub-common:** remove required property prompt ([#1087](#1087)) ([6b7c28e](6b7c28e))
* **hub-common:** return "license" and "source" as part of results from hubSearchItems ([#1072](#1072)) ([9d086ed](9d086ed))
* **hub-common:** workspace edit content details ([#1128](#1128)) ([aa47afa](aa47afa))
* **hub-discussions:** add acl authentication to channel util function canModifyChannel ([#1092](#1092)) ([f4190a4](f4190a4))
* **hub-discussions:** add createDiscussionSetting function and associated interfaces ([#1103](#1103)) ([0183121](0183121))
* **hub-discussions:** add function fetchDiscussionSetting and associated interfaces ([#1114](#1114)) ([080b70c](080b70c))
* **hub-discussions:** add function removeDiscussionSetting with asso… ([#1108](#1108)) ([d90aac2](d90aac2))
* **hub-discussions:** add function updateDiscussionSetting ([#1133](#1133)) ([a594859](a594859))
* **hub-discussions:** add optional guidelineUrl to IChannel and ICre… ([#1078](#1078)) ([6f889a3](6f889a3))
* **hub-discussions:** expand isDiscussable ([#1079](#1079)) ([73db7f1](73db7f1))
* **hub-discussions:** expanded enum ([#1080](#1080)) ([2a121b4](2a121b4))
* **hub-discussions:** legacy permission checks mixed channels ([#1070](#1070)) ([07ae63d](07ae63d))
* **hub-discussions:** remove channel util function isChannelInclusive ([#1091](#1091)) ([5d36f9b](5d36f9b))
* small project enhancements ([#1074](#1074)) ([3085a6b](3085a6b))

### Reverts

* Revert "refactor: post-mod and post-delete utils for ACL (#1117)" (#1118) ([d13b2f9](d13b2f9)), closes [#1117](#1117) [#1118](#1118)
* Revert "feat: make propertyMapper more generic (#1098)" (#1099) ([272c645](272c645)), closes [#1098](#1098) [#1099](#1099)

### BREAKING CHANGES

* HubSubsystem, HubSystemStatus, isSubsystem removed

* fix: remove capabilities
* Remove all capability related functions, props, fix tests

* feat: context holds feature flags

* refactor: ensure .features persisted for S/I/P only

* refactor: update version test to account for settings.features being included

* fix: remove IEntityFeature type
* IEntityFeature type replaced with IFeatureFlag
* **hub-discussions:** remove channel util function isChannelInclusive

* refactor(hub-discussions): remove function updatePostSharing and associated interfaces

affects: @esri/hub-discussions
* **hub-discussions:** remove function updatePostSharing and associated interfaces

* test(hub-discussions): remove tests for updatePostSharing function

affects: @esri/hub-discussions

* fix(hub-discussions): bump hub-common peerDependency to ^13.0.0

affects: @esri/hub-discussions
github-actions bot pushed a commit that referenced this pull request Aug 23, 2023
# [14.0.0](https://github.com/Esri/hub.js/compare/@esri/hub-initiatives@13.0.0...@esri/hub-initiatives@14.0.0) (2023-08-23)

### Bug Fixes

* actually export new function from index ([#1147](#1147)) ([5d515d4](5d515d4))
* add actionLinks arg to project view model functions ([#1109](#1109)) ([cef335d](cef335d))
* add default to project schema for location ([#1093](#1093)) ([439a317](439a317))
* add GroupSchema, GroupUiSchema and other support for groups details pane ([#1154](#1154)) ([e82d49c](e82d49c))
* add memberType to SortOption ([#1177](#1177)) ([6480a8c](6480a8c))
* add missing permissions ([#1174](#1174)) ([1213e00](1213e00))
* add new SortOption type ([#1175](#1175)) ([11a74b3](11a74b3))
* add page capability permissions to capability permissions list ([#1136](#1136)) ([4ab99df](4ab99df))
* add support for group members "joined" field ([#1167](#1167)) ([fecea60](fecea60))
* address issue creating sites on portal ([#1085](#1085)) ([7243db8](7243db8))
* alpha permissions ([#1153](#1153)) ([5f2df0c](5f2df0c))
* await save in classes ([#1172](#1172)) ([aa8299d](aa8299d))
* defaultHostname and customHostname editing on site entity ([#1102](#1102)) ([9e1496d](9e1496d))
* enrichUserSearchResult will return a summary of undefined if the search result had no desc ([#1182](#1182)) ([8672d3c](8672d3c))
* ensure getNextFunction handles requestOptions.authentication cleanly ([#1176](#1176)) ([3c19e16](3c19e16))
* ensure requestOptions.authentication is UserSession instance in next() ([#1163](#1163)) ([31b6143](31b6143))
* export ihubgroup ([#1160](#1160)) ([0d29518](0d29518))
* get group from predicate not query.properties ([#1107](#1107)) ([138af9c](138af9c))
* gracefully handles cases where portal prop might not exist on ([#1137](#1137)) ([fa09ecf](fa09ecf))
* group permissions ([#1179](#1179)) ([7e4775f](7e4775f))
* handle new discussion entity ([#1146](#1146)) ([2f395bc](2f395bc))
* include owner with setAccess ([#1129](#1129)) ([3c7ab72](3c7ab72))
* limit project summary (purpose) to 2048 chars and abstract as reusable subschema ([#1090](#1090)) ([83c7a61](83c7a61))
* log checkPermission output if access not granted ([#1169](#1169)) ([8c9f396](8c9f396))
* make scope optional for IUiSchemaRule ([#1097](#1097)) ([1cef34b](1cef34b))
* modify project permissions so it is excluded from enterprise ([#1131](#1131)) ([5872d01](5872d01))
* properly translate radio button labels ([#1181](#1181)) ([54610c8](54610c8))
* remove additionalInfo from userResultToCardModel ([#1162](#1162)) ([c4c72c8](c4c72c8))
* remove license checks on view and edit project permission policies ([#1077](#1077)) ([76918b7](76918b7))
* remove name/title string as it is not wanted ([#1148](#1148)) ([01018c9](01018c9))
* rename term to name for groupMember queries ([#1110](#1110)) ([8fdeca4](8fdeca4))
* reshuffle project edit schema ([#1149](#1149)) ([13cb7ab](13cb7ab))
* revert and update content location picker ([#1164](#1164)) ([c11c019](c11c019))
* small updates to group details schemas ([#1170](#1170)) ([17b19bd](17b19bd))
* ungate group settings pane from being only owner ([#1183](#1183)) ([68533c0](68533c0))
* update clientKey to empty string in updateDomain/addDomain ([#1157](#1157)) ([84ae619](84ae619))
* update hub search result to view model signature ([#1124](#1124)) ([46290dc](46290dc))
* user selects none; location disappears correctly ([#1155](#1155)) ([3a13434](3a13434))
* **hub-common:** have capitalize() handle the empty string, change titlelize() to stop stripping whi ([#1084](#1084)) ([9a16208](9a16208))
* **hub-common:** have convertModelToSite handle invalid search categories ([#1134](#1134)) ([9dde16b](9dde16b))
* **hub-common:** saving sites guarantees a unique slug and prevents field loss in site data ([#1130](#1130)) ([16a25b6](16a25b6))
* **hub-discussions:** move allowAnonymous to channel permissions interface and add access to channel ([#1075](#1075)) ([82c59ad](82c59ad))
* **hub-discussions:** remove whitespace from IUpdateChannel documentation ([#1104](#1104)) ([5e9859c](5e9859c))

### Features

* add group settings schema ([#1180](#1180)) ([768f432](768f432))
* migrate summary stat function ([#1165](#1165)) ([53e34de](53e34de))
* remove capabilities, add featureFlags to Context ([#1184](#1184)) ([394c60c](394c60c))
* **hub-common:** add user membership enrichment and have updateSite persist catalog changes ([#1166](#1166)) ([607cfe9](607cfe9))
* **hub-common:** enriches channel with groups via hub search includes ([#1178](#1178)) ([f38271d](f38271d)), closes [#7405](https://github.com/Esri/hub.js/issues/7405)
* **hub-common:** include discussion routes ([#1168](#1168)) ([04feaaf](04feaaf))
* 7109 scaffold new HubGroup entity ([#1113](#1113)) ([ccf9ec6](ccf9ec6))
* 7162 initiative card funcs ([#1121](#1121)) ([567cfc3](567cfc3))
* add a base item entity schema ([#1106](#1106)) ([7b4606b](7b4606b))
* add canReadChannel util ([#1123](#1123)) ([5ec2c5a](5ec2c5a))
* add card section type ([#1142](#1142)) ([41618a4](41618a4))
* add dashboard capability to content, discussions,initiatives ([#1132](#1132)) ([c3e6a98](c3e6a98))
* add dashboard capability to site/project/page ([#1126](#1126)) ([cada5d3](cada5d3))
* add metrics to project capability permissions ([#1086](#1086)) ([f67c836](f67c836))
* add more support and props for Hub Group ([#1143](#1143)) ([bbdc300](bbdc300))
* add project card view model functionality  ([#1101](#1101)) ([85a8201](85a8201))
* add slug uri conversion functions and use in getItemBySlug ([#1073](#1073)) ([db9addb](db9addb))
* add workspace pane permissions for all entities ([#1171](#1171)) ([8cb94f6](8cb94f6))
* added location picker to content details ([#1150](#1150)) ([f6317b4](f6317b4))
* adds discussion create ui schema ([#1082](#1082)) ([e463998](e463998)), closes [#6876](https://github.com/Esri/hub.js/issues/6876)
* constrain temp:workspace:released permission to alpha orgs ([#1152](#1152)) ([5500dcc](5500dcc))
* context manager serialize / deserialize ([#1088](#1088)) ([f972516](f972516))
* convertModelToPage and update temp:workspace:released permission ([#1173](#1173)) ([0283ff3](0283ff3))
* EntityEditor class  ([#1127](#1127)) ([3f3beac](3f3beac))
* explain search result ([#1156](#1156)) ([d469907](d469907))
* Generic property mapper  ([#1100](#1100)) ([1f58fa9](1f58fa9))
* hubSearch supports groupMember entity type ([#1096](#1096)) ([2327cce](2327cce))
* make propertyMapper more generic ([#1098](#1098)) ([09a8d3f](09a8d3f))
* move and refactor entity editor abstractions into hub.js ([#1135](#1135)) ([0ea3d92](0ea3d92))
* page entity ([#1112](#1112)) ([50e7280](50e7280))
* page permission policy is included ([#1125](#1125)) ([6d5c559](6d5c559))
* permission parents, deprecations for Capabilities ([#1158](#1158)) ([83659b1](83659b1))
* post-mod and post-delete utils for ACL ([#1119](#1119)) ([0a6292f](0a6292f))
* search by channel name and multi access ([#1161](#1161)) ([fcd71ac](fcd71ac))
* teach hubSearch channels ([#1111](#1111)) ([82d0492](82d0492))
* user card result to card ([#1144](#1144)) ([866fbe7](866fbe7))
* workspace gating ([#1151](#1151)) ([68fedd1](68fedd1))
* **hub-common:** add content capability and define default collections to entity catalogs ([#1120](#1120)) ([7aa7f0e](7aa7f0e))
* **hub-common:** add Discussion entity schemas ([#1076](#1076)) ([5b6b704](5b6b704))
* **hub-common:** add isDiscussable mapping ([#1089](#1089)) ([0f4a84a](0f4a84a))
* **hub-common:** add name to interface ISearchChannels ([#1140](#1140)) ([674dd12](674dd12))
* **hub-common:** add unicodeToBase64 and base64ToUnicode utils ([#1095](#1095)) ([82bd6e9](82bd6e9))
* **hub-common:** create an array of valid item types ([#1083](#1083)) ([ed1d509](ed1d509))
* **hub-common:** persist modifications to site collections via updateSite ([#1139](#1139)) ([147b7fc](147b7fc))
* **hub-common:** remove required property prompt ([#1087](#1087)) ([6b7c28e](6b7c28e))
* **hub-common:** return "license" and "source" as part of results from hubSearchItems ([#1072](#1072)) ([9d086ed](9d086ed))
* **hub-common:** workspace edit content details ([#1128](#1128)) ([aa47afa](aa47afa))
* **hub-discussions:** add acl authentication to channel util function canModifyChannel ([#1092](#1092)) ([f4190a4](f4190a4))
* **hub-discussions:** add createDiscussionSetting function and associated interfaces ([#1103](#1103)) ([0183121](0183121))
* **hub-discussions:** add function fetchDiscussionSetting and associated interfaces ([#1114](#1114)) ([080b70c](080b70c))
* **hub-discussions:** add function removeDiscussionSetting with asso… ([#1108](#1108)) ([d90aac2](d90aac2))
* **hub-discussions:** add function updateDiscussionSetting ([#1133](#1133)) ([a594859](a594859))
* **hub-discussions:** add optional guidelineUrl to IChannel and ICre… ([#1078](#1078)) ([6f889a3](6f889a3))
* **hub-discussions:** expand isDiscussable ([#1079](#1079)) ([73db7f1](73db7f1))
* **hub-discussions:** expanded enum ([#1080](#1080)) ([2a121b4](2a121b4))
* **hub-discussions:** legacy permission checks mixed channels ([#1070](#1070)) ([07ae63d](07ae63d))
* **hub-discussions:** remove channel util function isChannelInclusive ([#1091](#1091)) ([5d36f9b](5d36f9b))
* small project enhancements ([#1074](#1074)) ([3085a6b](3085a6b))

### Reverts

* Revert "refactor: post-mod and post-delete utils for ACL (#1117)" (#1118) ([d13b2f9](d13b2f9)), closes [#1117](#1117) [#1118](#1118)
* Revert "feat: make propertyMapper more generic (#1098)" (#1099) ([272c645](272c645)), closes [#1098](#1098) [#1099](#1099)

### BREAKING CHANGES

* HubSubsystem, HubSystemStatus, isSubsystem removed

* fix: remove capabilities
* Remove all capability related functions, props, fix tests

* feat: context holds feature flags

* refactor: ensure .features persisted for S/I/P only

* refactor: update version test to account for settings.features being included

* fix: remove IEntityFeature type
* IEntityFeature type replaced with IFeatureFlag
* **hub-discussions:** remove channel util function isChannelInclusive

* refactor(hub-discussions): remove function updatePostSharing and associated interfaces

affects: @esri/hub-discussions
* **hub-discussions:** remove function updatePostSharing and associated interfaces

* test(hub-discussions): remove tests for updatePostSharing function

affects: @esri/hub-discussions

* fix(hub-discussions): bump hub-common peerDependency to ^13.0.0

affects: @esri/hub-discussions
github-actions bot pushed a commit that referenced this pull request Aug 23, 2023
# [14.0.0](https://github.com/Esri/hub.js/compare/@esri/hub-search@13.0.0...@esri/hub-search@14.0.0) (2023-08-23)

### Bug Fixes

* actually export new function from index ([#1147](#1147)) ([5d515d4](5d515d4))
* add actionLinks arg to project view model functions ([#1109](#1109)) ([cef335d](cef335d))
* add default to project schema for location ([#1093](#1093)) ([439a317](439a317))
* add GroupSchema, GroupUiSchema and other support for groups details pane ([#1154](#1154)) ([e82d49c](e82d49c))
* add memberType to SortOption ([#1177](#1177)) ([6480a8c](6480a8c))
* add missing permissions ([#1174](#1174)) ([1213e00](1213e00))
* add new SortOption type ([#1175](#1175)) ([11a74b3](11a74b3))
* add page capability permissions to capability permissions list ([#1136](#1136)) ([4ab99df](4ab99df))
* add support for group members "joined" field ([#1167](#1167)) ([fecea60](fecea60))
* address issue creating sites on portal ([#1085](#1085)) ([7243db8](7243db8))
* alpha permissions ([#1153](#1153)) ([5f2df0c](5f2df0c))
* await save in classes ([#1172](#1172)) ([aa8299d](aa8299d))
* defaultHostname and customHostname editing on site entity ([#1102](#1102)) ([9e1496d](9e1496d))
* enrichUserSearchResult will return a summary of undefined if the search result had no desc ([#1182](#1182)) ([8672d3c](8672d3c))
* ensure getNextFunction handles requestOptions.authentication cleanly ([#1176](#1176)) ([3c19e16](3c19e16))
* ensure requestOptions.authentication is UserSession instance in next() ([#1163](#1163)) ([31b6143](31b6143))
* export ihubgroup ([#1160](#1160)) ([0d29518](0d29518))
* get group from predicate not query.properties ([#1107](#1107)) ([138af9c](138af9c))
* gracefully handles cases where portal prop might not exist on ([#1137](#1137)) ([fa09ecf](fa09ecf))
* group permissions ([#1179](#1179)) ([7e4775f](7e4775f))
* handle new discussion entity ([#1146](#1146)) ([2f395bc](2f395bc))
* include owner with setAccess ([#1129](#1129)) ([3c7ab72](3c7ab72))
* limit project summary (purpose) to 2048 chars and abstract as reusable subschema ([#1090](#1090)) ([83c7a61](83c7a61))
* log checkPermission output if access not granted ([#1169](#1169)) ([8c9f396](8c9f396))
* make scope optional for IUiSchemaRule ([#1097](#1097)) ([1cef34b](1cef34b))
* modify project permissions so it is excluded from enterprise ([#1131](#1131)) ([5872d01](5872d01))
* properly translate radio button labels ([#1181](#1181)) ([54610c8](54610c8))
* remove additionalInfo from userResultToCardModel ([#1162](#1162)) ([c4c72c8](c4c72c8))
* remove license checks on view and edit project permission policies ([#1077](#1077)) ([76918b7](76918b7))
* remove name/title string as it is not wanted ([#1148](#1148)) ([01018c9](01018c9))
* rename term to name for groupMember queries ([#1110](#1110)) ([8fdeca4](8fdeca4))
* reshuffle project edit schema ([#1149](#1149)) ([13cb7ab](13cb7ab))
* revert and update content location picker ([#1164](#1164)) ([c11c019](c11c019))
* small updates to group details schemas ([#1170](#1170)) ([17b19bd](17b19bd))
* ungate group settings pane from being only owner ([#1183](#1183)) ([68533c0](68533c0))
* update clientKey to empty string in updateDomain/addDomain ([#1157](#1157)) ([84ae619](84ae619))
* update hub search result to view model signature ([#1124](#1124)) ([46290dc](46290dc))
* user selects none; location disappears correctly ([#1155](#1155)) ([3a13434](3a13434))
* **hub-common:** have capitalize() handle the empty string, change titlelize() to stop stripping whi ([#1084](#1084)) ([9a16208](9a16208))
* **hub-common:** have convertModelToSite handle invalid search categories ([#1134](#1134)) ([9dde16b](9dde16b))
* **hub-common:** saving sites guarantees a unique slug and prevents field loss in site data ([#1130](#1130)) ([16a25b6](16a25b6))
* **hub-discussions:** move allowAnonymous to channel permissions interface and add access to channel ([#1075](#1075)) ([82c59ad](82c59ad))
* **hub-discussions:** remove whitespace from IUpdateChannel documentation ([#1104](#1104)) ([5e9859c](5e9859c))

### Features

* add group settings schema ([#1180](#1180)) ([768f432](768f432))
* migrate summary stat function ([#1165](#1165)) ([53e34de](53e34de))
* remove capabilities, add featureFlags to Context ([#1184](#1184)) ([394c60c](394c60c))
* **hub-common:** add user membership enrichment and have updateSite persist catalog changes ([#1166](#1166)) ([607cfe9](607cfe9))
* **hub-common:** enriches channel with groups via hub search includes ([#1178](#1178)) ([f38271d](f38271d)), closes [#7405](https://github.com/Esri/hub.js/issues/7405)
* **hub-common:** include discussion routes ([#1168](#1168)) ([04feaaf](04feaaf))
* 7109 scaffold new HubGroup entity ([#1113](#1113)) ([ccf9ec6](ccf9ec6))
* 7162 initiative card funcs ([#1121](#1121)) ([567cfc3](567cfc3))
* add a base item entity schema ([#1106](#1106)) ([7b4606b](7b4606b))
* add canReadChannel util ([#1123](#1123)) ([5ec2c5a](5ec2c5a))
* add card section type ([#1142](#1142)) ([41618a4](41618a4))
* add dashboard capability to content, discussions,initiatives ([#1132](#1132)) ([c3e6a98](c3e6a98))
* add dashboard capability to site/project/page ([#1126](#1126)) ([cada5d3](cada5d3))
* add metrics to project capability permissions ([#1086](#1086)) ([f67c836](f67c836))
* add more support and props for Hub Group ([#1143](#1143)) ([bbdc300](bbdc300))
* add project card view model functionality  ([#1101](#1101)) ([85a8201](85a8201))
* add slug uri conversion functions and use in getItemBySlug ([#1073](#1073)) ([db9addb](db9addb))
* add workspace pane permissions for all entities ([#1171](#1171)) ([8cb94f6](8cb94f6))
* added location picker to content details ([#1150](#1150)) ([f6317b4](f6317b4))
* adds discussion create ui schema ([#1082](#1082)) ([e463998](e463998)), closes [#6876](https://github.com/Esri/hub.js/issues/6876)
* constrain temp:workspace:released permission to alpha orgs ([#1152](#1152)) ([5500dcc](5500dcc))
* context manager serialize / deserialize ([#1088](#1088)) ([f972516](f972516))
* convertModelToPage and update temp:workspace:released permission ([#1173](#1173)) ([0283ff3](0283ff3))
* EntityEditor class  ([#1127](#1127)) ([3f3beac](3f3beac))
* explain search result ([#1156](#1156)) ([d469907](d469907))
* Generic property mapper  ([#1100](#1100)) ([1f58fa9](1f58fa9))
* hubSearch supports groupMember entity type ([#1096](#1096)) ([2327cce](2327cce))
* make propertyMapper more generic ([#1098](#1098)) ([09a8d3f](09a8d3f))
* move and refactor entity editor abstractions into hub.js ([#1135](#1135)) ([0ea3d92](0ea3d92))
* page entity ([#1112](#1112)) ([50e7280](50e7280))
* page permission policy is included ([#1125](#1125)) ([6d5c559](6d5c559))
* permission parents, deprecations for Capabilities ([#1158](#1158)) ([83659b1](83659b1))
* post-mod and post-delete utils for ACL ([#1119](#1119)) ([0a6292f](0a6292f))
* search by channel name and multi access ([#1161](#1161)) ([fcd71ac](fcd71ac))
* teach hubSearch channels ([#1111](#1111)) ([82d0492](82d0492))
* user card result to card ([#1144](#1144)) ([866fbe7](866fbe7))
* workspace gating ([#1151](#1151)) ([68fedd1](68fedd1))
* **hub-common:** add content capability and define default collections to entity catalogs ([#1120](#1120)) ([7aa7f0e](7aa7f0e))
* **hub-common:** add Discussion entity schemas ([#1076](#1076)) ([5b6b704](5b6b704))
* **hub-common:** add isDiscussable mapping ([#1089](#1089)) ([0f4a84a](0f4a84a))
* **hub-common:** add name to interface ISearchChannels ([#1140](#1140)) ([674dd12](674dd12))
* **hub-common:** add unicodeToBase64 and base64ToUnicode utils ([#1095](#1095)) ([82bd6e9](82bd6e9))
* **hub-common:** create an array of valid item types ([#1083](#1083)) ([ed1d509](ed1d509))
* **hub-common:** persist modifications to site collections via updateSite ([#1139](#1139)) ([147b7fc](147b7fc))
* **hub-common:** remove required property prompt ([#1087](#1087)) ([6b7c28e](6b7c28e))
* **hub-common:** return "license" and "source" as part of results from hubSearchItems ([#1072](#1072)) ([9d086ed](9d086ed))
* **hub-common:** workspace edit content details ([#1128](#1128)) ([aa47afa](aa47afa))
* **hub-discussions:** add acl authentication to channel util function canModifyChannel ([#1092](#1092)) ([f4190a4](f4190a4))
* **hub-discussions:** add createDiscussionSetting function and associated interfaces ([#1103](#1103)) ([0183121](0183121))
* **hub-discussions:** add function fetchDiscussionSetting and associated interfaces ([#1114](#1114)) ([080b70c](080b70c))
* **hub-discussions:** add function removeDiscussionSetting with asso… ([#1108](#1108)) ([d90aac2](d90aac2))
* **hub-discussions:** add function updateDiscussionSetting ([#1133](#1133)) ([a594859](a594859))
* **hub-discussions:** add optional guidelineUrl to IChannel and ICre… ([#1078](#1078)) ([6f889a3](6f889a3))
* **hub-discussions:** expand isDiscussable ([#1079](#1079)) ([73db7f1](73db7f1))
* **hub-discussions:** expanded enum ([#1080](#1080)) ([2a121b4](2a121b4))
* **hub-discussions:** legacy permission checks mixed channels ([#1070](#1070)) ([07ae63d](07ae63d))
* **hub-discussions:** remove channel util function isChannelInclusive ([#1091](#1091)) ([5d36f9b](5d36f9b))
* small project enhancements ([#1074](#1074)) ([3085a6b](3085a6b))

### Reverts

* Revert "refactor: post-mod and post-delete utils for ACL (#1117)" (#1118) ([d13b2f9](d13b2f9)), closes [#1117](#1117) [#1118](#1118)
* Revert "feat: make propertyMapper more generic (#1098)" (#1099) ([272c645](272c645)), closes [#1098](#1098) [#1099](#1099)

### BREAKING CHANGES

* HubSubsystem, HubSystemStatus, isSubsystem removed

* fix: remove capabilities
* Remove all capability related functions, props, fix tests

* feat: context holds feature flags

* refactor: ensure .features persisted for S/I/P only

* refactor: update version test to account for settings.features being included

* fix: remove IEntityFeature type
* IEntityFeature type replaced with IFeatureFlag
* **hub-discussions:** remove channel util function isChannelInclusive

* refactor(hub-discussions): remove function updatePostSharing and associated interfaces

affects: @esri/hub-discussions
* **hub-discussions:** remove function updatePostSharing and associated interfaces

* test(hub-discussions): remove tests for updatePostSharing function

affects: @esri/hub-discussions

* fix(hub-discussions): bump hub-common peerDependency to ^13.0.0

affects: @esri/hub-discussions
github-actions bot pushed a commit that referenced this pull request Aug 23, 2023
# [14.0.0](https://github.com/Esri/hub.js/compare/@esri/hub-surveys@13.0.0...@esri/hub-surveys@14.0.0) (2023-08-23)

### Bug Fixes

* actually export new function from index ([#1147](#1147)) ([5d515d4](5d515d4))
* add actionLinks arg to project view model functions ([#1109](#1109)) ([cef335d](cef335d))
* add default to project schema for location ([#1093](#1093)) ([439a317](439a317))
* add GroupSchema, GroupUiSchema and other support for groups details pane ([#1154](#1154)) ([e82d49c](e82d49c))
* add memberType to SortOption ([#1177](#1177)) ([6480a8c](6480a8c))
* add missing permissions ([#1174](#1174)) ([1213e00](1213e00))
* add new SortOption type ([#1175](#1175)) ([11a74b3](11a74b3))
* add page capability permissions to capability permissions list ([#1136](#1136)) ([4ab99df](4ab99df))
* add support for group members "joined" field ([#1167](#1167)) ([fecea60](fecea60))
* address issue creating sites on portal ([#1085](#1085)) ([7243db8](7243db8))
* alpha permissions ([#1153](#1153)) ([5f2df0c](5f2df0c))
* await save in classes ([#1172](#1172)) ([aa8299d](aa8299d))
* defaultHostname and customHostname editing on site entity ([#1102](#1102)) ([9e1496d](9e1496d))
* enrichUserSearchResult will return a summary of undefined if the search result had no desc ([#1182](#1182)) ([8672d3c](8672d3c))
* ensure getNextFunction handles requestOptions.authentication cleanly ([#1176](#1176)) ([3c19e16](3c19e16))
* ensure requestOptions.authentication is UserSession instance in next() ([#1163](#1163)) ([31b6143](31b6143))
* export ihubgroup ([#1160](#1160)) ([0d29518](0d29518))
* get group from predicate not query.properties ([#1107](#1107)) ([138af9c](138af9c))
* gracefully handles cases where portal prop might not exist on ([#1137](#1137)) ([fa09ecf](fa09ecf))
* group permissions ([#1179](#1179)) ([7e4775f](7e4775f))
* handle new discussion entity ([#1146](#1146)) ([2f395bc](2f395bc))
* include owner with setAccess ([#1129](#1129)) ([3c7ab72](3c7ab72))
* limit project summary (purpose) to 2048 chars and abstract as reusable subschema ([#1090](#1090)) ([83c7a61](83c7a61))
* log checkPermission output if access not granted ([#1169](#1169)) ([8c9f396](8c9f396))
* make scope optional for IUiSchemaRule ([#1097](#1097)) ([1cef34b](1cef34b))
* modify project permissions so it is excluded from enterprise ([#1131](#1131)) ([5872d01](5872d01))
* properly translate radio button labels ([#1181](#1181)) ([54610c8](54610c8))
* remove additionalInfo from userResultToCardModel ([#1162](#1162)) ([c4c72c8](c4c72c8))
* remove license checks on view and edit project permission policies ([#1077](#1077)) ([76918b7](76918b7))
* remove name/title string as it is not wanted ([#1148](#1148)) ([01018c9](01018c9))
* rename term to name for groupMember queries ([#1110](#1110)) ([8fdeca4](8fdeca4))
* reshuffle project edit schema ([#1149](#1149)) ([13cb7ab](13cb7ab))
* revert and update content location picker ([#1164](#1164)) ([c11c019](c11c019))
* small updates to group details schemas ([#1170](#1170)) ([17b19bd](17b19bd))
* ungate group settings pane from being only owner ([#1183](#1183)) ([68533c0](68533c0))
* update clientKey to empty string in updateDomain/addDomain ([#1157](#1157)) ([84ae619](84ae619))
* update hub search result to view model signature ([#1124](#1124)) ([46290dc](46290dc))
* user selects none; location disappears correctly ([#1155](#1155)) ([3a13434](3a13434))
* **hub-common:** have capitalize() handle the empty string, change titlelize() to stop stripping whi ([#1084](#1084)) ([9a16208](9a16208))
* **hub-common:** have convertModelToSite handle invalid search categories ([#1134](#1134)) ([9dde16b](9dde16b))
* **hub-common:** saving sites guarantees a unique slug and prevents field loss in site data ([#1130](#1130)) ([16a25b6](16a25b6))
* **hub-discussions:** move allowAnonymous to channel permissions interface and add access to channel ([#1075](#1075)) ([82c59ad](82c59ad))
* **hub-discussions:** remove whitespace from IUpdateChannel documentation ([#1104](#1104)) ([5e9859c](5e9859c))

### Features

* add group settings schema ([#1180](#1180)) ([768f432](768f432))
* migrate summary stat function ([#1165](#1165)) ([53e34de](53e34de))
* remove capabilities, add featureFlags to Context ([#1184](#1184)) ([394c60c](394c60c))
* **hub-common:** add user membership enrichment and have updateSite persist catalog changes ([#1166](#1166)) ([607cfe9](607cfe9))
* **hub-common:** enriches channel with groups via hub search includes ([#1178](#1178)) ([f38271d](f38271d)), closes [#7405](https://github.com/Esri/hub.js/issues/7405)
* **hub-common:** include discussion routes ([#1168](#1168)) ([04feaaf](04feaaf))
* 7109 scaffold new HubGroup entity ([#1113](#1113)) ([ccf9ec6](ccf9ec6))
* 7162 initiative card funcs ([#1121](#1121)) ([567cfc3](567cfc3))
* add a base item entity schema ([#1106](#1106)) ([7b4606b](7b4606b))
* add canReadChannel util ([#1123](#1123)) ([5ec2c5a](5ec2c5a))
* add card section type ([#1142](#1142)) ([41618a4](41618a4))
* add dashboard capability to content, discussions,initiatives ([#1132](#1132)) ([c3e6a98](c3e6a98))
* add dashboard capability to site/project/page ([#1126](#1126)) ([cada5d3](cada5d3))
* add metrics to project capability permissions ([#1086](#1086)) ([f67c836](f67c836))
* add more support and props for Hub Group ([#1143](#1143)) ([bbdc300](bbdc300))
* add project card view model functionality  ([#1101](#1101)) ([85a8201](85a8201))
* add slug uri conversion functions and use in getItemBySlug ([#1073](#1073)) ([db9addb](db9addb))
* add workspace pane permissions for all entities ([#1171](#1171)) ([8cb94f6](8cb94f6))
* added location picker to content details ([#1150](#1150)) ([f6317b4](f6317b4))
* adds discussion create ui schema ([#1082](#1082)) ([e463998](e463998)), closes [#6876](https://github.com/Esri/hub.js/issues/6876)
* constrain temp:workspace:released permission to alpha orgs ([#1152](#1152)) ([5500dcc](5500dcc))
* context manager serialize / deserialize ([#1088](#1088)) ([f972516](f972516))
* convertModelToPage and update temp:workspace:released permission ([#1173](#1173)) ([0283ff3](0283ff3))
* EntityEditor class  ([#1127](#1127)) ([3f3beac](3f3beac))
* explain search result ([#1156](#1156)) ([d469907](d469907))
* Generic property mapper  ([#1100](#1100)) ([1f58fa9](1f58fa9))
* hubSearch supports groupMember entity type ([#1096](#1096)) ([2327cce](2327cce))
* make propertyMapper more generic ([#1098](#1098)) ([09a8d3f](09a8d3f))
* move and refactor entity editor abstractions into hub.js ([#1135](#1135)) ([0ea3d92](0ea3d92))
* page entity ([#1112](#1112)) ([50e7280](50e7280))
* page permission policy is included ([#1125](#1125)) ([6d5c559](6d5c559))
* permission parents, deprecations for Capabilities ([#1158](#1158)) ([83659b1](83659b1))
* post-mod and post-delete utils for ACL ([#1119](#1119)) ([0a6292f](0a6292f))
* search by channel name and multi access ([#1161](#1161)) ([fcd71ac](fcd71ac))
* teach hubSearch channels ([#1111](#1111)) ([82d0492](82d0492))
* user card result to card ([#1144](#1144)) ([866fbe7](866fbe7))
* workspace gating ([#1151](#1151)) ([68fedd1](68fedd1))
* **hub-common:** add content capability and define default collections to entity catalogs ([#1120](#1120)) ([7aa7f0e](7aa7f0e))
* **hub-common:** add Discussion entity schemas ([#1076](#1076)) ([5b6b704](5b6b704))
* **hub-common:** add isDiscussable mapping ([#1089](#1089)) ([0f4a84a](0f4a84a))
* **hub-common:** add name to interface ISearchChannels ([#1140](#1140)) ([674dd12](674dd12))
* **hub-common:** add unicodeToBase64 and base64ToUnicode utils ([#1095](#1095)) ([82bd6e9](82bd6e9))
* **hub-common:** create an array of valid item types ([#1083](#1083)) ([ed1d509](ed1d509))
* **hub-common:** persist modifications to site collections via updateSite ([#1139](#1139)) ([147b7fc](147b7fc))
* **hub-common:** remove required property prompt ([#1087](#1087)) ([6b7c28e](6b7c28e))
* **hub-common:** return "license" and "source" as part of results from hubSearchItems ([#1072](#1072)) ([9d086ed](9d086ed))
* **hub-common:** workspace edit content details ([#1128](#1128)) ([aa47afa](aa47afa))
* **hub-discussions:** add acl authentication to channel util function canModifyChannel ([#1092](#1092)) ([f4190a4](f4190a4))
* **hub-discussions:** add createDiscussionSetting function and associated interfaces ([#1103](#1103)) ([0183121](0183121))
* **hub-discussions:** add function fetchDiscussionSetting and associated interfaces ([#1114](#1114)) ([080b70c](080b70c))
* **hub-discussions:** add function removeDiscussionSetting with asso… ([#1108](#1108)) ([d90aac2](d90aac2))
* **hub-discussions:** add function updateDiscussionSetting ([#1133](#1133)) ([a594859](a594859))
* **hub-discussions:** add optional guidelineUrl to IChannel and ICre… ([#1078](#1078)) ([6f889a3](6f889a3))
* **hub-discussions:** expand isDiscussable ([#1079](#1079)) ([73db7f1](73db7f1))
* **hub-discussions:** expanded enum ([#1080](#1080)) ([2a121b4](2a121b4))
* **hub-discussions:** legacy permission checks mixed channels ([#1070](#1070)) ([07ae63d](07ae63d))
* **hub-discussions:** remove channel util function isChannelInclusive ([#1091](#1091)) ([5d36f9b](5d36f9b))
* small project enhancements ([#1074](#1074)) ([3085a6b](3085a6b))

### Reverts

* Revert "refactor: post-mod and post-delete utils for ACL (#1117)" (#1118) ([d13b2f9](d13b2f9)), closes [#1117](#1117) [#1118](#1118)
* Revert "feat: make propertyMapper more generic (#1098)" (#1099) ([272c645](272c645)), closes [#1098](#1098) [#1099](#1099)

### BREAKING CHANGES

* HubSubsystem, HubSystemStatus, isSubsystem removed

* fix: remove capabilities
* Remove all capability related functions, props, fix tests

* feat: context holds feature flags

* refactor: ensure .features persisted for S/I/P only

* refactor: update version test to account for settings.features being included

* fix: remove IEntityFeature type
* IEntityFeature type replaced with IFeatureFlag
* **hub-discussions:** remove channel util function isChannelInclusive

* refactor(hub-discussions): remove function updatePostSharing and associated interfaces

affects: @esri/hub-discussions
* **hub-discussions:** remove function updatePostSharing and associated interfaces

* test(hub-discussions): remove tests for updatePostSharing function

affects: @esri/hub-discussions

* fix(hub-discussions): bump hub-common peerDependency to ^13.0.0

affects: @esri/hub-discussions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants