@José Pereira and I created a good project, and we want to introduce a few words about this project to you.
What is IRIS RAD Studio?
IRIS RAD Studio is our idea of a low-code solution to show what's possible, to make the developer's life easier.
Why?
Why not? Low-code applications have gained great publicity in the market in recent years. The image below shows the current "Magic Quadrant" provided by Gartner for enterprise low-code application platforms, which shows how interesting this market is.
RESTForms2
RESTForms2 is one of the key parts of our project. As described by @Eduard Lebedyuk in this article, RESTForms is a REST API backend for modern web applications.
https://community.intersystems.com/post/restforms-rest-api-your-classes
Features
Using RESTForms2, persistent classes are inherited from dc.irisrad.FormAdaptor automatically gets a CRUD form (Create, Read, Update, Delete). The available forms are shown on the home page.
Each form, in addition to the basic characteristics of CRUD, also has:
- General search
- Advanced and conditional search for a specific field
- Creation of combined filters
- Grouping
- Exporting Datagrid to Excel
Besides the automatic generation of JSON-based forms provided by RESTForms2, one thing we want to offer users is our Import Wizard.
Import Wizard
The functionality previously presented with the iris-analytics-package project allows any user to:
- Import a CSV file
- Create a persistent class according to the imported file
- Create a cube to be used by InterSystems Analytics
- Generate a sample dashboard based on the data
What if, also, you can edit this file? Adding new information, edit the CSV information, or even delete unnecessary lines?!
With IRIS RAD Studio you can! 😃
Creating new classes
Suppose you have existing classes that inherit from dc.irisrad.FormAdaptor, you can now take advantage of the features offered by RAD Studio.
For new classes, we create an endpoint where you provide the desired class in JSON format and voilà
E.g.:
{
"name": "My.ClassName",
"displayFormName": "My tasks",
"displayProperty": "text",
"fields": [{
"name":"text",
"displayName":"Task name",
"type":"%Library.String",
"required": false
},{
"name":"taskDate",
"displayName":"Task date",
"type":"%Library.TimeStamp"
},{
"name":"important",
"displayName":"Important",
"type":"%Library.Boolean"
},{
"name":"completed",
"displayName":"Completed",
"type":"%Library.Boolean"
}]
}
Pretty easy, right?!
Hmmm ... but you must be wondering, "What if I don't have all that familiarity with JSON, or if I don't understand anything about the technical part?"
Calm down ... IRIS RAD Studio also offers a graphical interface for creating new classes!
Creating new classes - Wizard
The idea of low-code is exactly to prevent code written by its user. And that includes a class and its property in JSON format!
The interface provided by RAD Studio allows you to create your class's name and provide a description that your form will have.
Clicking on the Save button opens a data grid where you can define your class's properties, or if you prefer to call it that, the columns of your table.
Once you finish defining, click on Compile, and you're ready to use your new form!
Roadmap
We believe that this project has a lot of potentials to be explored. If approved by the community, we would like to explore these possibilities and create a roadmap with everyone.
Thus, more and more we will have a product that meets a general need.
Demo
We provide the application in the link below:
https://irisrad.contest.community.intersystems.com/csp/irisapp/login.html
If you want the user and password, first, you need to vote for us! Just kidding we informed the user/password in our OpenExchange page
https://openexchange.intersystems.com/package/iris-rad-studio
Voting time
If you liked our idea and believe that we deserve your vote, click on the link below and help us 😃 Your vote is crucial to us in this contest.
iris-rad-studio
Demo does not work rn
confirmed! same result with me
Thanks for the warning Eduard and Robert. We'll take a look at it.
Another minor thing:
RESTForms2 link links to localhost and /restforms2-ui/index.html#/
We starting the project using the dynamic duo RESTForms2/restforms-ui as a base. But when we decided to move to another visual stack, the link stayed, as a work reference, and in a hurry to finish and deliver we forgot to remove it. Fixing the link and committing the change
Thanks again to help us catch those things
@Eduard Lebedyuk @Robert Cemper it's working now. Sorry about the problem that this error cause in your experience trying our app.
I'm developing a better error treatment, so situations like that don't will happen in the future
Ah much better!