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: teach hubSearch channels #1111

Merged
merged 15 commits into from
Jul 21, 2023
Merged

feat: teach hubSearch channels #1111

merged 15 commits into from
Jul 21, 2023

Conversation

tannerjt
Copy link
Contributor

@tannerjt tannerjt commented Jul 12, 2023

  1. Description:

This PR extends hubSearch to search for channels from the discussions API. As part of this PR, some code has moved into hub-common from hub-discussions, but should still be a non-breaking change since anything that was moved was re-exported.

This work is done in preparation for channels being made available in the hub gallery picker.

  1. Instructions for testing:

  2. Closes Issues: 7231

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

  4. used semantic commit messages

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

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

@tannerjt tannerjt added the Draft Draft PR or Issue (don't mark stale) label Jul 12, 2023
Copy link
Member

@dbouwman dbouwman left a comment

Choose a reason for hiding this comment

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

Looks good - I think most of these functions could use better comments, esp descriptions of "what" the function does, assuming the reader has no idea what a discussion channel is, and then internal to the fns, add comments about "why" something is being done. Also a note to check with Caleb re: how the apiType will get set in the gallery and passed into hubSearch. I'd recommend yalc-ing this into hub-components and getting a Channel Gallery harness up and running before merging this... save some time / releases :)

packages/common/src/discussions/api/utils/request.ts Outdated Show resolved Hide resolved
packages/common/src/search/types/IHubSearchOptions.ts Outdated Show resolved Hide resolved
@@ -82,7 +82,7 @@ export interface IApiDefinition {
// - for "arcgis-hub", the /v3/search will be added
url: string;
// We can add types as we add support for more
type: "arcgis" | "arcgis-hub";
type: "arcgis" | "arcgis-hub" | "discussions";
Copy link
Member

Choose a reason for hiding this comment

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

Check with @sonofflynn89 re: how we are going to pass the api type into the gallery - it's changed since the early implementation and I'm not sure how it's done.

Copy link
Contributor

Choose a reason for hiding this comment

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

@dbouwman I already went over the PR with Josh in a call and gave him some action items. There are some serious considerations we'll need to make before this stuff is gallery ready.

This API type is exactly the type of thing I was hoping you could give Josh more guidance on. Since the discussions API is technically a Hub API, I was initially wary about adding this additional type. However I am ok leaving this as is IF we think that we will ever need to get discussion channels via the OGC api instead of accessing the discussions API directly. What do you think?

Copy link
Member

Choose a reason for hiding this comment

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

@sonofflynn89 / @tannerjt - Arguments could be made about possible futures of the discussions api, but I think it's reasonable to put it under arcgis-hub vs adding discussions... e.g. when we add events I think we'll also put that under arcgis-hub. As for ever wanting an OGC api wrapper... who knows - let's cross that bridge when we get to it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've made changes to move into arcgis-hub for now.

Copy link
Contributor

@sonofflynn89 sonofflynn89 left a comment

Choose a reason for hiding this comment

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

Josh and I talked at length about my concerns and he is on his way to fixing them. Just a couple more comments.

packages/common/src/search/types/IHubSearchOptions.ts Outdated Show resolved Hide resolved
@@ -82,7 +82,7 @@ export interface IApiDefinition {
// - for "arcgis-hub", the /v3/search will be added
url: string;
// We can add types as we add support for more
type: "arcgis" | "arcgis-hub";
type: "arcgis" | "arcgis-hub" | "discussions";
Copy link
Contributor

Choose a reason for hiding this comment

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

@dbouwman I already went over the PR with Josh in a call and gave him some action items. There are some serious considerations we'll need to make before this stuff is gallery ready.

This API type is exactly the type of thing I was hoping you could give Josh more guidance on. Since the discussions API is technically a Hub API, I was initially wary about adding this additional type. However I am ok leaving this as is IF we think that we will ever need to get discussion channels via the OGC api instead of accessing the discussions API directly. What do you think?

Copy link
Contributor

@sonofflynn89 sonofflynn89 left a comment

Choose a reason for hiding this comment

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

Looking good! Just a couple remaining things

export function getDiscussionsApiDefinition(): IApiDefinition {
return {
type: "arcgis-hub",
url: null,
Copy link
Contributor

Choose a reason for hiding this comment

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

I would add a comment here so future devs know why we have to set it as null

channelsResponse: IPagedResponse<IChannel>,
query: IQuery,
options: IHubSearchOptions
): IHubSearchResponse<IChannel> => {
Copy link
Contributor

Choose a reason for hiding this comment

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

We still need to massage this into an IHubSearchResponse<IHubSearchResult> if we want this to work with the gallery, unless we have a plan to refactor how the gallery reasons about the results

Copy link
Contributor Author

@tannerjt tannerjt Jul 13, 2023

Choose a reason for hiding this comment

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

Thanks for pointing this out, working on it now.

@sonofflynn89 - This has been updated to return an IHubSearchResult.

Copy link
Contributor

@sonofflynn89 sonofflynn89 left a comment

Choose a reason for hiding this comment

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

Looking good to me Josh! Thanks for taking all this on!

@codecov
Copy link

codecov bot commented Jul 17, 2023

Codecov Report

Merging #1111 (843e3c6) into master (46290dc) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##            master     #1111    +/-   ##
==========================================
  Coverage   100.00%   100.00%            
==========================================
  Files          682       692    +10     
  Lines        11870     11971   +101     
  Branches      1999      2013    +14     
==========================================
+ Hits         11870     11971   +101     
Impacted Files Coverage Δ
packages/common/src/search/hubSearch.ts 100.00% <ø> (ø)
packages/common/src/types.ts 100.00% <ø> (ø)
...es/common/src/discussions/api/channels/channels.ts 100.00% <100.00%> (ø)
...kages/common/src/discussions/api/channels/index.ts 100.00% <100.00%> (ø)
packages/common/src/discussions/api/index.ts 100.00% <100.00%> (ø)
packages/common/src/discussions/api/request.ts 100.00% <100.00%> (ø)
packages/common/src/discussions/api/types.ts 100.00% <100.00%> (ø)
...ckages/common/src/discussions/api/utils/request.ts 100.00% <100.00%> (ø)
packages/common/src/discussions/index.ts 100.00% <100.00%> (ø)
...ommon/src/search/_internal/commonHelpers/getApi.ts 100.00% <100.00%> (ø)
... and 9 more

@tannerjt tannerjt changed the title feat(): teach hubSearch channels feat: teach hubSearch channels Jul 21, 2023
@tannerjt tannerjt merged commit 82d0492 into master Jul 21, 2023
6 checks passed
@tannerjt tannerjt deleted the f/7231-hub-search-channels branch July 21, 2023 15:52
github-actions bot pushed a commit that referenced this pull request Jul 21, 2023
github-actions bot pushed a commit that referenced this pull request Jul 21, 2023
# [13.22.0](https://github.com/Esri/hub.js/compare/@esri/hub-common@13.21.1...@esri/hub-common@13.22.0) (2023-07-21)

### Features

* add canReadChannel util ([#1123](#1123)) ([5ec2c5a](5ec2c5a))
* teach hubSearch channels ([#1111](#1111)) ([82d0492](82d0492))
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
Draft Draft PR or Issue (don't mark stale)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants