Attendees: clsk, J_K9, wb5cc23
Note: All timestamps in UTC (Universal Coordinated Time).
Mar 09 16:12:08 <J_K9> shall we get started then? wb5cc23 - I presume you're still here?
Mar 09 16:12:33 <clsk> sure
Mar 09 16:13:26 <clsk> seems like he left
Mar 09 16:13:38 <J_K9> he's been idle since he joined… hmm
Mar 09 16:13:56 <clsk> he did the same thing last time too right?
Mar 09 16:14:02 <clsk> maybe he's having problems or something
Mar 09 16:14:08 <J_K9> yes, probably
Mar 09 16:14:18 <J_K9> i'll email him to check what's up
Mar 09 16:14:53 <wb5cc23> Oh sorry, I'm here
Mar 09 16:15:07 <J_K9> ah, good - was just about to send it :)
Mar 09 16:15:08 <clsk> max, did you recieve a cc of the email I sent to Thurston?
Mar 09 16:15:11 <J_K9> yes
Mar 09 16:15:23 <J_K9> thank you
Mar 09 16:15:39 <clsk> hey Brian
Mar 09 16:15:54 <wb5cc23> Hi, so where do we start?
Mar 09 16:16:02 <clsk> well
Mar 09 16:16:16 <clsk> have you thought about what kind of approach to take towards the directory layer at all?
Mar 09 16:20:07 <J_K9> Brian?
Mar 09 16:21:12 <wb5cc23> Not really. Only in very general terms. I'd like to see some sample data maybe and a vague list of it's actual functions.
Mar 09 16:22:34 <clsk> have you seen the code on the server for the directory?
Mar 09 16:22:35 <J_K9> I think we should come up with a structure for the Directory's storage on the list, e.g. in XML so that everyone can understand it. this could then be adapted for the other backends, but it's just to show the model
Mar 09 16:22:59 <clsk> it isn't much, or.. productive, but it gives you an idea of how it works
Mar 09 16:23:14 <clsk> I think I also uploaded the xml file with some data
Mar 09 16:23:32 <J_K9> ah
Mar 09 16:24:43 <clsk> I've already done something like that. It doesn't have much though. Just to serve as an example
Mar 09 16:25:01 <wb5cc23> Oh gosh, I didn't realize any work has been done on it at all. I'm embarased to say I haven't seen the code!
Mar 09 16:25:16 <clsk> that's the main purpose of the code that I made for the directory layer
Mar 09 16:25:25 <J_K9> http://mira.svn.sourceforge.net/viewvc/mira/mira-server/src/directory/ :)
Mar 09 16:25:42 <clsk> actually you might want to look in the includes
Mar 09 16:25:42 <J_K9> I think the sample XML data file has been remove tho
Mar 09 16:25:50 <clsk> the implementation is really not important
Mar 09 16:25:57 <clsk> oh
Mar 09 16:26:01 <clsk> that's bad
Mar 09 16:26:02 <J_K9> http://mira.svn.sourceforge.net/viewvc/mira/mira-server/include/directory/
Mar 09 16:26:11 <clsk> because I don't have my computer over here
Mar 09 16:26:25 <J_K9> the structure is shown here though: README.PlainTextDirectory
Mar 09 16:27:23 <clsk> http://mira.svn.sourceforge.net/viewvc/mira/mira-server/bin/Directory.xml?revision=14&view=markup
Mar 09 16:27:27 <clsk> here's the XML file
Mar 09 16:27:31 <J_K9> oh
Mar 09 16:27:32 <J_K9> thanks
Mar 09 16:28:05 <wb5cc23> Allright. Looking now. Sorry
Mar 09 16:28:16 <J_K9> that's very useful
Mar 09 16:28:20 <clsk> it's produced by Boost.Serialization so it might look a bit cryptic, but can tell what's what.
Mar 09 16:28:46 <J_K9> just one question - shouldn't there be a set of <role></role> tags for each <item> in <m_workplace_list>?
Mar 09 16:29:21 <clsk> maybe
Mar 09 16:29:26 <clsk> the code doesn't have that though.
Mar 09 16:29:42 <clsk> Boost.Serialization takes a container and .. serializes it
Mar 09 16:30:03 <J_K9> ah, right. I think that is something we should implement in the first version of the Directory Layer though, even if the roles aren't enforced in v0.1
Mar 09 16:30:07 <clsk> so whatever is in that xml file is what I had implemented. and like I said I only did that to serve us as an example
Mar 09 16:30:12 <J_K9> yes
Mar 09 16:30:35 <clsk> hm I guess we could
Mar 09 16:30:43 <clsk> but that's really not the issue right now
Mar 09 16:30:55 <clsk> the issue is the technical OOP design
Mar 09 16:30:59 <clsk> OO*
Mar 09 16:31:18 <clsk> ie. how should the classes be structured?
Mar 09 16:31:26 <J_K9> ah
Mar 09 16:32:27 <clsk> if you look at Directory.h what I did was provide a base class
Mar 09 16:32:57 <clsk> then created a derived class (that inherits from Directory) called PlainTextDirectory
Mar 09 16:33:12 <clsk> so what I was thinking was provide a unified interface in Directory
Mar 09 16:33:33 <clsk> Create a directory pointer with a say.. PlainTextDirectory object
Mar 09 16:33:40 <clsk> or LDAPDirectory
Mar 09 16:33:44 <clsk> depending on what's being used
Mar 09 16:34:06 <clsk> so Directory* l_dir = new PlainTextDirectory;
Mar 09 16:34:13 <clsk> I don't know if that will be enough though
Mar 09 16:34:20 <clsk> what do you guys think?
Mar 09 16:34:42 <clsk> by the way Directory is a pure virtual
Mar 09 16:34:58 <clsk> so it would enforce that classes provide implementations for all members
Mar 09 16:35:42 <J_K9> that makes sense to me. that level of abstraction also makes it swappable, which will be good if an admin wants to change backend
Mar 09 16:36:01 <clsk> ahh probably not
Mar 09 16:36:13 <clsk> because you still have to transfer the data from one place to the other
Mar 09 16:36:19 <clsk> later on we could provide tools to do that
Mar 09 16:36:46 <J_K9> aye
Mar 09 16:36:51 <J_K9> for now that's not a problem
Mar 09 16:37:00 <clsk> like say an admin installs the server to work with plaintext but wants to transfer all the data to an LDAP server
Mar 09 16:37:01 <clsk> right
Mar 09 16:37:07 <clsk> we're getting way too far ahead of ourselves
Mar 09 16:37:11 <clsk> so Brian what do you think?
Mar 09 16:37:28 <wb5cc23> So, we need to add two more derived classes to the base class Directory?
Mar 09 16:37:40 <clsk> yes
Mar 09 16:37:41 <clsk> eventually
Mar 09 16:37:53 <clsk> for now we can just concentrate on the plaintext directory
Mar 09 16:38:14 <clsk> while we're developing the base class
Mar 09 16:38:16 <wb5cc23> Ah, so we are just going to expand PlainTextDirectory.
Mar 09 16:38:22 <clsk> the main thing is the base class
Mar 09 16:38:25 <clsk> for now
Mar 09 16:39:13 <clsk> no
Mar 09 16:39:23 <clsk> we're going to expand the base class
Mar 09 16:39:30 <clsk> define it, etc…
Mar 09 16:39:41 <clsk> we have to find out what we need to provide
Mar 09 16:40:06 <wb5cc23> Ok, so we're just keeping in mind the three derived classes we will make as we build the base class.
Mar 09 16:40:24 <clsk> right
Mar 09 16:43:46 <clsk> so?
Mar 09 16:44:33 <clsk> Brian: have you read our previous chatlogs?
Mar 09 16:44:57 <clsk> if you do you'll be able to get a bigger picture of what we're trying to accomplish
Mar 09 16:45:14 <J_K9> they explain more about the Directory Layer, but a lot can be discovered about it from the blueprint (which you have read)
Mar 09 16:45:43 <J_K9> I can't really help with the class structure as I have very little experience with OOP, but I can help with your understand of that layer if you have any questions
Mar 09 16:46:04 <clsk> if you have any questions feel free to ask
Mar 09 16:47:31 <wb5cc23> I enjoy OOP actually and dont think it should be very difficult if i understand correctly. (I'm sure I'll regret saying that.) We just need functions for each bit of data to add, access, and delete them.
Mar 09 16:47:51 <clsk> hm right
Mar 09 16:48:27 <wb5cc23> I mean the base class by itself
Mar 09 16:48:38 <clsk> yea
Mar 09 16:48:45 <clsk> I know what you mean
Mar 09 16:48:59 <clsk> so do you think you can work on this?
Mar 09 16:49:30 <clsk> I probably won't be doing any coding on the directory layer since I just started working on the network layer for the client
Mar 09 16:49:42 <clsk> but if you have any questions you can ask any time
Mar 09 16:50:07 <wb5cc23> Yes absolutely. I think I can work off of your Directory.h header and expand upon it.
Mar 09 16:50:19 <clsk> ok
Mar 09 16:50:43 <clsk> you might want to get rid of get_users_and_workplaces. That was somewhat of a hack
Mar 09 16:52:17 <clsk> alright I guess we could change the topic
Mar 09 16:52:28 <clsk> max where are we at with the gsoc app?
Mar 09 16:53:05 <wb5cc23> Sure, but it's a good place-holder.
Mar 09 16:53:09 <J_K9> I think it's almost ready to go - I just need to email everyone on the list
Mar 09 16:54:10 <clsk> While I was writing that code I was just coding away so I could use it as an example for what would come later.
Mar 09 16:54:34 <clsk> When are you submitting the app?
Mar 09 16:54:37 <wb5cc23> Yeah, but it's good for an example.
Mar 09 16:54:49 <J_K9> I'll be submitting the application tonight
Mar 09 16:55:03 <clsk> yea for that it's ok
Mar 09 16:56:50 <clsk> hm anything else we want to talk about?
Mar 09 16:57:36 <J_K9> no but I think we should take both these topics to the list as well, just to let everyone else know
Mar 09 16:57:52 <wb5cc23> I'd like to work on some code and send it to you both.
Mar 09 16:58:07 <wb5cc23> But that's all I have.
Mar 09 16:58:14 <clsk> sure max
Mar 09 16:58:44 <J_K9> that's fine Brian. if you want, you could upload it into a separate folder on the SVN folder?
Mar 09 16:58:49 <J_K9> *repository
Mar 09 16:58:58 <wb5cc23> Ok
Mar 09 16:59:01 <clsk> Brian if you want to just create a new tree for your code if you don't want to put it in the main code
Mar 09 16:59:04 <clsk> oh there
Mar 09 16:59:12 <clsk> or you could create a branch
Mar 09 16:59:27 <clsk> but I've svn is not very good with merging later
Mar 09 16:59:28 <wb5cc23> Yeah, I'd like to do that before adding it to the whole pot.
Mar 09 17:00:10 <J_K9> you could do what Shafi has done with the BinDiff code - store it in a separate directory in the root of the repository until it can be merged into the src folder
Mar 09 17:00:11 <clsk> sounds good
Mar 09 17:01:37 <wb5cc23> Fair enough.
Mar 09 17:02:18 <J_K9> ok then :) good. Alan, do you want to mail the list about the OO structure of the Directory layer and the format of its content (using the XML file as an example)?
Mar 09 17:02:19 <clsk> alright then I'm going back to sleep
Mar 09 17:02:41 <J_K9> no problem - would you be able to do it in the morning?
Mar 09 17:02:43 <clsk> I'll just make a reference to what's on the repository
Mar 09 17:02:48 <wb5cc23> Then sleep well. It's just noon here.
Mar 09 17:02:56 <clsk> I'll do it tonight
Mar 09 17:03:06 <clsk> I just have to sleep a couple more hours
Mar 09 17:03:12 <clsk> thanks
Mar 09 17:03:36 <clsk> it's 8pm here. but I worked a 12hours shift last night and stayed up until noon
Mar 09 17:03:46 <clsk> so I haven't had much sleep. A couple of more hours should do
Mar 09 17:03:53 <clsk> I'll email the list after that
Mar 09 17:04:05 <wb5cc23> Ouch, then you've earned some sleep.
Mar 09 17:04:12 <J_K9> definitely! :)
Mar 09 17:04:24 <clsk> I'll be idleing here after that to if you guys want to come around :)
Mar 09 17:04:31 <clsk> heh yea
Mar 09 17:04:40 <clsk> I'll talk to you guys later
Mar 09 17:04:43 <clsk> bye now
Mar 09 17:04:43 <J_K9> ok, thanks for meeting guys :) i'll try idling on here more often
Mar 09 17:04:45 <J_K9> bye
Mar 09 17:04:58 <wb5cc23> Goodbye all
Discussion