Comments (5)
Hello. Thank you for engaging with Jube and using the software. Let me first apologise for not having seen this issue before now it fell in the cracks with other Github notifications and most of our support tends to come through LiveChat these days. Mental note to check other people's bugs and ideas more often here :)
At the moment this feature is not available, however, it is important. I will keep this ticket open and look to include it as a feature. In the previous version of the software, which was .Net Framework, this feature existed. It is technically not that difficult to implement, but we never got around to it in this version of the software.
The software has started to get a lot of use and there are lots of little features like this backed up.
In the meantime, you will notice that all of the configurations are laid out in database tables and henceforth, you could export the rules via a select \ insert statement. However, there are so many tables and so many dependencies, that this is extremely time-consuming. The pattern in this export will be something similar, serialised to JSON files, zipped up, AES encrypted and available for download. There are some injection risks here, so, it is likely that any export will exclude the compiled assemblies, but they will just get recompiled on start.
from jube.
This is the next project after the Redis implementation #32. The current plan is to achieve the custom export and import via use of the controllers, packing into a custom object bringing those controller responses together, serialised to json for download. In this manner the import export functionality serves to provide a unit test capability, especially if subjected to various integrity assertions as part of the process. As the import export process will wholly use the controllers it implies minimal integrity checking of the file is needed, given that it will use the permissions otherwise granted to the user (insofar as they already have admin). This will not invoke the HTTP endpoints, rather invoke the controller directly, rather than having been serialised from Json.
The recovery step will delete out all data in the tenant logically, annotating a recovery event id alongside the delete. The availability of a recovery event will allow for the rollback to a previous version. There will however be no merge functionality.
Aiming to get this released by July, as the #32 due out June (largely done at the time of writing but needs tidy, test and documentation).
from jube.
We implemented export feature in the following way: a new endpoint returns a big JSON object representing all setup that was done via UI. It has properties like: model, requestXPath, inlineFunctions, abstractionRules, activationRules etc. Each node-object is loaded by calling the code of appropriate GET endpoints returning these objects. Resulting JSON can be big but it is suitable to store it and compare across different environments, installations etc. It is like a big snapshot of all settings.
from jube.
Thanks for feeding back. It is nice to hear you found a scripting solution. I keep meaning to get to this, but not quite where I wanted to be on the Redis work. Furthermore, as I am moving the UI to Blazor as the next big project, those controllers you are using - which will still be available - are likely to have the logic moved to a service dll. It makes sense to get the services together first, and invoke them in this import export routine.
I can't help feeling the http overhead and serialization is a little bit workaround, so, in time I am sure we can make this better.
from jube.
Depends on #43.
from jube.
Related Issues (20)
- Instruct index creation out of model synchronisation to a background queue. Build indexes concurrently. Drop Duplicate Indexes.
- Write FluentMigration trace to log4net or at a minimum the console.
- On startup detect and bind to the public IP address if observable.
- Build Error After Merge Duplicate Attributes in Accord.net Projects HOT 1
- Remove Accors.net Obsolete Dependencies HOT 1
- Prune Accord.Net Libraries
- Guid for example model wrong in documentation HOT 1
- Text box to capture notification body text too small
- SQL Statements against cache for abstraction rules selecting only columns required by abstraction rule HOT 1
- Include trace in processed payload when switch is passed
- Convert Invoke Method to support async fully HOT 2
- Implement Redis Cache HOT 2
- Move Jobs to Crystal Quartz HOT 1
- Move PostgreSQL Cache Updated and Inserts to a Single Transaction. Move Case Creation and TTL Counter Entry to Bulk Insert. HOT 1
- Can't turn an Exhaustive model on after training.
- Fix code scanning alert - Clear text storage of sensitive information HOT 3
- Fix code scanning alert - SQL query built from user-controlled sources HOT 2
- Break controllers out into a service layer
- Move UI to Blazor Interactive Server and Radzen Tooling
- Operations that change non-concurrent collections must have exclusive access
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jube.