210342 / opc-ua-ooi-webapp Goto Github PK
View Code? Open in Web Editor NEWWeb application built using ASP.NET Core 3.0 as an example usage of OPC-UA PubSub Standard
License: MIT License
Web application built using ASP.NET Core 3.0 as an example usage of OPC-UA PubSub Standard
License: MIT License
Based on this project.
Use common logger to provide diagnostic information.
README.md files
Describe projects in respective README.md files
Blazor doesn't provide a simple solution for styles yet
IConfigurationFactory.GetConfiguration
is called in the Configuration
but must be called by the infrastructure.
This operation requires the file name to be available, because the loader may be called at any time.
public Configuration()
{
Loader = LoadConfig;
}
Use the config view to import, export and apply changes through deserialized configuration object
Harmonization of the UAOOI staff with:
Apply the template actions file for .NET projects
Add to readme.md minimal requirements related to the dev studio to build the library.
It contributes to #42.
The class gets access to the configuration using 'IConfiguration`. What is the reason to use aliases instead of directly URI provided by the specification?
Locking itself should be avoided as per lock statement documentation.
Review the documentation: Getting Started Tutorial mpostol/OPC-UA-OOI#384 and:
Consider moving the Configuration.GetRepositoryGroupAliases
to GetRepositoryGroupAliases
.
Not sure what the alias means, put it in the internal functionality of this class.
The class encounters a serious sequence problem:
GetRepositoryGroupAliases
Initialise
Try to follow the example in ReferenceApplication Consumer - Data Logger
According to the concept described in the documentation https://commsvr.gitbook.io/ooi/reactive-communication/semanticdata the DataManagementSetup is an entry point to a part expanding DataRepository
class. Therefore it must be self-contained and use ONLY types defined in the assembly. Following this rule, all instances must be created inside this class, and there no reason to provide an implementation of selected interfaces as the parameters. According to all examples, this class is parameterless and this pattern should be followed.
Before release, the packaged shall be up to date.
It is a blocker of #42.
Assigning new value in the handler of the PropertyChanged
causes recalling the same handler. The recursion is only broken because assigning the same value doesn't trigger the event. Look at the snippet from ConsumerBindingMonitoredValue
.
public type Value
{
get
{
return b_Value;
}
set
{
PropertyChanged.RaiseHandler<type>(value, ref b_Value, "Value", this);
}
}
Most unit tests were removed during refactoring to fit UAOOI library
The OOI .dlls are not copied with the first build. It seems that the directory doesn't exist yet, so the copy fails.
Serialisation to an XML format should be enough
New feature - IAsyncEnumerable
might be helpful
In any case tested inside the method AssertComponentsAreNotNull
the new instance is not created because of the exception in the constructor.
According to the architecture (description covered by the https://commsvr.gitbook.io/ooi/reactive-communication/semanticdata) implementation of the DataRepository
provides its own logging infrastructure. The presented implementation requires ILogger
. It limits the possibility to reuse this library in case the main application doesn't implement this particular interface. It raises a question:
The library requirements are defined in the document Getting Started Tutorial and this implementation doesn't follow this description. It raises typical "chicken/egg - which one was the first" problem and therefore must be recognized as a critical error.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.