r3-team / r3 Goto Github PK
View Code? Open in Web Editor NEWREI3 - Free and open low code
Home Page: https://rei3.de
License: MIT License
REI3 - Free and open low code
Home Page: https://rei3.de
License: MIT License
There is a preset record selector in Forms builder -> Form settings -> States -> Conditions. But the selector offers only preset records from the current Application, not from the Build-on Applications. (bug or feature?)
It would be great if such preset record selector will be available also in Frontend/Backend functions. (feature request)
I have two Relations with the 1:1 relation and a Form with Fields from both Relations. The Form has a frontend Function assigned and inside the Function calls app.get_field_value() to read the values from both Relations.
It works well if both Relations are inside one Application. However, if the two Relations are in different dependent Applications, an error "ReferenceError: THE_OTHER_RELATION is not defined" occured.
Hi,
I found your project very interesting. So I've translated it in Italian language (see attached file).
I've created it_it file as copy of en_us in var/texts directory and translate it. Stop service and restart it (windows portable version 2.4.3), but language it_it not in Settings-Display-Language drop list.
If I translate some core company application in Italian, I can select it_it in drop-list, but platform label are still in English also after service restart.
How can I add Italian translation to platform?
Thanks,
Fabio.
Hi @r3-gabriel , nice work, congrats.
My question is simple: once I have created my application may I upload data with a batch script?
Are Rest API available for REI3?
Thanks for clarifying that.
Regards.
Hi,
When I add a new password entry and add a group at creation time, a key entry is not created in instance_e2ee."keys_7a1e594c-f785-4716-be89-c4024d0adb84". This results in a broken DB which triggers in data.Get_tx
:
if len(encKeys) != len(recordIds) {
return results, 0, handler.CreateErrCode("SEC",
handler.ErrCodeSecDataKeysNotAvailable)
}
if the password entry which has been created in this state is in the set of entries to be retrieved. This results in this case in no entry being displayed at all; instead a popup error message appears that says: "The system failed to retrieve decryption keys for the selected records."
Note: in this situation a knowledgeable user, especially one with direct access to the DB, can manage to access their correctly saved passwords by creating a filter that excludes the broken ID entries: (AND (ID unequal x))
I've investigated a bit why a correct entry is not created, but not up to the root cause. I've only seen that in:
func SetKeys_tx(ctx context.Context, tx pgx.Tx, relationId uuid.UUID,
recordId int64, keys []types.DataSetEncKeys) error {
if len(keys) == 0 {
return nil
}
if _, err := tx.Prepare(ctx, "store_keys", fmt.Sprintf(`
...
when I attempt to create a new password entry with a group, keys is empty so nil is silently returned and no key is inserted.
In contrast with when I create a new password entry without adding a group, keys is not empty (it contains one element) so a key is inserted, and the database is not corrupted.
For information I'm a member of the group I attempted to add to a new entry. I did not try with groups I'm not a member of.
Hi,
in the team form, if I want to add a new member not in the list, when I click on the plus icon in the field the applicatin switch to a new form and all inputs are lost. In this case I expected a modal form in witch I can add a new member and then I can continue without any lost of datas.
How can I do it?
Thanks,
Fabio.
under Admin > System Configuration > Logins
Passwort settings:
[5/5] RUN tar -xvf REI3_3.6_x64_linux.tar.gz r3 config_template.json && sed -i "s/localhost/r3_db/g" config_template.json && sed -i "s/443/80/g" config_template.json && chmod 755 r3 && chmod 644 config_template.json && rm REI3_3.6_x64_linux.tar.gz:
0.572
0.572 gzip: stdin: not in gzip format
0.576 tar: Child returned status 1
0.576 tar: Error is not recoverable: exiting now
ERROR: failed to solve: process "/bin/sh -c tar -xvf REI3_${r3_version}${r3_os_arch}linux.tar.gz r3 config_template.json \t&& sed -i "s/localhost/${r3_db_host}/g" config_template.json \t&& sed -i "s/443/80/g" config_template.json \t&& chmod 755 r3 && chmod 644 config_template.json \t&& rm REI3${r3_version}${r3_os_arch}_linux.tar.gz" did not complete successfully: exit code: 2
ERROR: Service 'r3' failed to build : Build failed
root@ssdnodes-6582dbb1769a2:~/docker/r3#
I have attached an example for the yml file
docker-compose.yml.txt
I keep getting errors when trying to install "A Core Company" or any other app.
The app does not seem to create the required temp
and transfer
directories in the r3 container's /opt/r3/data
bind mount directory.
The app only works after stopping the containers, clearing all bind mounts, and creating the temp
+ transfer
directories.
Here is my docker-compose config
version: '3.3'
services:
r3_db:
image: postgres:latest
container_name: r${R3_VERSION:-3.4.2}_db
restart: always
environment:
POSTGRES_PASSWORD: app
POSTGRES_USER: app
volumes:
- ./data:/var/lib/postgresql/data
r3:
build:
context: https://github.com/r3-team/r3_docker.git#main
args:
r3_db_host: r3_db
r3_os_arch: x64
r3_version: ${R3_VERSION:-3.4.2}
im_policy: /etc/ImageMagick-6/policy.xml
container_name: r${R3_VERSION:-3.4.2}_app
image: "r3/${R3_VERSION:-3.4.2}"
depends_on:
- r3_db
ports:
- "14000:80"
restart: always
volumes:
- ./data_app:/opt/r3/data
docker compose up
...after creating the temp
directory, refreshing localhost in the browser, and retrying the Core Company installation...
Operating System: Windows 11 Pro x64 Version 22H2 Build 22621.1992
Container Engine: Docker version 24.0.2, build cb74dfc
Hi,
when I click on new button (i.e. in Country list form in Location application) new form are displayed. In this form there is a "delete" button, but it is greyed. It become red only after saved the new record. I expected that it was an abort button, so if I don't want insert the record I can abort and return on the previous form (in this case the country list form).
So also the "new" button is not useful in case I add a new record. In fact in this case if I insert a new record and press "new" I discard any inserted values.
I think that this buttons must better managed to simplify the user workflow.
For example the form button may be:
"new": in case there are any new values inserted by user a confirmation message must be showed so user may cancel operation
"save": as now, but if I modify a record a confirmation message must be displayed (this may be a configuration parameter)
"Save + new": as now and as suggested for the "save" button
"Delete: as now, but after confirmation must be shown next/previews or last record
"Exit": in this case, after a user confirmation in case of modified values on the form, application return to a predefined form (i.e. list)
In this manner the workflow is more clear. What do you think about?
Bye,
Fabio.
Hi,
when create a new application, if name contains uppercase letter appear a this pop up
Message are not translated in Italian language, but I can't find it in "it_it" file. Such message isn't into en_en file also. I think it is hard coded in the application.
May you add in message files?
Thanks,
Fabio.
Hi,
I've a this case:
Table_B is a list of values: ["value_A", "value_B", "value_C", "value_D"]
Now, depending to table_A.field_A value I need:
How can I do it?
Thanks,
Fabio.
r3.go
is located) and execute: go build -ldflags "-X main.appVersion={YOUR_APP_VERSION}"
.
{YOUR_APP_VERSION}
with the version of the extracted source code. Example: go build -ldflags "-X main.appVersion=2.5.1.2980"
db/upgrade/upgrade.go
).GOOS
, you can cross-compile for other systems (GOOS=windows
, GOOS=linux
, ...).I built it as described above and ran it under linux, prompting the following error?
Does anyone know how to solve this problem?
./r3 -run
failed to start embedded database, embedded database is only supported on Windows
As you see e.g. in the ticket app, the column name is "Erzeugt von", but the filter criteria is "Anzeigename", "Durchgeführte Operationen" is "Anmerkung Änderungsgrund", which is confusing for the user.
Is your app builds on another app, e.g. the organization app, you also don't have control over over the attribute name to change it at the source.
Hi Gents,
I am working on your piece of software to look if it could fit our needs (kind of tag generator shared).
I tried to install it on a fresh Debian with Postgresql in local. (Debian 11 fresh install , no firewall, no specific installation as far as I could tell)
Connection to the database seems to the okay (no error) on both the ./r3 -run nor on the log of the database, however I can not connect to the web interface.
I track down the problem to :
failed to register listener for HTTP server, listen tcp 0.0.0.0:8080: bind: address already in use
I try the port 80, 443 and 8080 (none of them is used) :
ei01:~# netstat -antu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:57452 127.0.0.1:5432 ESTABLISHED
tcp 0 0 127.0.0.1:57806 127.0.0.1:5432 ESTABLISHED
tcp 0 0 127.0.0.1:5432 127.0.0.1:57806 ESTABLISHED
tcp 0 0 10.0.0.137:53304 199.232.178.132:80 TIME_WAIT
tcp 0 0 127.0.0.1:57832 127.0.0.1:5432 ESTABLISHED
tcp 0 0 127.0.0.1:5432 127.0.0.1:57474 ESTABLISHED
tcp 0 0 127.0.0.1:5432 127.0.0.1:57832 ESTABLISHED
tcp 0 0 127.0.0.1:5432 127.0.0.1:57452 ESTABLISHED
tcp 0 0 127.0.0.1:57474 127.0.0.1:5432 ESTABLISHED
tcp 0 0 127.0.0.1:57830 127.0.0.1:5432 ESTABLISHED
tcp 0 0 127.0.0.1:5432 127.0.0.1:57830 ESTABLISHED
tcp6 0 0 :::8080 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:5432 :::* LISTEN
tcp6 0 0 ::1:25 :::* LISTEN
udp6 0 0 ::1:55495 ::1:55495 ESTABLISHED
(r3 is on 8080)
While I am writing this email, I just notice the IPV6 ...
I disable fully the IPV6 stack and I got the
failed to register listener for HTTP server, listen tcp 0.0.0.0:8080: bind: address already in use
I changed to 8088 (rebooted as well)
At start, the service is not working :
- r3.service - Provides the REI3 platform components
Loaded: loaded (/etc/systemd/system/r3.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Sat 2021-10-23 20:10:26 UTC; 8s ago
Process: 83 ExecStart=/root/r3 (code=exited, status=0/SUCCESS)
Main PID: 83 (code=exited, status=0/SUCCESS)Oct 23 20:08:23 proxcluster-BMS-ei01 systemd[1]: Started Provides the REI3 platform components.
Oct 23 20:08:23 proxcluster-BMS-ei01 rei3[83]: Starting service
Oct 23 20:08:24 proxcluster-BMS-ei01 rei3[83]: failed to register listener for HTTP server, liste>
Oct 23 20:10:26 proxcluster-BMS-ei01 systemd[1]: Stopping Provides the REI3 platform components...
Oct 23 20:10:26 proxcluster-BMS-ei01 systemd[1]: r3.service: Succeeded.
Oct 23 20:10:26 proxcluster-BMS-ei01 systemd[1]: Stopped Provides the REI3 platform components.
A restart bring :
systemctl status r3.service
- r3.service - Provides the REI3 platform components
Loaded: loaded (/etc/systemd/system/r3.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-10-23 20:10:51 UTC; 21s ago
Main PID: 363 (r3)
Tasks: 7 (limit: 9360)
Memory: 2.4M
CGroup: /system.slice/r3.service
`-363 /root/r3
Oct 23 20:10:51 proxcluster-BMS-ei01 systemd[1]: Started Provides the REI3 platform components.
Oct 23 20:10:51 proxcluster-BMS-ei01 rei3[363]: Starting service
Again IPV6 :
netstat -antu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5432 127.0.0.1:59694 ESTABLISHED
tcp 0 0 127.0.0.1:5432 127.0.0.1:59490 TIME_WAIT
tcp 0 0 127.0.0.1:59716 127.0.0.1:5432 ESTABLISHED
tcp 0 0 127.0.0.1:59694 127.0.0.1:5432 ESTABLISHED
tcp 0 0 127.0.0.1:5432 127.0.0.1:59472 TIME_WAIT
tcp 0 0 127.0.0.1:5432 127.0.0.1:59716 ESTABLISHED
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::8088 :::* LISTEN
udp 0 0 127.0.0.1:40567 127.0.0.1:40567 ESTABLISHED
// UPDATE //
I set the ip address in the config.json and it starts working !!
Sorry for the noice. I leave it in case it can be helpful for anybody.
Hello,
I need an custom form filead validation JavaScript function.
It could be, for example, done by
I vote for (2), because it can also set the error message (Althought, the case (1) can also set the error message e.g. throwing an error).
It would also be great if the Form State Condition had an "fileds is invalid" option. So, for example, an button would be disabled if a field is invalid.
Not sure if this is the appropriate place to raise the issue but it's impossible to get the executables from the download page. It seems to just return home when I click on any link, whether linux or windows.
When add an "[1:n]" filed in form builder, then in column selector is a wrong relation.
How to reproduce:
Open "Assets IT" in builder -> Forms -> "smartphone" -> remove F24 ("[1:n] simcard.installed_in_smartphone") -> add the "[1:n] simcard.installed_in_smartphone" filed back inside the F23 container -> try to add an column, expected columns from "simcard" relation, but there are only columns from "smartphone" relations.
It works in REI3v3.1.3.
Hi,
I find Rei3 very good so far, however I would like to connect to a PostgresSQL via SSL connection. Currently, however, it seems that sslmode=disabled is hard coded. See code snippet from db/db.go:
conString := fmt.Sprintf("postgres://%s:%s@%s:%d/%s?sslmode=disable&connect_timeout=5", config.User, url.QueryEscape(config.Pass), config.Host, config.Port, config.Name)
It would be great if you could enable SSL mode and specify a corresponding tls config in config.json if necessary.
All the best
Martin
Hi,
there is an error in the New attribute form: when the value type is changed from Text to Number, Max. characters value stays set and saves even when Number (whole or decimal) Value type has in its form no option to set Max. characters value.
Steps to replicate this bug (REI3 3.4.1 and 3.4):
Maybe there are some other situations where this bug occurs, so far I have tested only this case.
Regards,
Patrik L.
HI,
I find REI3 a very interesting project, very flexible open-source low-code platform. I think to accelerate application production some sort of CRUD base forms generator (list, record edit) is useful to create a first step of application prototype. After, developer may create any more sophisticated form from that.
What do you think?
Warm regards,
Fabio.
I have two (or more) Relations with an attribute type "N:1" related to another Relation. These attributes have the same name. I have also a Form related to this another Relation. The form contains all "1:N" fields. The form has assigned a Frontend function. I can see only one "N:1" filed in the function placeholders form data fileds selector . If I rename the "N:1" attributes in Relations to different names, then all fileds will be in the fileds selector.
Tested in v3.1.3, v3.2.5 and v3.3.
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.