Enabling Universal App Builder

Hello,

I wanted to test Universal App Builder, but I am encountering these errors. However, I have added the variable ENABLE_UNIVERSAL_APP = True to the dtable_web_settings.py file.

I have attached some screenshots.

I am using the latest self-hosted Pro version.

Anyone can help me?

Best regards.


Did you restart the seatable service after modifying dtable_web_settings?

Yes I have restarted all the containers linked to Seatable.

Errors in log files?

I have this error:

dtable_web.log

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/views/generic/base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/rest_framework/views.py", line 509, in dispatch
    response = self.handle_exception(exc)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/rest_framework/views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/rest_framework/views.py", line 480, in raise_uncaught_exception
    raise exc
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "/opt/seatable/seatable-server-latest/dtable-web/seahub/api2/endpoints/dtable_external_apps.py", line 72, in get
    for external_app in external_apps:
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/db/models/query.py", line 280, in __iter__
    self._fetch_all()
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/db/models/query.py", line 1324, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/db/models/query.py", line 51, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/db/models/sql/compiler.py", line 1175, in execute_sql
    cursor.execute(sql, params)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/db/backends/utils.py", line 66, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/db/backends/utils.py", line 75, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/db/utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/django/db/backends/mysql/base.py", line 73, in execute
    return self.cursor.execute(query, args)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/MySQLdb/cursors.py", line 206, in execute
    res = self._query(query)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/MySQLdb/cursors.py", line 319, in _query
    db.query(q)
  File "/opt/seatable/seatable-server-latest/dtable-web/thirdpart/MySQLdb/connections.py", line 254, in query
    _mysql.connection.query(self, query)
django.db.utils.OperationalError: (1054, "Unknown column 'dtable_external_apps.custom_url' in 'field list'")
2023-04-23 15:24:10,859 [ERROR] seahub.api2.endpoints.dtable_external_apps:124 post (1054, "Unknown column 'custom_url' in 'field list'")
2023-04-23 15:24:10,861 [ERROR] django.request:224 log_response Internal Server Error: /api/v2.1/workspace/3/dtable/PrĂŞt VĂ©hicule/external-apps/

I’ve corrected the error by adding the missing column from the table:

mysql -h$DB_HOST -p$DB_ROOT_PASSWD 

USE dtable_db

ALTER TABLE dtable_external_apps ADD COLUMN custom_url VARCHAR(255);
1 Like

Hi @yblis.

Did you previously update your installation and forgot to update the table schema?
I found the ALTER TABLE in the last 3.4 update:

root:/opt/seatable/seatable-server-latest/sql/mysql/upgrade# grep 'custom_url' */dtable.sql
3.4/dtable.sql:ALTER TABLE `dtable_external_apps` ADD COLUMN IF NOT EXISTS `custom_url` VARCHAR(255) UNIQUE DEFAULT NULL;
1 Like

thanks to all for help :slight_smile:

Didn’t do anything but welcome :slight_smile:

1 Like

I am glad the problem could be solved. I take the liberty of removing the “bug” tag from the post.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.