Commit Graph

261 Commits

Author SHA1 Message Date
Shaun Walker
06812d5df8 improve BaseUrl handling for MAUI, replace ContentUrl with FileUrl and improve file server 2022-09-21 13:38:21 -04:00
Darryl Koehn
ba97f63338 Make sure Job date times are stored in the database as UTC. This is required if using Postgres or you will get an exception with a message of “Cannot write DateTime with Kind=Unspecified to PostgreSQL type 'timestamp with time zone', only UTC is supported.”. 2022-09-07 12:46:24 -06: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
32d6d143dd Prepare for 3.2.0 release 2022-08-19 15:54:33 -04:00
Shaun Walker
f96129fa37 Blazor Hybrid / .NET MAUI support 2022-08-11 17:09:32 -04:00
Shaun Walker
b35c342960 prepare for 3.1.4 release 2022-07-26 17:22:06 -04:00
Shaun Walker
557b30815e use package name as a convention for identifying satellite assemblies 2022-07-18 13:14:34 -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
dde7094fe3 prepare for 3.1.2 2022-05-12 20:55:11 -04:00
Shaun Walker
cbca8c9e93 prepare for 3.1.1 release 2022-04-24 20:19:44 -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
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
3194c5b600 remote service support via Jwt 2022-03-30 08:07:03 -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
b92a888583 factor out auth constants, remove TAlias is Alias is not an extensible type, improve SiteOptions cache clearing, improve principal validation, localization improvements 2022-03-26 17:30:06 -04:00
Shaun Walker
4566ea436c prepare for 3.1 release 2022-03-23 15:04:03 -04:00
Shaun Walker
9b69e135d9
Merge pull request #2053 from leigh-pointer/FileConstants
Fix for File Upload Failed {Error} .json file #2052
2022-03-13 22:56:50 -04:00
Shaun Walker
9bbbff31f8 Added support for per site options and OpenID Connect 2022-03-13 22:55:52 -04:00
Leigh Pointer
432429026b Fix for File Upload Failed {Error} .json file #2052
Udate to FileUpload Constant 
added extensions json, xml, xslt, rss, html, htm, css
This is an interim fix with plans to make the upload extensions a soft implementation.
2022-03-09 14:27:14 +01:00
Shaun Walker
2b768165e5 prepare for 3.0.3 release 2022-02-11 16:59:48 -05:00
Shaun Walker
9d17804ac7 improved UX in Event Log by preserving criteria when viewing Details, added RowClass and ColumnClass parameters to Pager component, added initial-scale=1.0 to viewport specification in _host, added default visitor tracking filter, fixed "The given key 'level' was not present in the dictionary" issue in Visitor Management - Details by ensuring data was fully loaded 2022-01-27 18:12:04 -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
11002efc02 hide deleted pages in Admin Dashboard, impove Settings API by replacing IsPublic with IsPrivate, isolate Setting updates to not affect PageState, make Pager horizintally scrollable on narrow viewports, improve LocalizableComponent to support embedded controls 2022-01-14 13:26:24 -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
cea5f86df4 prepare for 3.0.2 release 2022-01-11 17:46:36 -05:00
Shaun Walker
6af5682548 increment copyright date to 2022, allow scheduled jobs to support weekly interval, improve dynamic image generation, add defensive logic to router 2022-01-05 14:28:42 -05:00
Shaun Walker
2f34bf69e3 moduledefinition settings and host settings 2021-12-09 15:50:00 -05:00
Shaun Walker
9c32937c83 added support for url mapping and viitors 2021-12-09 08:48:56 -05:00
Shaun Walker
53ff491efd Assorted enhancements 2021-11-24 08:08:39 -05:00
Shaun Walker
29bd31f609 upgrade to .NET 6 and increment version to 3.0.0 2021-10-19 15:33:03 -04:00
Shaun Walker
3e9a4f2c1a Fixed validation issue in Role Managment - Users. Modified FileManager component to allow Folder parameter to contain a folder path which is translated to a FolderId internally and refactored Packages folder logic. 2021-10-06 17:20:44 -04:00
Shaun Walker
306b78b526 Added ability for Runtime and RenderMode to be set per Site - enabling the framework to support multiple hosting models concurrently in the same installation. Fixed WebAssembly Prerendering issue (this also resolved the issue where the component taghelper was not passing parameters correctly to the app when running on WebAssembly). Fix #1702 - remove web,config from upgrade package. 2021-10-05 14:32:05 -04:00
Shaun Walker
c2be84a367 increment version to 2.3.1 2021-09-27 11:43:57 -04:00
Shaun Walker
57db7c1efc update version to 2.3.0 in preparation for release 2021-09-22 11:55:01 -04:00
Shaun Walker
f739db1e42 Enhance Settings API for public Site Settings. Added Settings to Site model by default. Added new parameters to Login and UserProfile components. Enhanced Oqtane Theme settings to use new component parameters. Enhanced image download and resizing logic. 2021-09-20 17:15:52 -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
14fbc3a5b4 fix #1647 - module reordering on page issue 2021-09-10 13:12:00 -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
e4201c1a4d allow host username to be specified during installation, allow user to be added to host role, refresh user list after delete, improve date/time entry in scheduled jobs, require license acceptance during module and theme install 2021-08-06 12:59:56 -04:00
Shaun Walker
a79535d7d1 prepare for 2.2.0 release 2021-07-05 15:22:24 -04:00
Shaun Walker
eea417ff44 added logging for startup issues 2021-07-01 07:37:03 -04:00
Shaun Walker
9e004f5b3c add ability to register for updates 2021-06-27 08:48:18 -04:00
Shaun Walker
c4e6a4af49 fix remaining default resx differences, enhance module message with ability to dismiss, fix issue in ConfigManager.RemoveSetting, introduce package registry service 2021-06-22 14:14:46 -04:00
Shaun Walker
bc720555c4 refactoring, enhancements, and some fixes 2021-06-10 08:16:02 -04:00
Shaun Walker
060f764da7 separated updater from main solution 2021-06-03 08:37:56 -04:00
Shaun Walker
fbce6c7248 automate the 2.1.0 upgrade 2021-05-27 16:18:45 -04:00
Shaun Walker
50ac9236af move database projects into their own solution to keep the streamline main solution 2021-05-26 17:46:08 -04:00
Shaun Walker
c07e766e57 add support for public content folders 2021-05-26 12:01:35 -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
Shaun Walker
09537ab0e4 auth improvements related to multi-tenancy 2021-05-19 08:46:02 -04: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
9037f49680
Merge pull request #1294 from cnurse/dev
Adding new DatabaseConfig components in the Client project for supported Databases
2021-04-28 15:30:22 -04:00
Charles Nurse
1efd623a99 Adding new DatabaseConfig components in the Client project for supported Databases to avoid deploying server dlls to client 2021-04-27 15:35:10 -07:00
ijungleboy
a531a235a0 Make version static-readonly
https://github.com/oqtane/oqtane.framework/issues/1283
2021-04-26 13:51:37 +02:00
Shaun Walker
f9f0999315
Merge pull request #1260 from hishamco/supported-cultures
Remove supported cultures entry from appsettings.json
2021-04-20 17:14:21 -04:00
Charles Nurse
8f5beaf3fe Fix bug with installs due to missing Migrations 2021-04-20 10:58:26 -07:00
hishamco
0b32dcf9b3 Make English default culture instead of current installed culture 2021-04-20 16:27:18 +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
Shaun Walker
cbe843bafc User experience improvements 2021-04-17 19:18:24 -04:00
Charles Nurse
096f8249c3 Resolve conflict in Constants 2021-04-14 16:05:59 -07: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
62362b9194 make module creator templates extensible 2021-03-30 10:06:25 -04:00
Charles Nurse
cbcfc88492 Add support for Sqlite - Installation path tested but AddSite not supported yet 2021-03-23 11:06:18 -07:00
Shaun Walker
ba54076c61 Prepare for 2.0.1 release 2021-02-26 08:04:44 -05:00
Shaun Walker
99665800c4 remove SVG from allowable upload files 2021-02-26 07:48:16 -05:00
iJungleboy
278aab537f
fix typo memeber = member 2021-02-11 10:41:43 +01:00
Shaun Walker
531cba715e performance and user experience improvements 2021-02-04 08:54:59 -05:00
Shaun Walker
df382ce7a3 allow developers to use custom icon libraries (Open Iconic is the default) 2020-12-22 08:37:33 -05:00
Pavel Vesely
07711c082e FileController - content disposition 2020-12-15 11:06:52 +01:00
Shaun Walker
b602113cd1 move version to 2.0.0 2020-11-05 09:19:56 -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
Tony Valenti
8cf846ba90 Factor out Policy Names
Change AppDomain to AppContext
2020-10-19 20:04:13 -05:00
Tony Valenti
c683de2cda Refactor TenantNames.Master 2020-10-16 10:45:13 -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
becc779db8 Extracted "ViewModule" and "EditModule" into PolicyNames class. 2020-10-16 10:07:01 -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
0c0916c6ab Fixed build warnings related to ModuleMessage component changes 2020-10-05 09:11:47 -04:00
hishamco
2e2d46996a Refactoring 2020-09-30 00:07:00 +03:00
hishamco
f83c1b1741 Use invariant culture by default 2020-09-29 22:12:03 +03:00
hishamco
52d1d5841e Avoid looking for en-US culture resources 2020-09-29 18:50:06 +03:00
hishamco
accf947afd LoadClientAssemblies adds satellite assemblies 2020-09-29 18:28:02 +03:00
Mike Casas
465cbe3c96
Update Constants.cs
Hopefully, nothing wrong with uploading a csv file.
2020-09-16 14:18:22 -04:00
Shaun Walker
7f15a5f464 prepare for 1.0.4 release 2020-09-09 12:01:16 -04:00
Shaun Walker
cb1c725ec1 add support for SVG and ICO files 2020-08-31 09:48:51 -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
cf198ff781 prepare for 1.0.3 release 2020-08-07 13:23:58 -04:00
Shaun Walker
8d539d058c preparing for 1.0.2 release 2020-07-23 15:07:18 -04:00
Michael Atwood
5e816ea912 Removed anchor property and hash is only set if there is anchor 2020-06-30 12:49:56 -07:00
Michael Atwood
c5037e7084 Url parameters working on any page, plus queries and anchors 2020-06-30 03:41:35 -07:00
Michael Atwood
fdc39d57fb Module Router Enhancement
Allows for PageVariables through the URL
2020-06-27 11:49:24 -07:00
Shaun Walker
fa15a5e44b preparing for 1.0.1 release 2020-06-23 09:41:17 -04:00
Pavel Vesely
151e37c470 Uri extensions for read query values
- safe way to check if key is presented
- safe parsing int values in query
- should replace int.Parse()

  _jobId = Int32.Parse(PageState.QueryString["id"]);
  can throw unhandled exception when "id" is not int

  correct way
  if (PageState.Uri.TryGetQueryValueInt("id",out _jobId)) ....
