Commit Graph

378 Commits

Author SHA1 Message Date
sbwalker
0d5c3a3a0c ability to specify PageTemplates for modules 2023-05-30 15:52:27 -04:00
sbwalker
18a9c059f4 fix site provisioning issue for host module definitions 2023-05-25 14:55:46 -04:00
sbwalker
59d1a47846 add ability to modify Theme Name 2023-05-25 12:56:49 -04:00
sbwalker
95ba87945b optimize client assembly download service, add support for site level scripts 2023-05-25 12:32:21 -04:00
sbwalker
98c2f012ee ability to specify if a theme is enabled for a site 2023-05-24 13:09:10 -04:00
sbwalker
666f9c2db9 use SiteKey as a cache key for multi-tenancy 2023-05-24 10:29:45 -04:00
sbwalker
c0e6f06a5c ability to specify if a module definition is enabled for a site 2023-05-24 09:40:05 -04:00
sbwalker
e41d9008b3 ability to specify Resources in IModule and ITheme interfaces,, fixed module settings for personalized pages 2023-05-19 18:08:15 -04:00
sbwalker
f59a5c90a5 Modify the FilterModuleDefinition() method to return null if the object passed to the method is null instead of returning an initialized object 2023-05-11 17:10:39 -04:00
sbwalker
79fe224cea fix #2795 - remove protocol from alias names during add/update 2023-05-08 11:43:59 -04:00
Cody
9a9a78e0bd
Remove Admin Page/Module Registered User View 2023-05-01 20:01:49 -07:00
sbwalker
dd83e3ee67 fix #2761 - updating Module Definition name, description, category not invalidating cache 2023-05-01 15:38:18 -04:00
Shaun Walker
94a02b7bf9 add filter to exclude orphaned permissions 2023-04-11 10:35:23 -04:00
Shaun Walker
cf46210ff8
Merge pull request #2725 from thabaum/patch-17
Fixes null reference permissions issue: Fixes #2724
2023-04-11 10:22:08 -04:00
Shaun Walker
0f34c6efc5 fix #2720 - module definition permissions not being created properly for new sites 2023-04-05 10:29:51 -04:00
Cody
481f18cf1c
Fixes null reference permissions issue 2023-04-04 11:19:25 -07:00
Shaun Walker
3d23a5c79a Fix #2696 - PermissionNames not appearing in PermissionGrid 2023-03-24 12:54:46 -04:00
Shaun Walker
0a30f2b7e8 fix #2679 - fixed issue where ModuleDefinition cache properties were being overwritten (same issue as #2674 however implemented in ModuleController) 2023-03-14 11:49:38 -04:00
Shaun Walker
2c88f36e3d fix #2680 - issue when adding new site to existing installation 2023-03-14 10:26:51 -04:00
Shaun Walker
ef4e99b3a7 further optimization of permissions - removed reference to Role to reduce API payload and minimize information disclosure 2023-03-10 08:28:37 -05:00
Shaun Walker
78adb24a75 fix new installation issue 2023-03-09 16:54:44 -05:00
Shaun Walker
af3b289331 exclude legacy Permissions properties from serialization/API payload 2023-03-09 15:51:16 -05:00
Shaun Walker
0f109ab93a fx #2647 - error when creating new site in existing installation 2023-03-08 10:51:38 -05:00
Shaun Walker
1f29f77f66 fix #2624 - permission grid behavior issues 2023-03-06 12:20:20 -05:00
Shaun Walker
2b41909d47 #2618 - add backward compatibility for permissions optimizations 2023-03-02 15:34:42 -05:00
Shaun Walker
8605e3ca5a Major refactoring replacing permission strings with permission collections. These changes will require extensive regression testing. These changes may include breaking changes which will need to be identified and resolved to provide backward compatibility. 2023-02-28 17:59:21 -05:00
Shaun Walker
4913fab0b3 explicity specify optional and reload parameters 2023-02-24 14:21:03 -05:00
Shaun Walker
f2df8e96db fix #2567 - migrate tenant connection string details from database to appsettings.json 2023-02-23 16:29:15 -05:00
Leigh Pointer
52300e680a Fix for Missing Delete ModuleDefinition settings #1966
Added ISettingRepository _settings  to the public ModuleDefinitionRepository method and updated the DeleteModuleDefinition with _settings.DeleteSettings(EntityNames.ModuleDefinition, moduleDefinitionId);
2023-02-16 13:38:42 +01:00
Shaun Walker
2e61a43e4f fix #2596 - fix EF Core tracking error when updating a file in a folder which has a Capacity specified 2023-02-15 12:43:18 -05:00
Shaun Walker
0883a8dbff optimize Split() statements for consistency 2023-02-08 16:51:45 -05:00
Shaun Walker
475894b680 fix #2584 - added IsDeleted columns back to Folder and File tables to preserve compatibility for SQLite 2023-02-08 08:05:25 -05:00
Shaun Walker
02c134bf4b
Merge pull request #2580 from markdav-is/patch-3
Make ActiveDatabase setter public
2023-02-06 16:50:55 -05:00
Shaun Walker
33bc6adcb5 fix #2574 - check for null ModuleDefinition reference when loding permissions in PageModuleRepository (credit @beolafsen) 2023-02-06 16:49:45 -05:00
Mark Davis
85ac8dd701
Make ActiveDatabase setter public
We have two cases where we need to override the active database:  Unit Testing and added GraphQL.  In both of these cases, we have a database context that is in a different scope than the automatically assigned active database during normal Oqtane startup.  Our work-around has been to make this setter public.  Unless there is a better solution to our cases, I feel this change would be useful for others as well.
2023-02-04 09:04:54 -08:00
Shaun Walker
c2375c897d permission updates 2023-01-10 08:20:32 -05:00
Shaun Walker
e136972cd7 add support for API permissions at the UI layer - including ability to delegate user, role, profile management 2023-01-09 11:38:25 -05:00
Shaun Walker
7489d9d186 move UI logic from FileService to FileManager, add progressive retry logic, update file attributes if uploading a new version of a file, clean up temporary artifacts on failure, improve upload efficiency 2022-11-09 21:11:02 -05:00
Shaun Walker
6182b96d16 Scope permissions by SiteId to support entity level authorization as well as improve caching and performance. Optimize GetTenant to use existing cache. 2022-11-07 18:16:32 -05:00
Shaun Walker
282a0b0c44 Fix #2382 - Admin pane improvements 2022-09-02 18:10:13 -04:00
Shaun Walker
075748d697 made folder paths cross platform, introduced file handler for abstracting the serving of files, enabled url mapping for broken file links, resolved public folder deletion issue 2022-08-30 07:21:52 -04:00
Shaun Walker
3c6ebd7742 performance improvements to reduce http and database interactions 2022-08-12 16:47:51 -04:00
Shaun Walker
f96129fa37 Blazor Hybrid / .NET MAUI support 2022-08-11 17:09:32 -04:00
Shaun Walker
985f003e6d add ability to supply connection string in Add Site 2022-07-26 10:12:54 -04:00
Shaun Walker
5762ce58a4 introduce ITransientService interface for auto registration of transient services (for DBContexts and Repositories) 2022-07-26 09:41:42 -04:00
Shaun Walker
b3feda9fd1 performance optimization for permissions 2022-07-19 10:49:33 -04:00
Shaun Walker
f97a6a2bee Added version to Language Management, improved framework performance by loading languages into PageState, include all supported cultures and allow Administrator to add any language to a site regardless of translation availability, fix translation upgrade issue 2022-07-16 09:59:47 -04:00
Shaun Walker
79c8126c4a Fix #2230 - add support for an Unauthenticated User global role 2022-06-07 15:25:44 -04:00
Shaun Walker
1978bf151f add support for external login parameters and improve diagnostic messages related to claims 2022-05-12 13:51:46 -04:00
Shaun Walker
53ead7a03f fix #2185 - alias auto registration including trailing slash 2022-05-10 08:03:38 -04:00
Shaun Walker
345b0bc95f fix #2182 - modifications to address MySQL compatibility issues 2022-05-08 22:14:26 -04:00
Shaun Walker
e4c648ee92 completed antiforgery implementation, improved external login claim mapping, principal construction, and user experience 2022-04-22 17:54:20 -04:00
Shaun Walker
6dc1d42d90 fix #2125 - cannot login using WebAssembly, remove granular 404 logging as it is already managed by url mapping, make IModule ReleaseVersions optional when using EF Core migrations 2022-04-13 19:27:12 -04:00
Shaun Walker
3abfbab5d1 Fix #2111 - Adding user to Host role removes all other users roles 2022-04-05 17:11:13 -04:00
Shaun Walker
042083c0e7 fix logic issue in url mapping, improve 404 handling, add property change component notifications 2022-04-04 17:16:12 -04:00
Shaun Walker
c8129607e8 cleanly separate SiteState service for client and server use cases 2022-03-27 21:05:44 -04:00
Shaun Walker
f9432acf1b remove SiteSettings from Alias for better separation of concerns 2022-03-27 19:47:52 -04:00
Shaun Walker
79f427e10a consolidate user creation 2022-03-24 12:32:41 -04:00
Shaun Walker
1a86b80c61 More improvements to OIDC support 2022-03-19 13:42:19 -04:00
Shaun Walker
0fba385b9e Enhanced Purge Job to include retention policy for Notifications 2022-02-24 12:37:06 -05:00
Leigh Pointer
073d330db4 Fix for Module Settings Import and Export #2019
Added the module Settings so they are available for the Import and Export Interface.
2022-02-23 14:33:24 +01:00
Shaun Walker
5aed64f614 fixed #1989 - installation on SQLite failing due to DropColumn, fixed #1986 - IClientStartup not getting called for External Modules, added ability to correlate new visitors by IP address 2022-02-10 08:05:55 -05:00
Shaun Walker
c635351a12 resolved UI error when closing Event Log and Visitor Management, made button class consistent in Recycle Bin, refactored RichTextEditor, made use of ConfigManager consistently throughout framework, added support for deleted Sites, removed reference to Runtime in Startup as it is now set per Site, added versioning to Html/Text, added Meta tag support to Page Management 2022-02-06 12:19:42 -05:00
Shaun Walker
f964e0e502 added router support for url fragments, added language attribute to HTML document tag to improve validation, fixed Theme Settings so they can only be invoked via the Control Panel, added support for webp image files 2022-01-22 19:34:30 -05:00
Shaun Walker
9e04230d99 added interop method for setting scroll position, persisted RemoteIPAddress in PageState so it is available on Blazor Server, added support for forwarded headers from load balancers and proxy servers, replaced DateTime.Now references DateTimeUtcNow for consistency, fixed issue where upgrade logic was being executed for prior version 2022-01-13 07:18:37 -05:00
Shaun Walker
e2688e6feb include purge job for maintaining event logs and visitor logs 2022-01-07 23:30:29 -05:00
Shaun Walker
c21a097fd2 added support for default alias specification, alias auto registration, alias redirect, alias line break delimiters 2021-12-22 15:43:59 -05:00
Shaun Walker
6a2ff369ea Add support for IsPublic to all Setting types, enable Url Mapping for internal links 2021-12-18 10:35:22 -05:00
Shaun Walker
e3ebbde767 add logging for the logout event to the UI component, relocate module setting deletion to repository 2021-12-15 10:33:12 -05:00
Shaun Walker
2f34bf69e3 moduledefinition settings and host settings 2021-12-09 15:50:00 -05:00
Shaun Walker
d1ade8789b
Merge pull request #1832 from leigh-pointer/ModuleDefinitionSettings
Settings for ModuleDefinitions #1829
2021-12-09 13:35:54 -05:00
Shaun Walker
9c32937c83 added support for url mapping and viitors 2021-12-09 08:48:56 -05:00
Leigh
a21a2ab3bb Settings for ModuleDefinitions #1829
Add Update settings for the ModuleDefinition
2021-11-24 16:06:52 +01:00
Shaun Walker
f00ea09b6e file manager component improvements 2021-09-16 18:04:50 -04:00
Shaun Walker
898b908c1b Added support for File descriptions, Folder capacity and image sizes. Added image resizing capability using ImageSharp - implemented in user profile. Added parameter to disable image preview in FileManager component. Overhauled Pager component and added Columns parameter for Grid mode. Populated PageState.User.IsAuthenticated in SiteRouter. Added support for zero price commercial extentions. 2021-09-15 08:02:55 -04:00
Shaun Walker
bb5ca475d3 fix #1628 - make DBContext Transient, modify Control Panel to use standard Bootstrap 5 offcanvas classes, add auto trimming to file logger, fix issue in File Repository related to populating Url on Add/Update. 2021-09-01 09:01:11 -04:00
Shaun Walker
39ccc30680 fix Type label in Add Folder UI, make Profile description required, fix misc Bootstrap 5 cosmetic issues, fix #1618 Alias case sensitivity in router, fix File add and update methods so they return Url, fix UrlCombine helper method to use proper slash, enhance package installation to support commercial options 2021-08-26 18:20:58 -04:00
Shaun Walker
ffcc229c78 support for commercial modules, themes, translations 2021-08-16 09:46:02 -04:00
Shaun Walker
eea417ff44 added logging for startup issues 2021-07-01 07:37:03 -04:00
Shaun Walker
bf6edceb36 Fix issue where module definition version was not being loaded correctly on startup. Also user customizable module definition properties were being overwritten on upgrade. 2021-06-28 10:21:48 -04:00
isaeed
91a1bfcab2 adding SaveChangesAsync overloads to support Async save 2021-06-20 17:52:41 +05:00
Shaun Walker
3bc5744007 improved error handling, improved consistency of console error messages, added ability to add a Decimal column in Migrations 2021-06-18 13:01:42 -04:00
Shaun Walker
d32b622f7e allow order to be defined in page templates 2021-06-16 17:24:45 -04:00
Shaun Walker
65a14da5a9 improve validation and exception handling in API Controllers 2021-06-15 19:11:00 -04:00
Shaun Walker
28694fc11f added defensive logic to app.razor, relocated shared resource definition in preparation for utilizing shared resources 2021-06-14 17:29:23 -04:00
Shaun Walker
d82fc8be90 added IsClickable Page property #1092, improve validation in Role Management, display database information in SQL Management, improve HttpClient header support 2021-06-10 20:10:46 -04:00
Shaun Walker
82c05a841f Improve validation and error handling in Controller methods 2021-06-07 15:29:08 -04:00
Shaun Walker
fab06a5279 create Public folder during installation 2021-06-04 12:30:46 -04:00
Shaun Walker
3db12a225b use secure Packages location for upgrade process 2021-06-02 16:53:55 -04:00
Shaun Walker
a144a5c432 improved legacy support for module authorization policy 2021-05-27 21:01:25 -04:00
Shaun Walker
c07e766e57 add support for public content folders 2021-05-26 12:01:35 -04:00
Charles Nurse
9c0cef870c Merge AppVersions information into EFMigrationsHistory table 2021-05-25 12:17:44 -07:00
Shaun Walker
72b06b16cf fix #1272 - add support for ref folder in package installation 2021-05-24 15:50:38 -04:00
Charles Nurse
4a609b444e Rename IOqtaneDatabase interface (and related base class) 2021-05-24 11:57:47 -07:00
Shaun Walker
5c21ab37ee added PackageName property to IModule and ITheme interfaces to allow creators to specify the Nuget package name associated to a specific module/theme. This is necessary for packages which contain multiple extensions. 2021-05-24 08:59:50 -04:00
Charles Nurse
47c04dc150 Convert Database projects so they build installable Packages rather than deploy to bin and modify installation to deploy Databases on demand as needed. 2021-05-20 12:39:09 -07:00
Charles Nurse
c036a9d11f Remove DbConfig and new constructors on DbContextBase and refactor Migrations to use explcit generation of IOqtaneDatabase instance 2021-05-12 15:17:40 -07:00
Charles Nurse
92dd8354ba Switch DBType to use the fully-qualified type name rather than a simple name 2021-05-12 10:22:17 -07:00
Charles Nurse
4ffdcf1e52 Remove dependency of Oqtane.Server on SqlClient 2021-05-11 13:56:49 -07:00
Shaun Walker
a5de639d15 optimizing tenant resolution and routing 2021-05-10 17:45:39 -04:00
Shaun Walker
2244fcc814
Merge pull request #1259 from hishamco/more-localization
Localize Page Template Module Titles
2021-04-30 07:35:21 -04:00
hishamco
d7966f2acf Revert changes in SiteRepository 2021-04-29 02:42:01 +03:00
Shaun Walker
d42c7a5ea5 user and role management improvements 2021-04-24 13:47:20 -04:00
Shaun Walker
310c782326
Merge pull request #1274 from sbwalker/dev
user and role management improvements
2021-04-23 16:09:19 -04:00
Shaun Walker
9d083726be user and role management improvements 2021-04-23 16:11:35 -04:00
Shaun Walker
e7c5ca2c1a
Merge pull request #1254 from chlupac/alias
Default Alias
2021-04-20 17:07:20 -04:00
hishamco
9d9a5a0275 Localize modules title 2021-04-20 16:20:24 +03:00
Shaun Walker
40f8436947
Merge pull request #1239 from cnurse/dev
Implement Database Migrations and add Multi-Database Support
2021-04-19 21:11:11 -04:00
Charles Nurse
74c403cef1 Merge remote-tracking branch 'upstream/dev' into dev 2021-04-19 11:08:35 -07:00
Pavel Vesely
468f186511 Default Alias
When alias is not found in alias table, Oqtane fails with exception. This solution allows define default alias (*) for default site with unknown alias.
2021-04-19 20:03:18 +02:00
Shaun Walker
cbe843bafc User experience improvements 2021-04-17 19:18:24 -04:00
Charles Nurse
8c45b7e42f Added support for migrating existing Oqtane installations from DbUp to Migrations. Also added a Migration for version 2.0.2, and set current version to 2.1.0 2021-04-08 12:20:21 -07:00
Shaun Walker
d05747af1e enhanced ModuleActions component to display panes in a submenu, added more containers to Oqtane theme, added more panes to MultiPane layout, added module outline in edit mode to distinguish modules in panes, consolidated to use a single default AdminPane named "Content", fixed bug related to custom Admin Container behavior 2021-04-06 17:45:11 -04:00
Charles Nurse
e6530ee127 Added support for MySQL and ProgreSQL and AddSite/Tenant 2021-04-02 10:55:00 -07:00
Shaun Walker
14480edd67 added globally unique identifier for Site ( used string data type to ensure compatibility with multiple database engines ) 2021-04-02 12:30:20 -04:00
Shaun Walker
d8bcc32239 refactor user deletion 2021-03-29 12:58:40 -04:00
Charles Nurse
2fb63e8117 Added suuport to inject an IOqtaneDatabase in EntityBuilders to allow each Database to control certain Migration behaviors. Also updated Installer to dynamically build Database Configuration section 2021-03-27 11:16:16 -07:00
Charles Nurse
3a032f401a Added IDatabase interface and refactored to use it to handle database type - updated Installer to dynamically add databases to selector 2021-03-24 11:45:44 -07:00
Charles Nurse
cbcfc88492 Add support for Sqlite - Installation path tested but AddSite not supported yet 2021-03-23 11:06:18 -07:00
Charles Nurse
8f1c760e87 Updated the Installation of Oqtane to use Migrations 2021-03-21 14:52:45 -07:00
Charles Nurse
83e5502111 Creation of EF Core Migrations - these execute using EF Tools, but are not integrated to run programmatically 2021-03-19 17:01:49 -07:00
Pieter Kuyck
801615c981 fix: user delete 2021-03-13 12:34:47 +01:00
Charles Nurse
c64f350f36 Create new DbContextUtils class and move common SaveChanges code to this class. While MasterDbContext has no entities that support IDeletable it does not hurt to check and minimizes duplication 2021-03-06 16:06:29 -08:00
Charles Nurse
8376a09ad6 Create new UseOqtaneDatabase extension method and replace all uses of UseSqlServer.
This is a preparative step to locate all database configuration in one file.
2021-03-06 14:13:06 -08:00
Shaun Walker
531cba715e performance and user experience improvements 2021-02-04 08:54:59 -05:00
hishamco
5a660f2634 Reset IsDefault per site Id for new language 2021-01-23 23:48:10 +03:00
Shaun Walker
c0ed7c7934 Localization fixes - table definition, SQL script naming, SQL script not marked as Embedded Resource, changed column name from IsCurrrent to IsDefault to reflect intent, set default language for site in _Host 2021-01-21 17:09:34 -05:00
Shaun Walker
82a118b603 notification improvements 2021-01-18 14:39:56 -05:00
Shaun Walker
b4aec286ed
Merge pull request #1045 from hishamco/language-management
Add Languages Management
2021-01-18 08:30:31 -05:00
hishamco
e938d4f801 Add Admins role 2021-01-15 00:28:59 +03:00
Shaun Walker
edbdfe454e
Merge pull request #1047 from chlupac/GetPath
Introduce GetFolderPath and GetFilePath repository methods
2021-01-12 09:41:09 -05:00
Pavel Vesely
f1a1a21d74 Introduce GetFolderPath and GetFilePath repository methods 2021-01-11 16:32:13 +01:00
hishamco
932c5590af Make sure one language is set to current 2021-01-11 00:11:30 +03:00
hishamco
70595eb90a Fix Language table 2021-01-10 23:50:21 +03:00
hishamco
91a844c910 Add language management page template 2021-01-10 23:17:03 +03:00
hishamco
aa19a35834 Add language repository & controller 2021-01-10 20:09:04 +03:00
Shaun Walker
a61a2f748c fixed issue with Sql Management and System Info missing icons after new installation 2021-01-05 09:00:42 -05:00
Shaun Walker
97cec46ec1 load module settings automatically so that they are part of the ModuleState and can be easily accessed by developers 2020-11-04 15:40:57 -05:00
Tony Valenti
c683de2cda Refactor TenantNames.Master 2020-10-16 10:45:13 -05:00
Tony Valenti
955e7a3856 Factored out Contants.*** Role into RoleNames.***
Renamed 'AllUsers' to 'Everyone'
2020-10-16 06:22:52 -05:00
Shaun Walker
8196112a59 fixed Theme install/uninstall issue, fixed Layout inheritance issue, fixed File server performance issue, cleaned up remaining hardcoded permission strings 2020-09-16 15:24:07 -04:00
Shaun Walker
809946685a resolved #604 - added support for renaming files and moving to a different folder. Also added support for renaming folders and moving to a different parent folder. 2020-08-16 19:00:49 -04:00
Shaun Walker
9db4985b14
Merge pull request #655 from alexhendel/fix-path-handling
Fix directory separator for path operations
2020-07-16 10:27:34 -04:00
Alexander Hendel
807252c9e5 Fix directory separator for path operations 2020-07-15 16:09:19 +02:00
Shaun Walker
b5db62ef6a remove line feeds from content during import 2020-07-09 08:45:23 -04:00
Shaun Walker
f515def414 Html encode job log messages, add new IModule property to allow modules to specify Runtime support, provide feedback during module content import, remove default EditMode option at the Page level (should be implemented at Module level) - resolves issue where Admin modules could not be deleted, include link to Event Log in AddModuleMessage for Error message type, fixed fallback support for themes in siterouter, integrated auth policy into site templates for Module Creator 2020-07-08 19:56:02 -04:00
Pavel Vesely
2e7cfefb2e Notification Repository Breaking change fix 2020-07-01 14:23:55 +02:00
Shaun Walker
65df0549fd
Merge pull request #625 from mikecasas/feature-email
Send notification based on a future datetime
2020-06-19 17:24:31 -04:00
Shaun Walker
99d99ca6ad upgrade themes to latest Bootstrap, fix breaking change to ThemeBase due to IThemeControl being removed 2020-06-19 17:22:26 -04:00
Mike Casas
ee5553ad8a Step 2. 2020-06-18 07:35:40 -04:00