589
edits
No edit summary |
No edit summary |
||
| Line 3: | Line 3: | ||
I think we need to create a temporary dest server object and set its directory to the target directory, set the pluggable store for the temp dest server to be the new store type, and then create a root folder for that server. That root folder will be used as the root for all the folders we create after that. We'll need to remove the temp server when we're done. | I think we need to create a temporary dest server object and set its directory to the target directory, set the pluggable store for the temp dest server to be the new store type, and then create a root folder for that server. That root folder will be used as the root for all the folders we create after that. We'll need to remove the temp server when we're done. | ||
We probably want to avoid as many notifications as possible - we won't want gloda to start indexing these new folders and messages, for example. And we don't want removing the temp server to cause any issues (like deleting the storage associated with the server). I'd like to write the migration code in js, but that could make doing any low level trickery impossible. | We probably want to avoid as many notifications as possible - we won't want gloda to start indexing these new folders and messages, for example. And we don't want removing the temp server to cause any issues (like deleting the storage associated with the server). I'd like to write the migration code in js, but that could make doing any low level trickery impossible. Perhaps we could turn off folder notifications, but other stuff might be going on during migration. Do we want to force migration to run before startup finishes? | ||
We'll need to preflight the storage requirements for the migration - probably requiring double the storage used by the current server directory would be a conservative estimate. | |||
What, if anything, should we do with .mozmsgs directories? I guess we don't want to copy them because we'd need to mark the headers in the .msf file in the new directory as being indexed. The maildir store is special because the indexers should be able to use the messages in the store directly, and not make a copy. We need a way for the os search indexers to know this. Perhaps a boolean attribute on the store. Will the indexer need to know how to get the file from the message id? More likely, we'll need to be able to go from the file name to the message id, in order to open search hits. Perhaps we can add a new interface for this, and if the pluggable store implements that interface, the indexer will use it. | |||
edits