Attendees: clsk, j_k9, naveen_
Note: All timestamps in UTC+2
This meeting's agenda is available here.
As sent to the Mira Development Mailing List on 16/08/2010 with the subject: “Summary of 12/08/2010 Meeting”:
Hi all,
Last Thursday's meeting was attended by Alan, Naveen and myself. You can find a transcript of the meeting here:
http://miragroupware.org/wiki/doku.php/development/communication/archives/100812_weekly
I shall address the topics in the order in which they were discussed. The meeting's agenda can be found here:
http://miragroupware.org/wiki/doku.php/development/communication/agendas/100812_weekly
We first discussed what Alan has been working on. He has been trying to fix the bug which we discovered last week, whereby multiple Files Utilities would appear. This has now been fixed (in Rev 243).
Alan tried compiling Mira Client on Mac OS X, but was unsuccessful on first attempt. It is due to a new “feature” in the linker which seems to be causing problems on Mac OS X, despite not being enabled by us. Alan is going to look into this once he has some more time.
We then spoke about the new Workplace Options box and its contents. I raised the point that the Workplace Options box should not appear when working offline, because its features only apply to a Client communicating in real-time to a Server. Alan asked for some mock-ups for the 'Workplace Settings', 'Manage Utilities' and 'Invite to Workplace…' dialogs, so that he can begin to work on them and have an idea of how they will look in the future. I have passed this request on to Daryl and am waiting for him to get back to me.
The 'Workplace Settings' dialog will have minimal functionality in version 0.2, because we aren't implementing Roles yet. It will only include a tool to change the Workplace description and a message stating that more features will be enabled in a future release. In the future, it will allow the Project Manager to remove Members of a Workplace, to change their roles, and to invite new ones. It will also allow the Project Manager to configure custom roles, choose whether to allow ordinary Members to invite users to the Workplace, or to let ordinary Members view the contents of the Workplace Settings dialog, etc.
The 'Manage Utilities' dialog will allow the Project Manager to add or remove Utilities, possibly using a simple method such as the following: http://wiki.service-now.com/images/c/c1/PersonalizeListLayout2.png It will also allow the Project Manager to configure settings for and display information (such as author, version, description, etc.) on each Utility.
The 'Invite to Workplace…' dialog will be very similar to the 'Add Recipient' dialog in the Message Center: it will allow the Project Manager to select, from a drop-down box (linked to a directory of users on that Server who are not already a Member of the Workplace), another user to invite to the Workplace.
Alan confirmed that, in the future, we will allow a Server administrator to configure the data directory for a Mira Server.
Regards,
Max Bossino
Project Manager
http://miragroupware.org
[01:39] j_k9: Hmm, it doesn't look like anyone else is joining us
[01:39] j_k9: Shall we begin?
[01:39] clsk: sure
[01:40] j_k9: I sketched together an agenda with a few topics, but there doesn't seem to be much to discuss at the moment, to be honest
[01:40] j_k9: What we need, quite clearly, is a larger team :) More developers, and more activity
[01:41] j_k9: But let's leave that to the side for now.
[01:41] clsk: yep.. we do
[01:41] j_k9: How's your branch coming along?
[01:41] clsk: the project is pretty much you and I at the moment
[01:41] clsk: I'm working on the bug from last week
[01:42] clsk: I think (and I hope not) it has to do with the input buffer on the server
[01:42] j_k9: Do you mean the Files Utility bug which caused it to appear several times?
[01:42] clsk: yes
[01:43] j_k9: Have you managed to replicate it?
[01:43] clsk: yes
[01:44] j_k9: Ok. So no luck tracing it yet?
[01:47] clsk: not really
[01:47] clsk: I thought the problem was on the client
[01:47] clsk: but it isn't
[01:47] clsk: client is sending the right messages to the server
[01:48] clsk: I got my “hackintosh” working this week too
[01:48] clsk: but couldn't get the client to compile there
[01:48] clsk: I'm getting an error I've never seen before on gcc
[01:48] j_k9: Is it the same error which I was getting?
[01:48] clsk: well, the linker really
[01:49] clsk: not sure
[01:49] clsk: it probably is
[01:49] clsk: I did some research and it seems to have to do with a (relatively) new gcc “feature”
[01:49] clsk: I'm guessing this “feature” doesn't work well on macs
[01:50] clsk: considering that we don't even enable it
[01:50] clsk: I kind of gave up yesterday because it was consuming too much of my time
[01:50] clsk: but I plan to get back to it later
[01:50] j_k9: Sure
[01:52] j_k9: Is there anything else you'd like to discuss?
[01:53] j_k9: I find myself short of questions or comments, to be honest :)
[01:53] clsk: hm not really
[01:53] clsk: is your friend Daryl still willing to draw mockups?
[01:53] clsk: I could use some mockups for the dialogs to manage utilities
[01:53] clsk: I'm not really good at graphic design
[01:53] j_k9: (Although that smile should not be considered bountiful joy, because it can't be a good thing for there to be little to discuss with a software project!)
[01:54] j_k9: Which dialogs - the ones that would actually appear upon clicking the links in the Workplace Settings box?
[01:54] clsk: yes
[01:54] j_k9: Right
[01:55] j_k9: Ok, so there would be two dialogs: 'Workplace Settings', and 'Manage Utilities'
[01:55] j_k9: Correct?
[01:55] j_k9: Sorry, one more:
[01:55] j_k9: 'Invite to Workplace…'
[01:55] clsk: yes
[01:56] j_k9: But that last one would have a very similar dialog to that of the 'Add Recipient' for the Message Center, i.e. a drop-down box with a directory of users on that Server which are not already a Member of the Workplace
[01:56] j_k9: I think Daryl might be able to whip something up for the first two, though. If he doesn't have the time, I might be able to do it, lending a bit of help from some other friendly FOSS projects.
[01:57] j_k9: I think the Workplace Settings dialog might be blank for v0.2, though, because we aren't implementing roles yet.
[01:58] naveen_ joined the chat room.
[01:58] j_k9: Also, I think the Workplace Settings box (or Workplace Options box - I'm not sure what it's called) should not appear when a user is working offline, because all of its features apply to a Client communicating in real-time with a Server. Do you agree?
[01:58] j_k9: Hi naveen_ :)
[01:58] naveen_: Hi Max :)
[01:58] naveen_: Hello Alan
[01:59] j_k9: Naveen: We're just discussing the dialogs that will appear upon clicking the links in the Workplace Options box in the new UI
[02:00] naveen_: ok
[02:00] naveen_: Thanks
[02:01] clsk: j_k9: makes sense
[02:01] clsk: I'll write that on my notes
[02:01] j_k9: Ok
[02:02] clsk: hello Naveen
[02:02] j_k9: I think, for v0.2, the Workplace Settings link should just produce a blank box with a message stating that it will be enabled in future releases (just so that a user isn't left clicking on a broken link and thinking it's a bug).
[02:02] clsk: ok
[02:03] j_k9: However, it would be quite nice to have the Manage Utilities dialog working, even if everyone could use it (as opposed to just the Project Manager, which would be the case if we had a working Roles system in place).
[02:03] clsk: well there are some things that can be changed
[02:03] clsk: workplace membership and the workplace description
[02:03] j_k9: Do you think it would be possible to do this for this release, or would it be better to treat it like the Workplace Settings link and enable it in the future?
[02:04] clsk: I'd like to have the manage utilities dialog working for this release
[02:04] j_k9: Ok
[02:04] j_k9: clsk: What do you mean by Workplace membership? I presume each individual user, if they wish to leave, would do so using the 'Leave Workplace' link?
[02:04] clsk: hm yea, nevermind
[02:05] j_k9: Also, does a protocol exist to change the Workplace description, as opposed to just setting it when creating the Workplace?
[02:05] clsk: hm, I don't think it exist. Shouldn't be hard to implement though
[02:05] j_k9: We could also allow Workplace names to be changed
[02:06] clsk: hmm I guess we could
[02:06] clsk: not sure how easy that would be though
[02:06] j_k9: I think that would be tough because of the way we, for example, store data physically on Client and Server - we refer to the Workplace name
[02:07] j_k9: Is there any chance a Workplace's data directory could be renamed to something like: workplaceID-workplaceName/
[02:07] j_k9: e.g. 02-test-group/
[02:07] j_k9: instead of: test-group/
[02:08] clsk: renaming a folder isn't going to be the hardest problem
[02:08] j_k9: That would be more scalable. Because I can easily imagine a situation in which Workplace names might be duplicated over time by different sets of users.
[02:08] clsk: it's propagating the changes to everything on the framework (and to utilities)
[02:08] j_k9: I don't think the Workplace name should be unique; just the Workplace ID.
[02:08] clsk: that doesn't really matter
[02:08] j_k9: Are Workplaces currently referenced throughout the framework by ID or by name?
[02:09] clsk: there should only be one workplace name by server
[02:09] clsk: j_k9: both
[02:09] clsk: on the client mainly by name
[02:09] clsk: on the server I think mainly by ID
[02:09] j_k9: Hmm… Ok. Obviously, that complicates things.
[02:09] naveen_: if there's another workplace by same name how do the users differentiate between them?
[02:10] clsk: naveen_: there won't be
[02:10] j_k9: Maybe I'm just thinking too openly.
[02:10] clsk: workplace names should be unique
[02:10] naveen_: I think it's sensible to require unique workplace names
[02:10] naveen_: on a server
[02:10] j_k9: naveen_: If a user were a Member of two different Workplaces with the same name, as my proposal would allow for, they would not be able to distinguish between the two in the Client UI.
[02:10] j_k9: Which, of course, is a problem.
[02:11] j_k9: Ok, we'll stick with the original plan - I'll retract my idea! :D
[02:11] j_k9: Sorry to send out shock waves.
[02:11] clsk: hehe
[02:11] j_k9: :)
[02:12] naveen_: just boucing ideas here :)
[02:12] naveen_: bouncing*
[02:12] j_k9: That's a good thing to keep up :)
[02:12] j_k9: Ok, so let's say we make the Workplace name static, i.e. it can't be changed after a Workplace has been created, even in Workplace Settings.
[02:13] j_k9: We could just allow the Workplace Settings dialog to change the Workplace description, in this release. Would that be alright?
[02:13] clsk: hm .. we could allow for it to be changed
[02:13] j_k9: Basic, simple functionality which demonstrates its future potential.
[02:13] clsk: it just might take some work to get that done
[02:13] clsk: sure
[02:14] clsk: still, a mockup of how it should look in the future would be nice so I can get something basic going
[02:14] j_k9: Exactly. If we find that our users would like that functionality, it might be something we could implement in a later release.
[02:14] j_k9: Well, in the future: what other functionality would Workplace Settings support?
[02:14] j_k9: It would allow users to:
[02:14] clsk: roles
[02:14] j_k9: Sorry -
[02:14] j_k9: It would allow the Project Manager to:
[02:14] naveen_: you may have discussed it earlier - even if we cannot change the workplace name, we should be able to change the workplace directory eventually, right?
[02:14] clsk: like… administrator, editor… things like that
[02:15] j_k9: naveen_: I'm not sure I follow… Isn't the Workplace directory name derived from the Workplace name?
[02:17] naveen_: right, what if that partition is full
[02:17] naveen_: and you need to use another?
[02:18] naveen_: I think it should be by name by default
[02:18] clsk: I'm completely lost
[02:18] naveen_: but whoever is creating should be able to change it to whatever he wants
[02:19] j_k9: Hmm, I think you mean something else… Are you talking about the Mira data storage directory? e.g. instead of Mira Client storing data in C:/Program Files/Mira Client/, it could be D:/Mira ?
[02:19] j_k9: Is that what you mean?
[02:20] naveen_: the server creates one directory for each workplace
[02:20] naveen_: currently, no?
[02:20] j_k9: Yes
[02:20] naveen_: I am referring to that one
[02:20] j_k9: e.g. /opt/mira/UUID/NewWorkplace/
[02:20] naveen_: is it possible to change it?
[02:21] naveen_: right
[02:21] j_k9: Why would you want to change it?
[02:21] j_k9: It's not something visible to the end user… It's just used by the application.
[02:22] naveen_: unix systems usually have installation partitions
[02:22] naveen_: separate from data partitions
[02:22] j_k9: Yes
[02:22] naveen_: what if opt becomes full
[02:22] naveen_: ?
[02:23] j_k9: Right, so you're suggesting what I meant earlier: that the full data storage directory be configurable. i.e. instead of Workplaces being stores in /opt/mira/, they could be stored in /home/bruno/mirafiles/
[02:23] naveen_: exactly
[02:24] naveen_: so you have already discussed it
[02:24] j_k9: I don't think it's reasonable to consider that we should split our storage directory depending on the limitation of the server. i.e. it's not like Mira Server should use /opt until it's full, and then find and use another directory
[02:25] clsk: that will be configurable in the future
[02:25] clsk: but the whole data directory
[02:25] j_k9: No, we have not discussed this. I think it should be the responsibility of the server's administrator to ensure that there is adequate space on the partition on which Mira's data storage directory exists.
[02:25] clsk: not just for certain workplaces
[02:25] j_k9: Exactly
[02:26] j_k9: Is that clearer? In the future, we would allow the whole data directory to be moved to another location; but the data directory would never be split.
[02:28] naveen_ left the chat room. (Ping timeout: 240 seconds)
[02:28] j_k9: Looks like he's having connection problems again…
[02:28] j_k9: :(
[02:28] j_k9: Shall we continue?
[02:29] clsk: yes
[02:29] j_k9: Returning to the Workplace Settings dialog, I can't imagine why a 'Member' or 'Guest' would need to use this. (roles refresher, see: http://miragroupware.org/wiki/doku.php/development/blueprints/roles )
[02:29] j_k9: However, a Project Manager might use this to change the Workplace's settings. These might include:
[02:29] j_k9: - Workplace description
[02:29] j_k9: - Members of the Workplace and their Roles
[02:30] j_k9: (that includes inviting new Members and removing existing Members)
[02:30] clsk: members and guests can have read access to that data
[02:30] clsk: or maybe just members
[02:31] j_k9: Members only read access to this dialog would probably be best
[02:31] j_k9: Can you think of any other settings which might affect an individual Workplace?
[02:32] clsk: hm.. not at the moment
[02:32] j_k9: Neither can I, but at least that's a start. I have a fairly good idea of what the Workplace Settings dialog should look like.
[02:33] j_k9: As for the Manage Utilities dialog, I envisage this as a very simple add/remove system. I'll try to find an example:
[02:33] j_k9: This sort of thing: http://wiki.service-now.com/images/c/c1/PersonalizeListLayout2.png
[02:34] j_k9: That would be simple enough for now, because the concept of third-party and additional Utilities is a pipe dream for us at this stage of development!
[02:34] clsk: I was thinking of also providing a space for utility developers to provide a widget space.. so they can use that for their utilities settings
[02:35] j_k9: Ah, yes, that's a brilliant idea. Hmm… I'll try to get Daryl to work on something.
[02:35] clsk: j_k9: hm I was thinking of something like that as well. But that's a bit too simple
[02:36] j_k9: I think we could incorporate that as the main tab for the Manage Utilities dialog. We could then have another tab which would allow the Project Manager to select a Utility and configure the settings for that Utility, and save or discard those settings accordingly.
[02:37] j_k9: Perhaps also, on the main tab, a small box which would state some of the Utility's information, e.g. author, version, description, etc?
[02:37] j_k9: (when a Utility is clicked on, of course)
[02:39] clsk: hm
[02:39] clsk: I really don't know
[02:40] clsk: I'm bad at designing anything graphical
[02:40] j_k9: That's ok; let's leave it to Daryl. He tends to be quite good at these things.
[02:40] j_k9: :)
[02:40] clsk: I appreciate nice graphical designs and have good taste for them, but that's about it
[02:40] clsk: yep
[02:40] clsk: I really like his mockups
[02:40] j_k9: lol, I understand where you're coming from!
[02:41] clsk: hm do we have anything else to discuss?
[02:41] j_k9: Quite impressive, considering how quickly he did them. And, of all things, he's studying to become a surgeon :P
[02:41] clsk: hehe
[02:41] clsk: weird
[02:41] j_k9: lol, tell me about it
[02:41] j_k9: I don't think there's anything else to discuss.
[02:41] clsk: but I can see why… surgeons get paid a lot
[02:41] clsk: I would be one if I could
[02:41] j_k9: Really?
[02:41] clsk: I just can't see body parts
[02:41] clsk: and blood and bones
[02:42] clsk: gives me the creeps
[02:42] j_k9: And yet you were in the army?
[02:42] j_k9: lol likewise, actually… And I once wanted to enter the army too, so I wouldn't have been much fun at war.
[02:43] j_k9: It's no good throwing up in the middle of a firefight, but wtfdik :)
[02:43] clsk: hehe
[02:43] j_k9: Well, I guess we can call it a night? I'll try to prepare the summary a lot faster this time! :D
[02:43] clsk: yep
[02:44] clsk: I'll try to track this bug down
[02:44] j_k9: I'm sorry about last week, I just got caught up away from the internet. I'm still here tomorrow though, so that should be fine.
[02:44] j_k9: Ok, please let me know how that goes.
[02:44] clsk: I'm pretty sure it's in the input buffer on the server
[02:44] clsk: it's going to take some time to catch what's wrong with it
[02:44] clsk: that code is really low-level
[02:44] clsk: it's ok
[02:44] j_k9: If it's on the Server though…
[02:45] j_k9: Surely there needs to be a cause in order for the visual representation to be seen on the Client? So the Server would be sending the Client faulty Workplace information, for example?
[02:45] clsk: yep
[02:45] clsk: the client sends a request to get the workplace members and utilities
[02:45] clsk: it sends one for each workplace
[02:46] clsk: but the server sends back the information for the same workplace every time
[02:46] j_k9: Ah..
[02:46] clsk: so it seems like the first message is getting caught in the input buffer and being parsed several times
[02:46] j_k9: So you've traced the issue quite far.
[02:47] clsk: yep
[02:47] j_k9: Well, at least you know where it's going wrong, more or less.
[02:47] j_k9: I wish there was something I could do to help :)
[02:49] j_k9: Forgive my ignorance, but wouldn't flushing the buffer after the Server sent data for each Workplace fix the issue?
[02:52] clsk: well, you're paying me :P
[02:53] clsk: can't do that
[02:53] clsk: all messages are put in the buffer and parsed one by one
[02:54] clsk: they get deleted as they're passed to the parser
[02:55] clsk: so it's possible to receive two (or more) messages in one read operationg
[02:55] clsk: it's something I did to take advantage of bandwidth
[02:55] j_k9: Ah, right
[02:56] j_k9: So, if I've understood you correctly, the problem might be that the first message is replicated as opposed to the other messages (for the other Workplaces) following it in that single read operation?
[02:59] clsk: hm, I'm not really sure what the problem is
[03:00] clsk: to be honest
[03:02] j_k9: Sure. Well, please let me know how it goes :) It'd be interesting to discover where this problem has cropped up!
[03:03] j_k9: Shall we finish the meeting here?
[03:03] clsk: will do
[03:03] clsk: hm yea. I have to run out actually
[03:03] clsk: good night
[03:03] j_k9: Ok, good timing :)
[03:04] j_k9: Goodnight! Thanks for joining.
Discussion