- Continued with debugging and making code of archive-ui suitable for mm3 (earlier, I merged archive-ui’s some components with minor changes)
- Took me quite a time to understand how to add new templates.. and later, found that information written in mm3 docs. 😦 ..But in the end, i18n->find() was able to locate new templates added by archive-ui.
- In-between, started learning more about database component of mm3. Will require more time.
- archive-ui has completely different structure for some major components e.g. MailingList class. So, moving onto making changes in archive-ui to make it synchronized with mm3.
I started merging archive-ui code with pipermail. Basically, created the new class HyperHyperArchive and added additional fields to Article Class. The good part is that both archive-ui and pipermail use similar way(mbox file) to insert a message into Archives.
- archive-ui: Uses a script bin/arch to open the mbox file(which it takes as input), opens it and call these: archiver.processUnixMailbox(fp, start, end)
- pipermail: archiving/pipermail.py create a temporary mbox file, add message to it and call archiver.processUnixMailbox(fp, start, end)
After finishing the merging of the code, I make a call to archiver.processArchives(mbox=True) when archive_message() is called (archive_message() is the function that has to do all the work, and is described by archiver API in mm3). I see a bunch of new files (conversation.html), directory (‘all’). But, they are all broken. So, it will require some more time (debugging + perfect understanding of archive-ui) to finish.
Also, I noticed that I haven’t gone through the database part of archivers. I’ll try to read it too.
Today was the first day of official GSOC coding period. I’ll try to write a small blog post everyday. For all my future posts, I will use these terms:
archive-ui -> Yian’s work on archive-ui as part of last year’s GSOC on mailman 2.1
pipermail-> Pipermail on mailman 3
Previous Status: I’ve already setup Pipermail UI. I have gained a basic idea of how things are done in pipermail implementation. I have also started reading archive-ui source code.
Today: Earlier, I thought of installing mailman 2.1 and integrating archive-ui with it. But it was not clear how to go about it and also, it seemed to be a time consuming task. So, I decided to leave it atleast for now.
In order to understand archive-ui’s implementation, I basically followed:
- GSOC demo of Yian’s work
- Source code
These two resources were enough for the purpose. At the end of the day, things are much more clearer. Now, I understand the execution flow of pipermail and archive-ui and the differences between them. Most important, the notions of ‘conversation’ in archive-ui and ‘generating static htmls’ are clear. So, I hope to quickly get started with writing code to bring archive-ui functionality to mm3.