2020-05-28 12:26:23 +02:00
Shaun Walker
35b26c7525 update to version 1.0.0 2020-05-19 14:08:03 -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
6ae019336d changing default theme to Oqtane theme 2020-05-18 10:44:54 -04: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
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
6f3fe8d933 validate folder names, handle missing files more gracefully 2020-05-12 13:24:51 -04:00
Shaun Walker
d6f3fd108b
Merge pull request #449 from chlupac/LoadOptimalization
Simplified loading of oqtane assemblies
2020-05-07 15:09:32 -04:00
Pavel Vesely
47f17a589f implementation of [OqtaneIgnore] class attribute in controls 2020-05-07 21:02:43 +02: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
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
Shaun Walker
df3afb1e21
Merge branch 'master' into master 2020-04-26 13:27:16 -04: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
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
Shaun Walker
b9d70dd11a changed ServerAssemblyName to ServerManagerType to optimize processing 2020-04-16 22:27:12 -04:00
Shaun Walker
1edc34dca0 NavigateUrl fix to deal with scenario where alias has a value and path is "" 2020-04-08 11:43:42 -04:00
Shaun Walker
c29195b417 fixed issue with module settings tab and module creator templating 2020-04-07 17:25:57 -04:00
Shaun Walker
532a33ff47
Merge pull request #336 from hishamco/navigate-url
Simplify NavigateUrl using UriBuilder
2020-04-07 10:53:52 -04:00
Hisham Bin Ateya
e10015c11a Address feedback 2020-04-06 20:54:55 +03:00
Hisham Bin Ateya
a2f756729c Use relative path instead 2020-04-05 01:14:12 +03:00
Pavel Veselý
69d89aaaf9
Icon constants (#339) 2020-04-04 14:39:43 -04:00
Hisham Bin Ateya
4bc089d2cb Simplify NavigateUrl using UriBuilder 2020-04-04 13:13:26 +03:00
Pavel Veselý
c38dff5e7c
No more magic strings in module definition (#332) 2020-04-03 12:45:27 -04:00
Hisham Bin Ateya
c2a29831c4
Prevent deleting master tenant (#319)
* Prevent deleting master tenant

* Prevent deletion in APIS level

* Address feedback
2020-04-02 08:08:55 -04:00
Pavel Veselý
0b302c6e26
Startup migration bug (#320)
* Startup migration bug

* ModuleCreator - sql name fix

* Database Manager fixes and improvements

* Database Manager fixes and improvements - removed default password
2020-04-02 08:08:36 -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
Shaun Walker
974b8877dc
Merge pull request #309 from aubrey-b/email-check
Check for a valid email.
2020-03-30 14:41:38 -04:00
Aubrey
52cb3cb980 Modified null and empty string check. 2020-03-29 09:00:26 -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
Aubrey
f8d7732025 Moved logic to the Utilities class. 2020-03-27 13:42:14 -04:00
Shaun Walker
0c2d1d2449
Merge branch 'master' into master 2020-03-19 12:10:12 -04:00
Shaun Walker
18a843e74f extensibility enhancements for site templates 2020-03-19 12:07:33 -04:00
Shaun Walker
ee42db7c39
Merge pull request #292 from chlupac/MagicStrings
Magic Strings - EntityNames
2020-03-18 09:01:16 -04:00
Shaun Walker
50bbc7f5b8 moved to version 0.0.9 in preparation for MVP release 2020-03-18 08:59:41 -04:00
Pavel Vesely
65d39974b5 Magic Strings - EntityNames 2020-03-18 09:11:49 +01:00
Pavel Vesely
7feee22b32 EntityNames replacements 2020-03-14 18:16:04 +01:00
Pavel Vesely
4546354ecb Delete permission removed 2020-03-14 17:06:39 +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
155c4e12d9 completed client state invalidation in multi-user environment 2020-03-10 10:37:42 -04:00
Shaun Walker
4c2007439d module load error handler, router optimizaton, relative paths, fixed add existing module control panel issue 2020-03-04 13:22:58 -05:00
Shaun Walker
00914208ba added image preview to the file manager component 2020-02-22 09:56:28 -05:00
Shaun Walker
0aed11e71c notification service and user management improvements 2020-02-03 16:43:37 -05:00
Shaun Walker
b4cd038e17 fix issue #170 which is related to the host user not being part of the Registered Users role 2019-11-13 18:39:04 -05:00
Shaun Walker
3d7ae6a743 logging enhancements 2019-10-24 16:54:14 -04:00
Shaun Walker
ce25967633 renamed control to action to reflect its purpose and be more consistent with asp.net conventions 2019-10-19 11:09:10 -04:00