* Add initial classes
* Add TelemetryProviders
* Add new NodeCountService.cs and NodeTelemetryProvider
* Add data contract attribute to UsageInformation
Otherwise it wont serialize correctly
* Implement more providers
* Fix builders and propertyEditorTelemetry
* Add MediaTelemetryProvider
* Add MediaTelemetryProvider
* Fix doubling of media telemetry
* Move contentCount from NodeCountTelemetryProvider and move to ContentTelemetryProvider
* Revert ContentTelemetryProvider changes
* Add detailed information to TelemetryService
* Add integration tests
* Add more tests and todos for tests
* Fix stylecop warnings
* Use yield return instead of instantiating local list
* Implement Macro test
* Inject interface instead of implementation in TelemetryService
* Fix TelemetryServiceTests.cs
* Implement media tests
* Implement propertyTypeTests
* Implement constants instead of hardcoded strings
* Add SystemInformationTelemetryProvider
* Use SystemInformationTableDataProvider in UserDataService
* Implement more properties
* Add UsageInformation
* Replace UserDataService with SystemInformationTelemetryProvider
* Undo changes to UserDataService and obsolete it
* Remove ISystemInformationTableDataProvider
* Register SystemInformationTelemetryProvider as telemetry provider
* Use constants for telemetry names
* Make UserDataServiceTests test SystemInformationTelemetryProvider instead
* Update UserDataServiceTests to cover new data
* Add unit tests
* Add integration test testing expected data is returned
* Implement Analytics dashboard
* Improve assertion message
* Add text and styling to analyticspage
* Rename consent to analytic
* implement save button for consent level
* Implement save button
* Fix system information test
* Add TelemetryResource
* Move telemetry providers to infrastructure
* Add database provider to system information
* Set startvalue for slider
* Fix unit tests
* Implement MetricsConsentService using KeyValueService
* Return void hen setting the telemetry level
* fix startposition when not reloading
* Add a couple tests
* Update src/Umbraco.Core/Services/MetricsConsentService.cs
* Rename ConsentLevel.cs
* Use direct Enum instead of parsing
* rename consent resource
* add lazy database
* refactor slider
* Implement ng-if and propers pips
* Make classes internal
* Fix slider not loading when navigating to tab
* Add telemetry level check to TelemetryService.cs
* Add Consent for analytics text
* Fix build errors for unit tests
* Fix TelemetryServiceTests
* revert package-lock.json
* Fix integration test
* Update slider
* Update TelemetryService.cs
* Apply suggestions from code review
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk>
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
* Added functionality to enable 2FA for users..
* Do not use the obsolete ctor in tests
* cleanup
* Cleanup
* Convert User view from overlay to infinite editor
* Add support for having additional editors on top of the user (2fa) which overlay does not support
* Add controllerAs syntax in the template
* Remove unused dependencies
* Adjustments to 2fa login view
* organize elements
* add translations
* add a11y helpers
* add autocompletion = one-time-code
* change to controllerAs syntax
* add callback to cancel 2fa and fix error where submit button was not reset when all other validations were
* add a cancel/go back button to the 2fa view
* replace header with something less obstrusive
* move logout button to the footer in the new editor view
* change 'edit profile' to an umb-box and move ng-if for password fields out to reduce amount of checks
* Add umb-box to external login provider section
* add umb-box to user history section
* bug: fix bug where notificationsService would not allow new notifications if removeAll had been called
* add styling and a11y to configureTwoFactor view
- also ensure that the view reloads when changes happen in the custom user view to enable 2fa
- ensure that view updates when disabling 2fa
- add extra button to show options (disable) for each 2fa provider
* add notification when 2fa is disabled
* add data-element to support the intro tour
also changed a minor selector in the cypress test
* correct usage of umb-box with umb-box-content
* do not use the .form class twice to prevent double box-shadow
* make tranlastion for 2fa placeholder shorter
* ensure that field with 2fa provider is always visible when more than 1 provider
* move error state of 2fa field to token field
* update translation of multiple 2fa providers
* move CTA buttons to right side to follow general UI practices
* rename options to disable
* add disabled state
* add helper folders to gitignore so you can work with plugins and custom code without committing it accidentally
* move the disable functionality to its own infinite editor view
* use properties from umb-control-group correctly
* add 'track by' to repeater
* make use of umb-control-group
* remove unused functions
* clean up translations
* add Danish translations
* copy translations to english
* Only return enabled 2fa providers as expected
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* Fix relation type tests
* Fix saving content not updating the UI
We have to map to display after we've saved content or we'll be missing information generated when saving content such as ID
* Dont map to display to get isBlueprint
* ContentVersion cleanup backoffice UI (#11637)
* init rollback ui prototype
* add busy state to button, deselect version, add pagination status
* add localisation
* style current version
* disable rollback button when nothing is selected
* stop click event
* Endpoints for paginated content versions.
Light on tests, tight on time.
* Endpoints to "pin" content versions
* camel case json output.
Not sure why json formatter not set for controller, bit risky to add it now
* wire up paging
* wire up pin/unpin
* rename getPagedRollbackVersions to getPagedContentVersions
* prevent selection of current version and current draft
* add current draft and current version to UI
* remove pointer if the row is not selectable
* Improve warning for globally disabled cleanup feature.
* Fix current loses prevent cleanup state on publish.
* Added umbracoLog audit entries for "pin" / "unpin"
* Match v9 defaults for keepVersions settings
* Fix - losing preventCleanup on save current with content changes
* update pin/unpin button labels
* fix pagination bug
* add missing "
* always send culture when a doc type can vary
Co-authored-by: Mads Rasmussen <madsr@hey.com>
# Conflicts:
# src/Umbraco.Core/ContentEditing/ContentVersionMetaViewModel.cs
# src/Umbraco.Core/Models/HistoricContentVersionMeta.cs
# src/Umbraco.Infrastructure/Services/Implement/ContentService.cs
# src/Umbraco.Tests/Persistence/Repositories/DocumentVersionRepository_Tests_Integration.cs
# src/Umbraco.Tests/Services/ContentVersionCleanupService_Tests_UnitTests.cs
# src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
# src/Umbraco.Web.UI.Client/src/common/resources/content.resource.js
# src/Umbraco.Web.UI/config/umbracoSettings.Release.config
# src/Umbraco.Web.UI/umbraco/config/lang/en.xml
# src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
# src/Umbraco.Web/Umbraco.Web.csproj
* Added tests
* Misc - missed translation update
* Bugfix - DocumentVersionRepository.Get should not join culture variation
* Bugfix - Missing write lock
* Removed unnecessary view model
* Misc - kill some warnings
* Misc - Kill some more warnings
* Fixed cypress rollback test
* Bugfix - Policy returns items to delete not items to keep.
Switch to inverse behavior.
# Conflicts:
# src/Umbraco.Tests/Services/DefaultContentVersionCleanupPolicy_Tests_UnitTests.cs
Co-authored-by: Paul Johnson <pmj@umbraco.com>
* downgraded cypress, updated package
* Fixed language test
* Fix language test
* Fixed routing tests to wait for popup
* Publish test artifacts
* Added better element to wait on
* Fix routing tests for linux
* Fix language tests on linux
* Stablize tabs tests
* Implement waiting for inner tree like in content tests
* Assert that we are in settings section so we dont click an element that doesnt exist
* Fixed rollback by not doing cy.reload()
* Fix language test with correct wait
* Stabilize dataTypes by moving API Call, and stabilize systemInformation.ts test by waiting for success notification
* Fix dataTypes, tabs and template tests
* Update node to newer version in package-lock.json and fix template test
* Implemented cy.wait to test if it is because we are too fast
* Added comments
* Bigger wait
* Try another wait instead of magic numbers
Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk>
* add create language test
* add create language test
* fix bug, move test to new folder and add type definitions
* update to use culture command
Co-authored-by: Jesper <jmh@umbraco.dk>
* fixed flaky macro test and updated cypress version
* fixed flaky macro test and updated cypress version
* Update package.json
* Fixed failing tabs test
* Amend magic numbers with actual wait
* Update tests/Umbraco.Tests.AcceptanceTest/cypress/integration/Content/content.ts
* Updated UI to click on button instead of icon
* Make macro test click bottom to ensure we're not clicking on icon
Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk>
(cherry picked from commit 34be464cf8)
# Conflicts:
# tests/Umbraco.Tests.AcceptanceTest/cypress/integration/Tabs/tabs.ts
* fixed flaky macro test and updated cypress version
* fixed flaky macro test and updated cypress version
* Update package.json
* Updated cypress to 8.6 and fixed failing script test
* Updated cypress to 8.6 and fixed failing script test
* Update package-lock.json
* Fixed Scripts and stylesheet tests with proper waits instead of magic numbers
* Updated to newest version of cypress and fixed template test
* Remove duplicate click
* Revert version to 8.4.1
* changed template
Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk>
(cherry picked from commit e9ae567617)
# Conflicts:
# src/Umbraco.Tests.AcceptanceTest/package.json
# tests/Umbraco.Tests.AcceptanceTest/package-lock.json
* fixed flaky macro test and updated cypress version
* fixed flaky macro test and updated cypress version
* Update package.json
* Updated cypress to 8.6 and fixed failing script test
* Updated cypress to 8.6 and fixed failing script test
* Update package-lock.json
* Fixed Scripts and stylesheet tests with proper waits instead of magic numbers
* Updated to newest version of cypress and fixed template test
* Remove duplicate click
* Revert version to 8.4.1
* changed template
Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk>
* fixed flaky macro test and updated cypress version
* fixed flaky macro test and updated cypress version
* Update package.json
* Fixed failing tabs test
* Amend magic numbers with actual wait
* Update tests/Umbraco.Tests.AcceptanceTest/cypress/integration/Content/content.ts
* Updated UI to click on button instead of icon
* Make macro test click bottom to ensure we're not clicking on icon
Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk>
* Adjust icon in umb-checkbox and ensure icon is centered
* Missing nl translation for blockEditor_addBlock
* Implement icon parameter for doctype editor (#11008)
* fix: implement icon parameter for doctype editor
issue #10108
* fix: move color from icon to class attribute
* fix: removed defined colors, defaulting to the standard dark grey (ie "no color picked" in icon picker)
* cleaned up unused dependencies, double quotes to single, removed unused 'color' param from the create methods, and use shorthand object creation in createDocType (if the key has the same name as the variable passed as a prop, we only need to pass the key name)
* fix comment
Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
* Align sortable handle vertically in multivalues prevalue editor
* 10341: Use different picker for content types (#10896)
* 10341: Use different picker for content types
* use es6 where possible (inc removing underscore for teeny tiny performance improvement)
Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
* Falling back to contentTypeName when Block List label is empty (#10963)
* Falling back to contentTypeName when Block List label is empty
* Adding $contentTypeName variable for Block List labels
* Fix incorrect attribute
* Grid: Add button styling fix (#10978)
* Add missing focus styling
* Ensure add button is perfectly rounded and remove unused / uneeded CSS.
* Remove redundant border-color property
* Revert removal of unused css
Co-authored-by: BatJan <jaskov@gmail.com>
Co-authored-by: Jan Skovgaard Olsen <jso@co3.dk>
* Create content template localization (#10945)
* Don't use self-closing element for custom HTML elements
* Use button element for close/cancel in copy dialog
* Update localization of "createBlueprintFrom"
Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
* Cleanup examine search results, and adds ability to toggle fields (#9141)
* Cleanup examine search results, and adds ability to toggle fields
* update table to use joinarray filter with one-time binding to avoid recalculating filter values, updated filter to not explode when array arg is null
* fix failing tests - improve filter to not fail on non-array params, update tests accordingly
Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
* Add EntityController GetUrlsByUdis
Enables loading multiple URLs in a single request for Media & Documents
* Update content picker to use GetUrlsByUdis
* Allows replacing MainDom with alternate DB
There are some cases where there is a complex hosting strategy and folks want a readonly database and are hosting on Azure. In that case, it is not entirely possible to have a readonly Umbraco database because SqlMainDom is required and part of that requirement is to have read/write access to the umbraco key value table.
This PR allows for the default MainDom to be replaced and to allow for an SqlMainDomLock to use an alternate connection string so that a separate read/write database can be used.
* Remove inherited property group id/key when local properties are added (#11231)
* Remove inherited property group id/key when local properties are added
* Rebind saved content type values
* Remove inherited from save group
* Rename parameter for clarity
* Removes annoying wait text, which causes layout jank
* v8: Backoffice Welsh language translation updates (#11240)
* Updated the Welsh language file to include newly added keys (based on the en us language file)
* Updated the searchInputDescription key
* Updated the endTitle key
* Use medium sized overlay
* Use umb-icon component for icons in content type groups and tabs
* fixes wrong reference to enterSubmitFolder method in ng-keydown
* 11251: Don't add default dashboard to url
* Fix preview of SVG when height and width not are set
* If caching a published document, make sure you use the published Name… (#11313)
* If caching a published document, make sure you use the published Name. Closes#11074.
* Fix case of new node
Co-authored-by: Moore, Douglas S <Douglas.Moore@opm.gov>
* Added missing Italian translations (#11197)
* Resolve incorrect ContentSavedState for failed publish
Closes#11290 (for v8)
* add modelValue validation for server to correctly update validation errors
* 11048: Bugfix for groups and properties that get replaced (#11257)
(cherry picked from commit 1605dc10bd)
* Icon fallback to `icon-document` for existing document types (#11283)
* Align create buttons styling (#11352)
* Added button for cancelling dictionary create action
* Use hideMenu
* Align dictionary create with the other creates
* Align import documenttype
* Align for data type folder create
* Align document type create buttons
* Forgot small ng-show
* Align create media folder buttons
* Align create macro buttons
* Align create relation buttons
* Align create partial view macro folder buttons
* Align partial view folder create buttons
* Align create scripts folder buttons
* Align create scripts folder buttons
* Use primary instead of success
* V8: Duplicate MemberGroup names cause MemberGroup mixup (#11291)
* Prevented duplicate member group names
* Added English lang
* Updated 'Exist' typo
* add labels in FR and NL
* Adding property group aliases to ex.message
* Adding invalid prop group aliases as ModelState errors, so we don't introduce breaking changes
* Pointing the actual reason for invalidating composition
* Validate all content type dependencies and throw a single InvalidCompositionException
* Rename based on review comments
* Update composition validation error messages
* Update InvalidCompositionException message
* Allow switching property editor from numeric to slider (#11287)
* Make it possible to change from numeric/decimal property editor to slider without breaking editor
* Formatting
* Enables friendly pasting in multipletextbox
* UI API docs: Added reset rules for .close class
* UI API docs: Fixed incorrect method name
* 11331: Check property on instance if id is not set yet
* Fixed cypress tests
Co-authored-by: Bjarne Fyrstenborg <bjarne_fyrstenborg@hotmail.com>
Co-authored-by: Corné Strijkert <cornestrijkert@hotmail.com>
Co-authored-by: Søren Gregersen <soreng@gmail.com>
Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
Co-authored-by: patrickdemooij9 <patrickdemooij98@hotmail.com>
Co-authored-by: Callum Whyte <hey@callumwhyte.com>
Co-authored-by: Jan Skovgaard <1932158+BatJan@users.noreply.github.com>
Co-authored-by: BatJan <jaskov@gmail.com>
Co-authored-by: Jan Skovgaard Olsen <jso@co3.dk>
Co-authored-by: Søren Kottal <sk@ecreo.dk>
Co-authored-by: Paul Johnson <pmj@umbraco.com>
Co-authored-by: Shannon <sdeminick@gmail.com>
Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: Owain Jones <owain.jones@method4.co.uk>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Doug Moore <lordscarlet@idledreams.net>
Co-authored-by: Moore, Douglas S <Douglas.Moore@opm.gov>
Co-authored-by: Martino Gabrielli <39855999+ZioTino@users.noreply.github.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Mads Rasmussen <madsr@hey.com>
Co-authored-by: Jamie Townsend <jamie.townsend@unitstack.co.uk>
Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
Co-authored-by: Anders Bjerner <abjerner@skybrud.dk>