Skip to content

export compatibility from hubzilla to zap

Zot requested to merge zot/core:dev into dev

Edit: Most issues have been resolved and this can be merged. Some older Hubzilla items (pre zot6) imported to Zap may not render perfectly but we'll track these on a case-by-case basis.

very lightly tested - bugs remain but I believe the new behaviour will not triggered by any existing code and can only be instigated as a manual URL query arg or remotely by specific flags existing in the API.

The export bug which existed in an earlier (related) version of this work with connection permissions should now work correctly. Also two minor issues were found and corrected with ActivityStreams encoding of comment policy.

Most bugs will likely be associated with pre zot6 content not being translated correctly and referencing connections/protocols and services/features which do not exist in the Zap implementation. A few of these might actually work in Zap because the code that uses them may not have been removed. Most will be dead/useless.

This is being pushed so that more eyeballs can be focused on the problem and more complicated migrations can be attempted and serious issues uncovered.

To use:

  • On a Zap site (current dev only), visit /import and enter the URL of a Hubzilla site as the import source. For now, please do not do this if you are not admin and possess adequate debugging skills and probably not on a public or production site. You may end up with weird data that may need to be removed if it breaks something. This action downloads everything including posts and files. It may run for a very long time depending on your channel activity. Start small.

  • You can also manually import channel export files that you've exported with '?zap_compat=1' at the /import endpoint and content using the import_items endpoint. Importing files separately will probably require the content_import addon from zap/dev.

  • uexport and associated API functions on Hubzilla will all accept ?zap_compat=1 to trigger the alternate export format. You may use this to dump to file and/or view the migrated data.

Known issues:

  • Superblock data is not migrated to LibBlock.
  • (should be resolved) Hubzilla sites may send sync packets to a Zap site which imports their data but these will be rejected. This could affect channel performance. Sync packets functioning between the two platforms requires much more work as every sync call will need to be examined and translated accordingly. There are hundreds of these and will require knowing the architecture of every site to determine if the sync destination requires translations. This is located in the site table, but may be outdated or missing for any single server at any given time.
  • (should be resolved) unknown permission roles may result in some permission weirdness unless reset in Zap after channel creation. They should work correctly as per the imported setting but new connections will not receive the role defined permissions automatically if they can't be looked up locally. Several permission role names have changed and some are unavailable.
Edited by Zot

Merge request reports