Commit Graph

317 Commits

Author SHA1 Message Date
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
bae6120e3b added DatabaseService to get list of database types from server 2021-05-11 15:56:41 -04:00
Shaun Walker
a5de639d15 optimizing tenant resolution and routing 2021-05-10 17:45:39 -04:00
Shaun Walker
38aebf5aff Allow installation of Language packages through Language Management 2021-05-05 19:03:06 -04:00
Shaun Walker
d42c7a5ea5 user and role management improvements 2021-04-24 13:47:20 -04:00
Shaun Walker
5a519510a9 improve comments and logging 2021-04-23 16:29:18 -04:00
Shaun Walker
9d083726be user and role management improvements 2021-04-23 16:11:35 -04: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
Shaun Walker
cbe843bafc User experience improvements 2021-04-17 19:18:24 -04:00
Shaun Walker
1d3a79437c add theme creator module to simplify the scaffolding of external themes 2021-04-07 13:05:18 -04:00
Shaun Walker
6b90e0f37b fix #1197 - move folder path logic from Client Service to Server Controller 2021-04-05 08:53:22 -04:00
Shaun Walker
58c84da9c9 add ability to test SMTP connection in Site Settings 2021-04-01 09:44:07 -04:00
Shaun Walker
09c040128a Ensure Install Wizard will only be displayed if the Master database connection string in appsettings.json is not specified. This addresses a potential security issue where the Install Wizard could be displayed in an existing installation if the Master database connection failed during startup. 2021-03-30 17:48:49 -04:00
Shaun Walker
62362b9194 make module creator templates extensible 2021-03-30 10:06:25 -04:00
Shaun Walker
d8bcc32239 refactor user deletion 2021-03-29 12:58:40 -04:00
Charles Nurse
8f1c760e87 Updated the Installation of Oqtane to use Migrations 2021-03-21 14:52:45 -07:00
Pieter Kuyck
801615c981 fix: user delete 2021-03-13 12:34:47 +01:00
Shaun Walker
12fd845ed5 Fix issue when creating assets.json and folder does not exist. Improve module/theme uninstall to remove empty folders. 2021-02-26 09:08:25 -05:00
Shaun Walker
de1107f046 Unauthenticated users need to be able to retrieve the list of languages 2021-02-14 18:35:42 -05:00
Shaun Walker
531cba715e performance and user experience improvements 2021-02-04 08:54:59 -05: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
bc0ba92303 Revert the changes in the LanguageController 2021-01-15 01:35:53 +03:00
hishamco
e938d4f801 Add Admins role 2021-01-15 00:28:59 +03:00
Pavel Vesely
f1a1a21d74 Introduce GetFolderPath and GetFilePath repository methods 2021-01-11 16:32:13 +01:00
hishamco
9b4316d6cd Fix errors 2021-01-10 21:32:11 +03:00
hishamco
aa19a35834 Add language repository & controller 2021-01-10 20:09:04 +03:00
Pavel Vesely
07711c082e FileController - content disposition 2020-12-15 11:06:52 +01:00
Pavel Vesely
14f8155df6 FileController fix
- using PhysicalFile framework method (current implementation causes file locks and 500 error at heavy load)
- Add correct mimetype to header based on file extension
2020-12-06 16:23:28 +01:00
Shaun Walker
1968b0283d
Merge pull request #967 from hishamco/language-switcher
Add Language switcher
2020-12-04 14:53:48 -05:00
hishamco
1a8125c26d Use REST style 2020-12-03 15:50:25 +03:00
hishamco
a37eb8a44a Introduce Culture model to avoid CultureInfo.DisplayName issue 2020-12-03 14:05:49 +03:00
Shaun Walker
fd60b40c53 Fixes to make site alias, page path, and module action Url resolutions case insensitive. Optimized logic for Settings component which fixed localization rendering issue. 2020-12-01 19:36:02 -05:00
hishamco
418c9888c4 Add LocalizationController 2020-12-02 01:38:00 +03:00
Shaun Walker
4401dba4ec improve user experience of Module Creator flow 2020-11-25 11:59:17 -05:00
Shaun Walker
5e42ab8cca improve user experience by delegating application restart responsibility to the host user 2020-11-24 16:22:53 -05:00
Shaun Walker
880ad0486a include syncevents on module add/update/delete to trigger reload in UI 2020-11-10 16:26:50 -05:00
Shaun Walker
b602113cd1 move version to 2.0.0 2020-11-05 09:19:56 -05:00
Shaun Walker
8eaa298d8b performance optimization to reduce calls from client to server unless content is changed 2020-11-04 15:58:13 -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
Shaun Walker
700b6e2d68 optimize performance when running on WebAssembly by caching assembly payload that needs to be served to new clients 2020-11-04 08:10:21 -05:00
Shaun Walker
b4b73b7e5a fixed compatibility issue in .NET5/WebAssembly where assemblies were not being loaded into the default AppDomain, optimized service registration on WebAssembly, fixed spelling mistake for satellite assemblies constant and fixed issue in LocalizableComponent 2020-11-03 14:41:49 -05:00
Shaun Walker
7c8beac3dc
Merge pull request #788 from sbwalker/master
Changes for .NET 5
2020-10-18 08:53:11 -04:00
Tony Valenti
3e71bdfef3 Replace string with System.Net.Mime.MediaTypeNames.Application.Octet 2020-10-16 10:38:19 -05:00
Tony Valenti
766be6c929 Factor out default controller route. 2020-10-16 10:37:17 -05:00
Tony Valenti
f33fb4d001 Factoring out Constants.AdminPane and Constants.HostUser 2020-10-16 10:23:17 -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
aad10ab1c4 Changes for .NET 5 2020-10-08 11:20:43 -04:00
hishamco
ce37d2f2d2 Skip missed satellite assemblies forlders 2020-10-03 23:26:44 +03:00
hishamco
2e2d46996a Refactoring 2020-09-30 00:07:00 +03:00
hishamco
ad9146ead1 Fix stallite assemblies folder path 2020-09-29 19:14:48 +03:00
hishamco
52d1d5841e Avoid looking for en-US culture resources 2020-09-29 18:50:06 +03:00
hishamco
396d584615 Dowanlod satellite assemblies to the browser 2020-09-29 18:01:57 +03: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
d0c8399dd9 enhanced Module Creator to allow developer to specify framework reference version so that modules can target any version including the local development environment 2020-08-29 11:30:16 -04:00
Shaun Walker
4065d87a74 improved module/theme installation by saving the list of files which are in the Nuget package and using that list to remove them during uninstall 2020-08-29 10:55:40 -04:00
Shaun Walker
760fc3b8d4 Ensure folder does not contain files during deletion and remove directory during deletion, fix validation issue in add page which would allow a user to create a page without selecting a layout, modify action dialog to use its own CSS class name so it can be styled independently from the Admin Modal, rollback "container" CSS class assigment on panes 2020-08-26 15:00: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
282579fcf2 resolve #526 remove pluralization from module creation templates 2020-08-14 12:44:37 -04:00
Shaun Walker
3fa620f3bc include logging during module and theme installation 2020-08-06 16:37:27 -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
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
Shaun Walker
6e7c8e7b05 improvements for custom authorization policy usage 2020-06-25 10:23:27 -04:00
Mike Casas
40571bfb6e Bug Fix.
Not sure why the email address was not being added to the notification.
2020-06-18 08:40:43 -04:00
Mike Casas
ab8a1e7324 Step 1. 2020-06-18 06:13:15 -04:00
Shaun Walker
1a0e8f7e19
Merge pull request #607 from chlupac/SiteRouterFix
small fixes
2020-06-12 13:04:44 -04:00
Pavel Vesely
8053cc0af6 small fixes 2020-06-12 17:48:50 +02:00
Shaun Walker
836c4505b9 fix bug #589 - Unhandled exception when trying to edit MyPage 2020-06-08 13:48:41 -04:00
Shaun Walker
5b0da056b4 Restore support for third party assembly dependencies in modules and themes when running om Wasm 2020-06-04 12:48:29 -04:00
Shaun Walker
99cad13890 restrict user data leakage 2020-06-03 19:46:47 -04:00
Jim Spillane
b0af00aa47 Fix Alias route
Added wildcard route catchall.
2020-05-27 16:58:50 -04:00
Shaun Walker
d8fca5de20 module creator templates need to be in the server project in order to be distributed with application 2020-05-20 15:31:09 -04:00
Shaun Walker
263b045c75 module creator template updates 2020-05-19 09:08:29 -04:00
Shaun Walker
09b17e142e
Merge pull request #503 from jimspillane/FixMergeFiles
Fix file upload merge
2020-05-19 07:52:07 -04:00
Jim Spillane
b8ce634f85 Fix file upload merge
Allow upload of file names that match the token pattern ".part_", but not in the file extension. For example, a file named, a.part_Y.txt, would not be uploaded.
2020-05-18 19:53:49 -04:00
Shaun Walker
1532eb7586 Optimized downloading of assemblies when using WebAssembly 2020-05-18 18:02:23 -04:00
Shaun Walker
c426302242 enhanced module creator to display location where module will be created 2020-05-16 13:40:59 -04:00
Jim Spillane
13adebb36c Add File Name validation
Apply file name validation rules to the File Controller and client.
2020-05-15 23:12:24 -04:00
Shaun Walker
9394e77fd5
Merge pull request #488 from sbwalker/master
enable module creator to add embeddedresources to csproj for internal modules
2020-05-15 12:35:52 -04:00
Shaun Walker
3cbb6e3e6e enable module creator to add embeddedresources to csproj for internal modules 2020-05-15 12:36:52 -04:00
Shaun Walker
ac03afb146 added ability to set default container at the page level, expanded size of role description in upgrade script for 0.9.2 2020-05-15 09:50:48 -04:00
Shaun Walker
51c27ae0e5
Merge pull request #486 from sbwalker/master
added ability to set default container at the page level, expanded size of role description in upgrade script for 0.9.2
2020-05-15 09:49:45 -04:00
Shaun Walker
0ea4c4d723
Merge pull request #484 from jimspillane/MoveFolderValidationToShared
Move Path and File validation to Shared Utilities
2020-05-15 09:47:37 -04:00
Shaun Walker
24ca9f4ded
Merge pull request #485 from chlupac/FileController
File Controller bug
2020-05-15 07:28:12 -04:00
Pavel Vesely
9850e249fc File Controller bug 2020-05-15 08:20:00 +02:00
Jim Spillane
39641804f1 Move Path and File validation to Shared Utilities
Created extension methods:
IsPathValid(Folder)
IsFileValid(File)
IsPathOrFileValid(string)

