Commit 371f279
committed
Merge branch 'release/4.5.0' into master
This update focuses primarily on minor feature improvements, such as new extension methods for `Topic` (7d08ac6) and `AttributeValueCollection` (9795dd1), as well as new utility functions in the SQL schema (1e9b1d5), such as `GetUniqueKey()` (a2ac659) and `GetTopicIDByUniqueKey()` (ea97f91). It also includes a number of bug fixes as well as some cleanup. Most notably, it fixes a bug where existing attributes values cannot be reset to empty under certain circumstances—notably include those involving the OnTopic Editor (1e4812f).
Features and Improvements
- Added `MarkClean()` methods to `AttributeValueCollection` to improve the semantics for `IsDirty` tracking and to better account for deleted attributes (1e4812f)
- Added `FindAll()` (4dbf872), `FindFirstParent()` (aa54ccf), and `GetContentTypeDescriptor()` (026e7a3) extension methods for `Topic` (7d08ac6)
- Added `GetDouble()` (148a1b1) and `SetDouble()` (23f9ce2) extension methods to `AttributeValueCollection` (9795dd1)
- Added `GetChildTopicIDs()` (8e0eca5) and `FindTopicIDs()` (1dfd333) functions in order to facilitate tree traversal and lookups in SQL
- Added `GetUniqueKey()` (a2ac659), `GetTopicIDByUniqueKey()` (ea97f91), and `GetExtendedAttribute()` (28a4694) functions, as well as a `UniqueKeyIndex` view (b09ca5d) to the SQL database schema (1e9b1d5)
- Added and implemented (68492d2) the `AddOrReplace()` (cd92791) and `TryAdd()` (027ae25) methods to the `StaticTypeLookupService` to simplify inheritance (6687431)
- Significant updates to `GenerateNestedSet` to support transactions and topic ordering, while eliminating the need for `Topics.RangeRight` to allow `NULL` (c6b50f3)
Bug Fixes
- Fixed a bug where a deleted attribute might not get saved since deleted attributes didn't result in the `AttributeValueCollection` being marked as `IsDirty()` (1e4812f)
- Updated `GetAttributes()` stored procedure as a function (aa040ef) to return the latest version of both indexed and extended attributes (05ae378)
- Used UTC time for `@Version` parameter when updating the database via `SqlTopicRepository.Save()` to avoid time mismatches between computers (d85743d)
- Updated `RelatedTopicCollection.RemoveTopic()` to remove reciprocal `IncomingRelationships` in order to avoid stale content or orphaned references (4514244)
- Improved validation for `TopicRepositoryBase.Delete()` (67b70ca), including checks for `isRecursive` mismatches (29c904a) and orphaned `DerivedTopic`s (58057e1), as well as handling of orphaned relationships (13e4fe9, 2550779)
Cleanup
- Cleanup of SQL objects (c997b0e), including moving `UniqueKeyIndex` (4a17205), `LeftRightRange` (e565f0e), and `Hierarchy` (now `AdjacencyList`) to the `Utilities` schema (17b98b4), and removal of legacy `SimpleIntListToTbl` and `Split` functions (f0e781b).
- Applied updates based on new code analysis warnings (b00cfad)
Potentially Breaking Changes
- Moving, renaming, and deleting of utility objects in SQL database schema (c997b0e)
- Setting default for `ITopicRepositoryBase.Delete()`'s `isRecursive` parameter from `false` to `true` to maintain backward compatibility (1773113)
Note: These aren't expected to break any actual implementations. In particular, utility objects are not referenced from the products, and most weren't previously documented, so it's not expected that they would have been integrated with or called from third-party implementations. Similarly, while the change to `ITopicRepositoryBase.Delete()` changes the default, it does so to _avoid_ a behavioral change.File tree
87 files changed
+1844
-414
lines changed- OnTopic.AspNetCore.Mvc.Host
- Components
- Views
- OnTopic.AspNetCore.Mvc.Tests
- OnTopic.AspNetCore.Mvc
- Components
- Controllers
- OnTopic.Data.Caching
- OnTopic.Data.Sql.Database
- Functions
- Stored Procedures
- Tables
- Utilities
- Stored Procedures
- Tables
- Views
- OnTopic.Data.Sql
- OnTopic.TestDoubles
- OnTopic.Tests
- ViewModels
- OnTopic.ViewModels
- OnTopic
- Attributes
- Collections
- Internal
- Collections
- Diagnostics
- Reflection
- Mapping
- Annotations
- Metadata
- AttributeTypes
- Querying
- Reflection
- Repositories
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
87 files changed
+1844
-414
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | | - | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | | - | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
7 | 10 | | |
8 | 11 | | |
9 | 12 | | |
| |||
13 | 16 | | |
14 | 17 | | |
15 | 18 | | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
4 | | - | |
5 | | - | |
| 1 | + | |
6 | 2 | | |
7 | 3 | | |
8 | | - | |
| 4 | + | |
9 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
8 | 13 | | |
9 | 14 | | |
10 | 15 | | |
11 | 16 | | |
12 | 17 | | |
13 | 18 | | |
14 | 19 | | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
6 | 8 | | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
10 | | - | |
11 | | - | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
8 | 13 | | |
9 | 14 | | |
10 | 15 | | |
| |||
13 | 18 | | |
14 | 19 | | |
15 | 20 | | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | 8 | | |
13 | 9 | | |
14 | 10 | | |
15 | 11 | | |
16 | 12 | | |
17 | 13 | | |
18 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
Lines changed: 39 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
13 | | - | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
50 | 49 | | |
51 | 50 | | |
52 | 51 | | |
| |||
57 | 56 | | |
58 | 57 | | |
59 | 58 | | |
60 | | - | |
| 59 | + | |
61 | 60 | | |
| 61 | + | |
62 | 62 | | |
63 | | - | |
| 63 | + | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
66 | 69 | | |
67 | 70 | | |
68 | 71 | | |
| |||
71 | 74 | | |
72 | 75 | | |
73 | 76 | | |
74 | | - | |
75 | | - | |
76 | 77 | | |
77 | 78 | | |
78 | 79 | | |
| |||
84 | 85 | | |
85 | 86 | | |
86 | 87 | | |
87 | | - | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
88 | 103 | | |
89 | 104 | | |
90 | 105 | | |
91 | 106 | | |
92 | 107 | | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
93 | 121 | | |
94 | 122 | | |
95 | 123 | | |
96 | | - | |
97 | | - | |
98 | | - | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
99 | 127 | | |
100 | 128 | | |
101 | 129 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | | - | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
0 commit comments