NuScien 7.0.0
dotnet add package NuScien --version 7.0.0
NuGet\Install-Package NuScien -Version 7.0.0
<PackageReference Include="NuScien" Version="7.0.0" />
paket add NuScien --version 7.0.0
#r "nuget: NuScien, 7.0.0"
// Install NuScien as a Cake Addin #addin nuget:?package=NuScien&version=7.0.0 // Install NuScien as a Cake Tool #tool nuget:?package=NuScien&version=7.0.0
Core library
This provides a solution to build community and enterprise projects based on resource entity and accessories with ACL and CMS built-in.
Resource Entity
The resource entity is the model for DAL (data access layer), BLL (business logic layer) and UX layer (including GUI view model and web API model).
The abstract class BaseResourceEntity
is the base class for inheriting.
It supports property changing notifier so it also can be used as view model of UWP and WPF directly with databinding.
Its sub-class SiteOwnedResourceEntity
, SpecificOwnerResourceEntity
and OwnerResourceEntity<TOwner, TTarget>
are also used to inherit with advanced usages.
It need be defined like following to map the entity to the table design in database and to JSON schema of the web API.
- Set an attribute
[Table]
on the class to map the table name in database. - Set an attribute
[Column]
on the property to map the column name in the table of the database; or attribute[NotMapped]
for the one without mapping. - Set an attribute
[JsonPropertyName]
on the property to map the JSON property name for network transfer; or attribute[JsonIgnore]
for the one that does not need serialize and deserialzie. - The getter and setter of the property should be implemented by
GetCurrentProperty<T>
andSetCurrentProperty
method to supports databinding feature except the ones you don't care about it or they are just route and convert to/from other properties.
Authentication & Permissions
The static class ResourceAccessClients
is used to manage the core resource access client about following features.
- User authentication and management.
- Client authentication and management.
- Site and sub-site management.
- Permission management.
- User group management.
- Authorization tokens and sessions.
- CMS (content management system).
You need set up the connection information to the data source before usages by calling its Setup
static method.
Then you can call it CreateAsync
static method to get an instance to use.
Auto-DAL
DAL is implemented by the framework by default so we can skip it unless we have a special reason to override it. We just need implement BLL based on that.
Base class OnPremisesResourceEntityProvider<T>
is used to implement the provider of the specific entity as its business logic layer.
It contains some methods for basic accessing capabilities.
You can override it to add ACL.
You can also extend it to add further accessing way.
Please make sure it contains the constructors with parameter types and orders as same as the one of base class.
And, of course, you can add further constructors as you want.
Then inherit OnPremisesResourceAccessContext
class to organize all the entity providers in your business logic.
The way is very simple: define them as properties with public getter and setter.
They will be filled automatically when the instance is initialized.
SNS
It also includes a built-in contact, blog and internal mail system.
The static class SocialNetworkResources
is the entry point to access them.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Framework | net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
-
.NETFramework 4.6.1
- System.ComponentModel.Annotations (>= 5.0.0)
- Trivial (>= 7.0.0)
-
.NETFramework 4.8
- System.ComponentModel.Annotations (>= 5.0.0)
- Trivial (>= 7.0.0)
-
net6.0
- Trivial (>= 7.0.0)
-
net7.0
- Trivial (>= 7.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on NuScien:
Package | Downloads |
---|---|
NuScien.OnPremises
The NuScien on-premises library. It implements the resource access client and base business context by Entity Framework Core. |
GitHub repositories
This package is not used by any popular GitHub repositories.