Added client side validation check for Folders.
2020-05-14 22:02:57 -04:00
Shaun Walker
caabac3e74 removed redundant assembly download logic, added security on download controller methods 2020-05-14 18:40:53 -04:00
Shaun Walker
82429c2545
Merge pull request #477 from jimspillane/PathTraversal
Add File and Path rules
2020-05-14 11:55:07 -04:00
Shaun Walker
cba5865e81
Merge pull request #478 from sbwalker/master
Allow modules to be installed/uninstalled with embedded scripts or IInstallable interface. Fix module uninstall issues.
2020-05-14 11:53:33 -04:00
Shaun Walker
aa97dd4d0d Allow modules to be installed/uninstalled with embedded scripts or IInstallable interface. Fix module uninstall issues. 2020-05-14 11:54:28 -04:00
Jim Spillane
8afe8e7474 Add File and Path rules
Apply the file and path naming rules found at 
https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file

Mitigate path traversal.
2020-05-14 09:53:36 -04:00
Jim Spillane
1cca18c4d2 Add additional reserved names and characters
Added CONIN$,CONOUT$ and characters <>:"/\|?*

Added .Split('.')[0] to folder.Name to catch names like CON.txt and allow names like CONTRACT.
2020-05-12 22:38:28 -04:00
Shaun Walker
598b433cd2
Merge pull request #463 from chlupac/IClientStartup
IClientStartup  implementation
2020-05-12 14:31:10 -04:00
Shaun Walker
f05c7d79e3 add security to site template API 2020-05-12 14:31:18 -04:00
Shaun Walker
6f3fe8d933 validate folder names, handle missing files more gracefully 2020-05-12 13:24:51 -04:00
Pavel Vesely
da73d519d7 IClientStartup implementation 2020-05-12 10:00:28 +02:00
Jim Spillane
a1449fb2dd Fix Uploadable files
When testing for allowable file extensions using a comma separated list, like (jpg,mp3,txt,zip), extensions such as .xt or .p3 will return true.  Adding Split(',') will test each of the extensions correctly.

