# Archive Data
Creates a zipped GROWI archive data for migrating GROWI data to another GROWI.
WARNING
GROWI archive data can only be imported for the same version of GROWI.
When importing user data, be aware of the following
- If the username of the administrator user performing the import operation is admin1, and there is a user with the same username as admin1 in the exported data of the old environment, the data cannot be imported correctly. The same behavior will occur with email. For this reason, it is recommended to create a new user that does not exist in the old environment data when performing the import operation.
WARNING
- Since the data for the export function uses the file system, it may not work properly when the GROWI server is load balanced. For details, see here.
# Archivable MongoDB Collections
Categories | MongoDB Collection Name | Description |
---|---|---|
Pages | Pages | Pages. Must be imported together with Revisions. Since browsing permissions are preserved, Users and Usergroups must be imported as a set in order to preserve the scope of visibility. Pages under /trash will also be imported. |
Revisions | A history of changes to the page. Must be imported together with Pages. | |
Tags | Page tags. The following PageTagRelation needs to be imported together in order to keep the tags tied to the page. | |
PageTagRelations | Data that ties Tags to Pages. Must be imported together with Pages and Tags. | |
Users | Users | Users. (Note: You need to set the environment variable PASSWORD_SEED . [1] Be careful when importing user data. [2]) |
Externalaccounts | Accounts using external OAuth. Must be imported together with Users. | |
Usergroups | User groups. Must be imported with Users and UserGroupRelations to keep the Users in the group. | |
UsergroupRelations | Data that ties Users to User Groups. | |
Admin Settings | Configs | Various configuration data. Some notification settings are included in Updateposts and Globalnotificationsettings instead of Configs. |
Updateposts | Notification settings that are created in User Trigger Notification. | |
Globalnotificationsettings | Notification settings that are created in Global Notification. | |
Others | Comments | Comments. Must be imported together with Pages. |
Attachments | Metadata of attached files. AttachmentFiles.Files and Attachmentfiles.Chunks must be imported together if GridFS is used as the file upload method. | |
AttachmentFiles.Files | Metadata of the attached files uploaded with Grid FS. Must be imported together with Attachments and AttachmentFiles.Chunks . | |
AttachmentFiles.Chunks | Data of the attachment files uploaded with Grid FS. Must be imported together with Attachments and AttachmentFiles.Files if GridFS is used as the file upload method. | |
Bookmark | Bookmarks attached to pages. Must be imported together with Users and Pages. | |
Migrations | Migration log. MongoDB migrations in GROWI will skip the migration files that are added to this log. Therefore, to create archived data as complete data at the time of export, Migrations must be exported. |
# How to archive data
- Log in to GROWI with an administrator account and go to [Admin/Export Archive Data] (
/admin/export
). - Click on [Create New Archive Data] and in the modal that appears, select the MongoDB Collections to be exported and click on the [Export] button.
- When the export is completed, the generated archive data will be added to the [Exported Archive Data List]. Click the cog icon to reveal the drop-down menu with the [Download] button.
When backing up/restoring user data, do not forget to set the current 'PASSWORD_SEED' to the new GROWI system. Otherwise, users will not be able to login with their passwords. The current 'PASSWORD_SEED' will be stored in meta.json in the exported zip file. ↩︎
If the username of the admin user performing the import operation is admin1, and there is a user with the same username as admin1 in the exported data of the old environment, the import cannot be performed correctly. The same behavior will occur with email. Therefore, it is recommended to create a new user that does not exist in the old environment data when performing the import operation. ↩︎