Hi all, Today's meeting was attended by Anand, John, Tijoy and myself. You can find a transcript of the meeting here: http://miragroupware.org/wiki/doku.php/development/communication/archives/110109_biweekly
This meeting had an agenda, which can be found here: http://miragroupware.org/wiki/doku.php/development/communication/agendas/110109_biweekly I shall address the topics in the order in which they were discussed. Anand has been looking into Boost.Log for the logging system, and is going to add build instructions and some examples to the 'Setting Up Your Programming Environment' page on the Wiki. Anand looked into the review result of the Boost.Log library and found this email on the Boost mailing list from March 2010: http://lists.boost.org/boost-announce/2010/03/0256.php We discussed why, although Boost.Log was provisionally accepted into Boost, it was rejected: the "Critical issues", and whether they affected us to such an extent that we should look into another library. It was decided that: - none of these issues are show stoppers; - it is likely that they will be corrected in the future (or have already been corrected); - we can adapt our implementation accordingly, if its API changes in the future. Anand is going to go ahead and prepare an implementation of the logging system for Mira using Boost.Log. Anand is also going to ask the Boost.Log maintainer, andysem, whether of the Critical issues have been resolved, and how far away the library is from being included in Boost. I then shared the hostname for a public Mira Server, built from revision 259 of Alan's login-system branch; we all connected using the relevant build of Mira Client. Those who did not have an account on the Server created one using the New User action. They then joined the default Mira Workplace. For the most part, the testing went well, but we came across a few bugs: - For Anand, the Files Utility did not appear, even though it appeared for the rest of us. All he could see was the Summary tab, and the Summary Utility was all that was available for him in the Navigator pane. Anand will report this bug. - Tijoy was unable to resize the panes on the left (Navigator, Workplace Options) and on the right (Contacts, Chat) while they were docked. Tijoy will report this bug. - I noticed that clicking on a contact in the Contacts pane will change the text in the Chat pane, but selecting another contact in the Contacts pane using the arrow keys will not have the same result. In other words, it appears that a change in the Chat pane is only triggered by a click event in the Contacts pane, not a focus event. I will report this bug. - I also noticed that when you are chatting to a contact and that contact then logs out, the Chat pane remains showing that conversation (which is the correct functionality) but the selection in the Contacts pane does not update to the new location of the contact in the 'Offline' group. I will report this bug. - I also came across an error in the way that lines are handled in the Chat pane; my reply cut through the previous line. I will report this bug (with screenshot). - Tijoy spotted a bug in the Files Utility, where if any one of the 'Upload File', 'Create Folder', or 'Download' widgets is open it is not possible to use another. Clicking on another should replace the open widget. Tijoy will report this bug. - I tried creating folders with special characters, and all worked except one, which caused a Segfault in the Server and a crash in the Client. This is because there is currently no input validation. We should remove all "unusual" special characters. I will report this bug. The public Server that we used is currently running revision 259 of the login-system branch. It will be updated to the newest revision of that branch until it is merged into trunk. After that, the Server will be built from the latest version of trunk. The Server will run 24/7 for testing by the Mira Core Development Team. If any of our developers would like the hostname for testing purposes, please let me know. Tijoy raised the question of file versioning and permissions. We have discussed this before and have suggested providing a wrapper around an existing Version Control System (such as SVN, BZR, etc.), but we have never reached a conclusion. This will be added to the Roadmap. Tijoy is planning to develop a prototype of a collaborative Notes Utility using Neil Fraser's Differential Synchronization model, which he thinks will work well with our Client-Server environment. He is going to send an email to the mailing list about this proposal. John has made good progress with the Database backend for the Directory layer. He is - I quote - "now able to read and write data from/to an SQLite DB using the Soci interface built into the mira_server executable", which is fantastic progress! His proposed implementation is to have a Database class parallel to the plaintext (XML file) class, inheriting from Directory. The different database backends (SQLite, MySQL, etc.) would then be separate classes inheriting from the Database class. John proposes to use prepared statements with the SQLite backend, and to use stored procedures with the other backends. This is because the SQLite backend for SOCI does not support stored procedures. The other implementations should only need to separate the initial creating of a session: all the other methods should be the same. John pointed out that the performance of SOCI's SQLite backend is not very good. We decided that this is a non-critical issue, because by the time a Mira Server admin finds the need for 10,000 DB records, the problem should be resolved! John also mentioned that the record structure in the blueprint for the Database backend does not map to the actual structure of the Directory.xml file. I answered that this was my fault, because the blueprint is several years old and has not been updated. Finally, John proposed that we include a skeleton SQLite database (containing the correct record structure) with Mira Server, and SQL scripts for the other database backends. These databases would include a table named 'Version' with a single record, which would state the version of that database. The reason for this is that the record structure might change over time, so it would be useful for a version of Mira Server to require the specific version of the database with which it is designed to operate. John is going to work on the SQLite backend and then publish it for the rest of the Core team to review. John said that a database might need to be upgraded - e.g. upon the installation of a new version of Mira Server which uses a different Directory record structure. I then recalled that we planned on having a Server Administration tool, either as part of Mira Client (as in the original mock-ups) or as a standalone app. This tool would include utilities such as Database Upgrade, Manage Users, Server Settings, etc. The request for this tool will be added to the Roadmap. Regards, Max Bossino Project Manager http://miragroupware.org ------------------------------------------------------------------------------ Gaining the trust of online customers is vital for the success of any company that requires sensitive data to be transmitted over the Web. Learn how to best implement a security strategy that keeps consumers' information secure and instills the confidence they need to proceed with transactions. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ Mira-development mailing list Mira-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mira-development