design-first / system-runtime Goto Github PK
View Code? Open in Web Editor NEWA JavaScript library that runs systems
Home Page: https://designfirst.io/systemruntime/
License: Apache License 2.0
A JavaScript library that runs systems
Home Page: https://designfirst.io/systemruntime/
License: Apache License 2.0
Set log level of many messages to 'debug' instead of 'info'.
Add default property for type definition.
example: { "name": "address", "type": "object", "schema": { "city": { "type": "string", "mandatory": false, "default": "Paris" } } }
If users add by mistakes some spaces when referencing a type, force trim of type when analyzing models.
APIs will be simplify as follow:
DataBase.system
, DataBase.subsystem
, System.main
, System.ready
and System.sync
Split System Runtime core systems in many subsystems.
Now when db component send an insert, update or remove event:
We do not need autoStart parameter from runtime.install API: start method is now called by the $systemInstalled event send by the channel component.
Due to many issue with Saucelabs, we remove its configuration.
Check that db component send correctly all CRUD events.
Remove subsystem
property from systems.
Because this property is not used, we will remove it and assure also compatibility with old systems that have this property.
did you mean "system-runtime.json"?
mode="design"
on script
tag to enable remote designing of the running system.Remove dist
directory from npmignore file to be able to install System Runtime library (the client-side version) from npm.
Before we have this signature for runtime.system API:
runtime.system(name: string)
now:
runtime.system(params: any)
we can:
example:
runtime.system({ '_id':' 'internalId', 'name' : 'my_system_name', 'version' : 1234, 'description: 'some infos about the system...' })
add type check on the first parameter of a collection API. Example: vador.children("luke")
needs to send a warning.
For a System Designer example, I have created some Web Component-like widgets:
=> we need to generate id DOM compliant, i.e. that can not begin with a number.
$db.find could send invalid result when searching on collection.
Remove error message when a schema has a duplicate value in _inherit
property.
We clean now this property to remove the duplicated values.
When defining callback on structure properties event, we get an error.
When uninstalling a bundle, we must insure that no core components are remove (ex: channel component).
When using $db.find API to search on multi criteria (i.e. with array of criteria), result could contains duplicated result.
Create a Code of Conduct.
Add the ability to override / clear a collection by passing an array.
Examples:
vador.children([])
: clear the children collection,vador.children(['luke'])
: override the children collection andvador.children([this.require('luke')])
: override the children collection.Avoid to log a warning message if the value of a link is ""
.
When designing a remote client application with System Designer, the remote application loaded by System Designer does not load jQuery.
It is because the application is load inside an Electron app.
When creating a system with API (i.e. runtime.system('name_of_the_system')
), the state of the created system is none instead of active.
Remove runtime.update
API.
There is a bug when installing a system server side system:
runtime: error when trying to call the method 'install' on component 'runtime' (class 'Runtime'): system.status is not a function
Add text type.
Warnings are send when overriding existing core schema/models with APIs ( metamodel.schema
or metamodel.model
).
When searching on a collection that could contains a boolean, $db.find
throws an error.
RuntimeLog is not private and it is exported when using runtime.bundle
API.
To be more compliant with OSGi specifications, we need to add:
runtime.update(id: string, data: JSON)
: update a system given its id. It will reload the system from its path. We can also add a data parameter to update the system from this data.SystemRuntime.update(data: JSON)
: update the system from this data.Due a validation issue we can not set a date property.
Add:
runtime.bundle(): string
: export the current system in a bundle (a stringifyed JSON object).SystemRuntime.bundle(): string
: export the system in a bundle (a stringifyed JSON object).Invalid check on enumeration type of number elements.
/build
folder shouldn't be included in the git source repo since the artefacts from the build pollute the diffs. Consider to:
build
to .gitignore
filebuild
folder when you're publishing to npm (you might exclude the src
folder in your .npmignore
)reset
type that could not been send.value
parameter of collection event is now the real object, not its id.find
API can now search in collection.Add optional _id property in type definition.
mode="dev"
on the script
tag that load System Runtime, we can drag / drop systems directly in the browser to test them live.Safari 10.1 seems to send now an error when accessing to the localstorage
object when loading a local file.
note: a workaround is to activate local file access from the developer tool menu.
Step to reproduce the bug:
debugger
instruction in your code,debugger
,this('runtime')
in the console,Why ? There seems to have a regression in the last version of Chrome.
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.