Adding ToLower() will allow mixed case extensions, like .JPG or .Zip to return true.
2020-05-09 14:58:39 -04:00
Shaun Walker
f07146fd50 updated external module template to support new assembly loading criteria, fixed minor issue in assembky loading logic 2020-05-07 16:24:36 -04:00
Shaun Walker
d7ad175cd7 fixes for framework upgrade, fixes for control panel CSS styles, added AllPages attrubute for Modules, bumped version to 0.9.1 to test upgrades 2020-05-07 14:38:24 -04:00
Shaun Walker
c394c6ea7a Resolved authentication issue #441 related to alias refactoring #439, fixed breaking change in .NET Core 3.2 related to Blazor WebAssembly identification 2020-05-05 16:28:50 -04:00
Shaun Walker
a02cfea6c9 improve performance of alias handling and allow aliases to be an unlimited number of subfolders in depth 2020-05-05 09:15:36 -04:00
Shaun Walker
7c6dc6d774 Added ability to execute version specific code during framework upgrade (removed ApplicationVersion table and replaced with Version field on Tenant table), updated version number to 0.9.0 and renamed install scripts to match - this will be a baseline release which will be upgradeable 2020-05-01 10:27:14 -04:00
Shaun Walker
34538dd945 install/upgrade refactoring to consolidate all use cases and implement IInstallable interface for modules, moved tenant creation to site management UI, fixed z-order issues in Blazor theme, enhanced JS Interop methods to support integrity and crossorigin 2020-04-30 13:58:04 -04:00
Pavel Vesely
375c706029 Get custom theme and layout on a default install 2020-04-28 14:51:27 +02:00
Shaun Walker
6b2411b396 fixed merge issue 2020-04-26 13:39:56 -04:00
Shaun Walker
df3afb1e21
Merge branch 'master' into master 2020-04-26 13:27:16 -04:00
Shaun Walker
06db9efc08
Merge branch 'master' into PermissionOptimalization 2020-04-26 13:19:54 -04:00
Shaun Walker
58d3c406cd added IInstallable interface and uninstall implementation for modules. Refactoring module installation to use interface still in progress. 2020-04-26 13:15:02 -04:00
Pavel Vesely
7606e7b488 Permission Optimalization 2020-04-26 16:19:20 +02:00
Shaun Walker
ab5257cea2 Security fixes for Site Administrators to ensure proper access. Improvements to User and Role management components. Fix logic in CreateUser so that it does not prevent Administrators from creating users. 2020-04-21 15:16:12 -04:00
Shaun Walker
72995cd8fa added system info admin page/module, improved UI for framework, module, and theme install/upgrade, added version to ModuleDefinitions, fixed bug in logging logic introduced during code standardization 2020-04-20 18:05:37 -04:00
Sean Long
f0043f53ee OS independent file paths & Utility.PathCombine added
System.IO.Path.Combine provides cross-platform support for system paths, however rooted paths discarding of earlier segments
Utilities.PathCombine ensures if any parameters start with root chacters does not discard previous Utilities.PathCombine allows appending of "\\" to translate to the correct cross-platform result
2020-04-18 14:57:31 -04:00
Sean Long
c07ebdd41b Revert "Updated for consistant delimiter presence with source"
This reverts commit ce118096b7.
2020-04-18 12:54:12 -04:00
Sean Long
ce118096b7 Updated for consistant delimiter presence with source 2020-04-18 12:53:41 -04:00
Sean Long
70502cd881 OS independent file paths 2020-04-17 16:25:00 -04:00
Shaun Walker
b9d70dd11a changed ServerAssemblyName to ServerManagerType to optimize processing 2020-04-16 22:27:12 -04:00
Shaun Walker
f5e4c1dd29 fixed user registration, and updated module creator templates to use new Service approach 2020-04-16 10:21:16 -04:00
Pavel Vesely
95e9bee4e2 Migration to using System.Net.Http.Json; part one - functional migration 2020-04-15 23:07:27 +02:00
Shaun Walker
70ebd6eb35 added defensive coding to deal with scenarios where files are deleted but still references from other entities 2020-04-14 12:18:11 -04:00
Shaun Walker
f41dd06f6d fixed external module template so that it generates folder paths correctly 2020-04-13 12:48:49 -04:00
Shaun Walker
c25615546a fix to not execute uninstall script when creating a module from template 2020-04-13 08:01:25 -04:00
Shaun Walker
482747627e added uninstall support for modules 2020-04-12 20:08:19 -04:00
Shaun Walker
90a127fbb8 enhancements to ModuleCreator so that it can scaffold internal and external modules 2020-04-10 13:49:50 -04:00
Shaun Walker
7421df2970 fixed issues when running on WebAssembly, made IModule implementations consistent 2020-04-06 13:25:19 -04:00
Shaun Walker
02fde9cec3
rolled back change creating an Infrastructure.Interfaces namespace, modified IModule interface to be strongly typed (#343)
* upgrade to .NET Core 3.2 Preview 3 and fixes for issues created by #314

* Components based on Bootstrap4 for Sections and  TabStrip to increase productivity and promote uniformity in Module UIs

* rolled back change creating an Infrastructure.Interfaces namespace, modified IModule interface to be strongly typed
2020-04-05 14:39:08 -04:00
Pavel Veselý
5af6f7a52d
Namespace Fix undo (#340) 2020-04-04 14:06:24 -04:00
Pavel Veselý
71bd3a8d6a
Namespace fix (#335) 2020-04-03 17:18:33 -04:00
Shaun Walker
35f87d25be Added Favicon support, Progressive Web App support, page title and url support, and private/public user registration options 2020-03-30 20:42:43 -04:00
Pavel Vesely
940cdcb349 Database Manager
done:
+ master.sql as resource
+ implemented incremental database changes also for Master
+ dbUp sql script variables implemented
+ improved database handling and creation code
+ simpified database creation
+ almost all Database and Tenant creation moved to DatabaseManager.cs (rest code marked with TODO)
+ Unattended install of master can be performed by settings in appsettings.json
+ Improved IsInstalled checking
+ Removed DBSchema field from Tenant
+ Default database and site creation moved to Program.Main
2020-03-29 14:45:02 +02:00
Shaun Walker
d9265e127e SQL maanager, Module Creator, module settings enhancements 2020-03-24 14:08:29 -04:00
Shaun Walker
18a843e74f extensibility enhancements for site templates 2020-03-19 12:07:33 -04:00
Pavel Vesely
cf6643aef3 Client fixes
Client is partially done.
227 warnings left out of 1500
I like Rider
2020-03-15 15:19:35 +01:00
Pavel Vesely
5b3feaf26f Server naming fixes and cleanup
Server is now completely cleaned up and without warnings
2020-03-15 11:53:24 +01:00
Pavel Vesely
ab3f0853a7 Naming conventions 2020-03-14 21:52:26 +01:00
Pavel Vesely
7feee22b32 EntityNames replacements 2020-03-14 18:16:04 +01:00
Pavel Vesely
b4d3903517 Replace magic strings in other places 2020-03-14 10:12:07 +01:00
Pavel Vesely
3e1c371be6 PermissionNames constants
Replace magic strings in authorisation calls
2020-03-14 09:21:26 +01:00
Shaun Walker
fe98084324 optimizations and fixes 2020-03-11 14:39:49 -04:00
Shaun Walker
2436f74830 fixes for client-side Blazor 2020-03-10 14:44:50 -04:00
Shaun Walker
155c4e12d9 completed client state invalidation in multi-user environment 2020-03-10 10:37:42 -04:00
Shaun Walker
cb7bc282e4
Merge pull request #266 from sbwalker/master
infrastructure for dealing with client cache invalidation in a multi-user environment
2020-03-09 15:39:25 -04:00
Shaun Walker
d7b3b444b5 infrastructure for dealing with client cache invalidation in a multi-user environment 2020-03-09 15:37:49 -04:00
Pavel Vesely
979463b365 FileController parameter fix 2020-03-08 22:55:42 +01:00
Pavel Vesely
5635808813 GetFiles and GetFolder by folder path 2020-03-08 14:26:32 +01:00
Pavel Vesely
92444ccf75 GetFiles and GetFolder by folder path 2020-03-08 14:26:31 +01:00
Hisham Bin Ateya
425b4e1c67 Fix casing for constructor params 2020-03-05 20:03:54 +03:00