finally I gave Webtop a try and replaced SoGo. Primary reason has been the general direction of support from Webtop trough Nethesis.
In using I discovered some issues I would like to adress.
EAS and IMAP works flawless. I have tested several platforms for access to Webtop and all works. Outlook 2013,2016 and 365, all with Caldavsynchronizer and Imap.
IPhone and Ipad with EAS and for mails IMAP. All works. Thunderbird. Same story. All works so far.
Despite the in general positive impression there are a couple of things which IMO could be better.
Responsiveness
The viewing on an Ipad (10’) is crap. The folders and Messages and preview are complete messed up. I can manipulate the folder section, but not the others. I have a very narrow section for the mails which gives me no chance to choose one. Here Sogo is far better.
Signatures
The designing of signatures is not difficult as long as I don´t use the above menu in the signature window. Here I can find cryptric Java entry I dont understand. Here should be a more clear labeling without the behind laying code.
Adressbook
The import of adressbooks in xls oder csv format doesn´t work. The entrys are all empty. If I import in vcf format everything is fine. Maybe look into it why the csv (which is not uncommon) doesn´t work.
Besides the above mentioned points Webtop is a very nice software. Though it needs polishing. It works, yes. But for a general acceptance it needs work.
I cannot confirm it (with my 9,7’-iPad). I have 3 columns and can adjust the width flexibly by moving the column separators.
Folders, mail lists and mail previews are well separated and not messed up. I can deal with mails like in desktop browsers.
Signatures: …use the above menu in the signature window. Here I can find cryptric Java entry I dont understand
I did it with Identities–> mail card editor. No problems to create and edit a mail card.
Though it needs polishing.
Thats right. The menu buttons all over there are unfinished, also in mail editor.
I exported an Apple contact list as vcard and imported it:
[INFO] Started at 2021-04-09T15:22:36.667+02:00
[WARN] Problems encountered. No changes have been applied!
[ERROR] Unexpected error. Reason: JOOQ
[INFO] Ended at 2021-04-09T15:22:37.481+02:00
Alternatively i dealt with a single contact vcard - that works.
The most important issue for me: The Import/Synchronization with my NextCloud Contacts (via CardDAV-Link integrated) are not operational.
I can assure you that in the 5.11.2 release, currently in testing, all the missing label translations have been added
Some random screenshots:
this instead seems to be a problem due to the length of some fields that exceed the limit value set on postgresql.
It should report further details in the log /var/log/webtop/webtop.log.
If you understand which field we are talking about you can intervene on the database and increase the default limit to solve
2021-04-12 13:30:41 [ERROR] c.s.w.c.job.RemoteCategorySyncJob - Unable to run remote sync
com.sonicle.webtop.core.sdk.WTException: Error importing vCard
at com.sonicle.webtop.contacts.ContactsManager.syncRemoteCategory(ContactsManager.java:2059)
at com.sonicle.webtop.contacts.job.RemoteCategorySyncJob.internalExecuteWork(RemoteCategorySyncJob.java:100)
at com.sonicle.webtop.contacts.job.RemoteCategorySyncJob.executeWork(RemoteCategorySyncJob.java:73)
at com.sonicle.webtop.core.sdk.BaseJobServiceTask.execute(BaseJobServiceTask.java:76)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: com.sonicle.webtop.core.dal.DAOException: JOOQ
at com.sonicle.webtop.core.dal.BaseDAO$DAOExecuteListener.exception(BaseDAO.java:149)
at org.jooq.impl.ExecuteListeners.exception(ExecuteListeners.java:232)
at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:356)
at org.jooq.impl.AbstractDelegatingQuery.execute(AbstractDelegatingQuery.java:133)
at com.sonicle.webtop.contacts.dal.ContactDAO.insert(ContactDAO.java:696)
at com.sonicle.webtop.contacts.ContactsManager.doContactInsert(ContactsManager.java:2247)
at com.sonicle.webtop.contacts.ContactsManager.syncRemoteCategory(ContactsManager.java:2035)
... 5 common frames omitted
Caused by: org.jooq.exception.DataAccessException: SQL [insert into "contacts"."contacts" ("contact_id", "category_id", "revision_status", "revision_timestamp", "public_uid", "is_list", "searchfield", "title", "firstname", "lastname", "nickname", "gender", "company", "function", "work_address", "work_city", "work_state", "work_postalcode", "work_country", "work_telephone", "work_telephone2", "work_fax", "work_mobile", "work_pager", "work_email", "work_im", "assistant", "assistant_telephone", "department", "manager", "home_address", "home_city", "home_state", "home_postalcode", "home_country", "home_telephone", "home_telephone2", "home_fax", "home_mobile", "home_pager", "home_email", "home_im", "partner", "birthday", "anniversary", "other_address", "other_city", "other_state", "other_postalcode", "other_country", "other_email", "other_im", "url", "notes", "revision_sequence", "href", "etag", "creation_timestamp", "display_name", "company_master_data_id") values (?, ?, ?, cast(? as timestamp), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, cast(? as date), cast(? as date), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, cast(? as timestamp), ?, ?)]; ERROR: value too long for type character varying(60)
at org.jooq.impl.Utils.translate(Utils.java:1553)
at org.jooq.impl.DefaultExecuteContext.sqlException(DefaultExecuteContext.java:609)
at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:355)
... 9 common frames omitted
Caused by: org.postgresql.util.PSQLException: ERROR: value too long for type character varying(60)
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:561)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:419)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:412)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
at org.jooq.tools.jdbc.DefaultPreparedStatement.execute(DefaultPreparedStatement.java:194)
at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:409)
at org.jooq.impl.AbstractStoreQuery.execute(AbstractStoreQuery.java:320)
at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:341)
... 9 common frames omitted
I tried it. If I want to synchronize from Webtop comes agan:
2021-04-12 14:24:35 [ERROR] com.sonicle.webtop.contacts.Service - SyncRemoteCategoryAA failure
com.sonicle.webtop.core.sdk.WTException: Error importing vCard
at com.sonicle.webtop.contacts.ContactsManager.syncRemoteCategory(ContactsManager.java:2059)
at com.sonicle.webtop.contacts.Service$SyncRemoteCategoryAA.executeAction(Service.java:1691)
at com.sonicle.webtop.core.sdk.BaseServiceAsyncAction.run(BaseServiceAsyncAction.java:104)
at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120)
at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.sonicle.webtop.core.dal.DAOException: JOOQ
at com.sonicle.webtop.core.dal.BaseDAO$DAOExecuteListener.exception(BaseDAO.java:149)
at org.jooq.impl.ExecuteListeners.exception(ExecuteListeners.java:232)
at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:356)
at org.jooq.impl.AbstractDelegatingQuery.execute(AbstractDelegatingQuery.java:133)
at com.sonicle.webtop.contacts.dal.ContactDAO.insert(ContactDAO.java:696)
at com.sonicle.webtop.contacts.ContactsManager.doContactInsert(ContactsManager.java:2247)
at com.sonicle.webtop.contacts.ContactsManager.syncRemoteCategory(ContactsManager.java:2035)
… 5 common frames omitted
Caused by: org.jooq.exception.DataAccessException: SQL [insert into “contacts”.“contacts” (“contact_id”, “category_id”, “revision_status”, “revision_timestamp”, “public_uid”, “is_list”, “searchfield”, “title”, “firstname”, “lastname”, “nickname”, “gender”, “company”, “function”, “work_address”, “work_city”, “work_state”, “work_postalcode”, “work_country”, “work_telephone”, “work_telephone2”, “work_fax”, “work_mobile”, “work_pager”, “work_email”, “work_im”, “assistant”, “assistant_telephone”, “department”, “manager”, “home_address”, “home_city”, “home_state”, “home_postalcode”, “home_country”, “home_telephone”, “home_telephone2”, “home_fax”, “home_mobile”, “home_pager”, “home_email”, “home_im”, “partner”, “birthday”, “anniversary”, “other_address”, “other_city”, “other_state”, “other_postalcode”, “other_country”, “other_email”, “other_im”, “url”, “notes”, “revision_sequence”, “href”, “etag”, “creation_timestamp”, “display_name”, “company_master_data_id”) values (?, ?, ?, cast(? as timestamp), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, cast(? as date), cast(? as date), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, cast(? as timestamp), ?, ?)]; ERROR: value too long for type character varying(50)
at org.jooq.impl.Utils.translate(Utils.java:1553)
at org.jooq.impl.DefaultExecuteContext.sqlException(DefaultExecuteContext.java:609)
at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:355)
… 9 common frames omitted
Caused by: org.postgresql.util.PSQLException: ERROR: value too long for type character varying(50)
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:561)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:419)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:412)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
at org.jooq.tools.jdbc.DefaultPreparedStatement.execute(DefaultPreparedStatement.java:194)
at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:409)
at org.jooq.impl.AbstractStoreQuery.execute(AbstractStoreQuery.java:320)
at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:341)
… 9 common frames omitted
[root@ns-srv01 ~]#
Hi Mark,
I can suggest you to increase the log level of the com.sonicle.webtop.contacts service to TRACE to have the dump of the single vcards that are transferred during the synchronization.
You can do it easily from the admin interface from here:
Hi Marko,
out of curiosity I did an internal test by creating two contacts in the Nextcloud address book and synchronizing in CardDAV on WebTop.
Placing the com.sonicle.webtop.contacts log in TRACE I see this:
@lucag do please a test with non-ASCII characters. Starting from italians specific (accentate) then using umlaut, ç and other non-american/english characters (tilded-ns as spanish or portuguese)
SNMP (Simple Network Management Protocoll) needs three variables filled out, of these two are considered “comment”, what is in there should NOT matter…
However, my business partner put in “Zürich” in Location, instead of “Zuerich”.
We could NOT get SNMP to work, until I finally saw and also thought of the “Zürich”…
(2 days!).
So even a “comment” field - in some cases - can influence stuff!