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

Reply via email to