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
Harmonization of the UAOOI staff with:
README.md files
In any case tested inside the method AssertComponentsAreNotNull
the new instance is not created because of the exception in the constructor.
Use common logger to provide diagnostic information.
Review the documentation: Getting Started Tutorial mpostol/OPC-UA-OOI#384 and:
New feature - IAsyncEnumerable
might be helpful
Based on this project.
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.
Add to readme.md minimal requirements related to the dev studio to build the library.
Most unit tests were removed during refactoring to fit UAOOI library
Locking itself should be avoided as per lock statement documentation.
Describe projects in respective README.md files
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);
}
}
Blazor doesn't provide a simple solution for styles yet
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?
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
Apply the template actions file for .NET projects
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;
}
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 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.
Use the config view to import, export and apply changes through deserialized configuration object
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.