User:Anindyapandey: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 104: | Line 104: | ||
#Fixed size issues with modal. | #Fixed size issues with modal. | ||
<br/> | <br/> | ||
'''Week 12:''' | |||
<br/> | |||
#Implement conversion of nntp and movemail accounts. | |||
#Changed Converter folder name from "Converter-accountname" to "accountname-maildir". | |||
#Use worker's onerror error handler for error handling and remove try catch blocks from worker. | |||
#Terminate all workers on error. | |||
#Use OS.Path.join for path manipulations. | |||
#Use OS.File.makeDir with from option to create all directories required. | |||
</br> | |||
Revision as of 17:13, 17 August 2016
I got selected for GSOC 2016. I am going to work on implementing an mbox->maildir converter for Thunderbird. I need an account on Mozilla Wiki to be able to put my weekly updates on it.
https://drive.google.com/open?id=1LZr6QCWwCj6vW55aYNl9oatVXzzmoN_elCO53sCn3To
Week 1:
- Enabled the store type drop down menu.
- Detect change in store type. Whenever there is a change in the store type a migration dialog modal appears.
- The migration dialog modal currently has a temporary title and text.
- There are 2 buttons - Yes ( to proceed with the migration ) and No ( to cancel the migration ).
- For now, pressing Yes creates a folder "Converter" in the tmp directory with the folder hierarchy of the account root folder and copies over the files in their corresponding places from the account root folder.
- Pressing No closes the migration dialog modal.
Week 2:
- On pressing 'No' or the close button, the migration dialog modal closes and the store type is reverted to the original store type.
- On pressing 'Yes' a folder "Converter" is created in the tmp directory with the folder hierarchy of the account root folder and the mbox files are parsed and corresponding maildir files are created in proper places in the "Converter" folder.
- Check if migration is complete and on completion, the migration dialog modal closes with an alert message 'done'.
Week 3:
- On pressing 'Yes' a progress bar appears and the warning messages disappear.
- The max value of progress bar is equal to the number of messages in the account.
- The value of progress bar increases as messages are copied over.
- When the value of progress bar is equal to the max value ie the migration is complete, the migration dialog modal closes with an alert message 'done'.
Week 4:
- The .msf and the .dat files get copied over as part of migration.
- For imap accounts max value of progress bar is equal to the no. of files and folders within the account root folder.
- For imap accounts value of progress bar increases by 1 for each file or folder that is encountered as the converter moves through the account root folder.
Week 5:
- Before creating the "Converter" folder, if there is already a folder with the same name in the tmp directory, then the already existing folder is first removed.
- The name of the "Converter" folder is "Converter-" followed by the account root folder name.
- After the migration is complete, if there is already a folder with the same name in the parent directory of account root folder, then the already existing folder is first removed.
- Then the "Converter" folder is moved to the parent directory of account root folder.
- The following prefs are appropriately changed to make the "Converter" folder the new account root folder -
--mail.server.%serverKey%.directory --mail.server.%serverKey%.directory-rel --mail.server.%serverKey%.newsrc
6.Thunderbird restarts and the new messages are added to the new account root folder.
Week 6:
- Fixed the style issues.
- Created a test for the converter.
- The test currently works for a pop account.
- Made changes to the converter modal dialog box.
Week 7:
- Created a jsm module to carry out the conversion and separated the conversion process from the user interface and the test.
- The jsm file exports function convertMailStoreTo that expects mailstoreContractId, account nsIMsgIncomingServer and an event target and returns a promise which gets resolved with the path of the new account root folder when the conversion is complete.
- convertMailStoreTo function dispatches event "progress" on the event target every time a message is copied for a pop account or every time a file or folder is copied for an imap account.
- The test and the user interface js file import the jsm and call convertMailStoreTo function.
- Made changes to variable and function names and comments.
- Made changes to converter modal dialog box.
Week 8:
- Made Thunderbird go offline before starting the conversion and go online after completion.
- Compact folders for an imap account before starting the conversion.
- Made changes to entity names in converterDialog.dtd.
- Made finish button appear and cancel button disappear on the modal on completion instead of window.alert("done").
- Disabled store type menu list after completion.
- Made converterWorker.js post proper messages on error and rejected promise with proper reasons in case of an error.
- Made converterDialog.js revert the prefs and rootFolder file path to original values in case of error.
- Made the test check if files and folders are actually created in the right places.
Week 9:
- Thunderbird restarts automatically after conversion after displaying a conversion done and restart needed message on the modal.
- Added test for imap account.
- Error handling with localized error messages.
- Passing percent conversion done from jsm to the tests and to converterDialog.js.
Week 10:
- Handled conversion of deferred accounts.
- Handled conversion of accounts to which other accounts are deferred.
- Added a test for deferred accounts.
- Fixed modal scrollbar issues.
Week 11:
- Enable store type menu for local folders.
- Do not close modal on error.
- Changed error codes.
- Made changes to tests.
- Made changes to messages displayed on modal.
- Changed log level to DEBUG.
- Implemented maildir to mbox conversion.
- Fixed size issues with modal.
Week 12:
- Implement conversion of nntp and movemail accounts.
- Changed Converter folder name from "Converter-accountname" to "accountname-maildir".
- Use worker's onerror error handler for error handling and remove try catch blocks from worker.
- Terminate all workers on error.
- Use OS.Path.join for path manipulations.
- Use OS.File.makeDir with from option to create all directories required.