Notes from Reference Implementation Workgroup
Date: July 20, 2010
Time: 12pm-1pm
Attendees: George Cole, Rob Wilmot, Andy Heeren, Greg Meyer, David Kibbe, Pat Pyette, Mark Stine, Umesh Madan, Arien Malec, Uvinie Hettiaratchy, Charles Curran, Ron Cordell, Dan Kazzaz, Chris Lomonico, Srinivas Koka, Chris Moyer, Vince Lewis, Tony Calice, Will Lusen, Vassil Peytchev, Chaminda Gunaratne, Gary Teichrow

Actions from this Week
#
Date
Action
Status
Owner
Due Date
9
07/20/10
Update code source repository with changes
Open
Arien
7/27/10
10
07/20/10
Meet within subteams and develop wiki pages
Open
WG
07/27/10
Actions from last Week
#
Date
Action
Status
Owner
Due Date
4
07/13/10
Draft commit process document
Open
Brian
7/20/10
5
07/13/10
Second pass review of component list
Open
Arien
07/20/10
6
07/13/10
Develop set of procedures around contribution of code
Open
Brian/Arien
07/20/10
7
07/13/10
Review draft open source policy
Open
WG
07/20/10
8
07/13/10
Start work in Agent team and XDS B metadata team
Open
WG
07/20/10
Notes:
Arien Malec
  • Would like to review project list. Made some changes based on feedback from last week.
  • i put together overall software development page and updated reference implementation components page.
  • Would like to get status on Java and .NET pages and associated components of DNS components and MIME libraries.
  • There is also some work started with XDS metadata.
  • Notion of agent proxy is that it’s an agent implementation that fits between a user and their email client and SMTP server they are using. It’s essentially a HISP in a box for a single user. Allows you to set up local host as SMTP server and IMAPP server. It will help you import, export certificates and set up.
  • The second thing I did was create software development process and Google code repository. I put together code convention for Java. Need one for C#.
  • We’re using Mercurial for source code management system.
    • We used it for REST based implementation, and has nice workflow which allows you to use source code management locally. Allows different teams to work in parallel on similar components.
    • I put together a how-to for Mercurial.
  • I also put together a source code organization for main NHIN Direct directory. We have a main root directory and under that I’ve noted that we should create a subdirectory for each module. Under each module, subdirectory for each implementation.
  • Put together basic workflow – checking in code only refreshed from main repository.
Umesh Madan
  • Suggest that this may not be optimal to set up code. Depending on libraries need to write, code structure will be different.
Arien Malec
  • Would like to do a round on this.
Round the room on library structure as well as code management process structure.
Umesh Madan
  • I have .NET libraries that I have to write which don’t belong. Similarly .NET has native things. I think the high level structure is similar, but don’t think you should break it up by Agent.
  • Arien Malec - Your counter proposal is to have C# as top directory. What I was thinking that the MIME library for Java may be empty or thin layer around relevant Apache. There may be more implementation in .NET but I’m willing to admit that I’m wrong.
  • If we’re setting up a .NET, at the root there should be a command line to build the whole thing.
  • A lot easier to do it by language.
George Cole
  • I think the source code organization will probably be easier for us if the languages are the top level. Code management process – I like idea of breaking out maintainers vs. non-maintainers
Rob Wilmot
  • Support Umesh’s idea of breaking out by language.
David Kibbe
  • No comment
Pat Pyette
  • Support decision.
Mark Stine
  • Support decision.
Dan Kazzaz
  • Agree with group
Chris Lomonico
  • Agree with group
Sri Koka
  • Agree with group.
Vince Lewis
  • Agree on language
Tony Calice
  • No comment.
Will Lusen
  • Fine with discussion. Would like to have a project management discussion – backlog management. Making sure we’re not stepping on each other’s toes
Vassil Peytchev
  • Agree
Arien Malec
  • Ok I will take that on.
  • Status on teams we were talking about last week:
    • Agent team
    • XDS metadata team
  • Umesh, can you give update on C# implementation?
Umesh Madan
  • I’ve been making sure that C# Agent code is compliant with the spec. I’m almost done.
  • Goal is by end of day to have a reorganized agent broken out better and also the agent will wrap the message and work with SMTP envelopes. Also check DNS revolver.
  • Once that is in, we can unblock who want to innovate on top.
Arien Malec
  • On Java side. Has there been progress?
Greg Meyer
  • Nothing further done.
Arien Malec
  • Take in code and check into tree today or refactoring?
Greg Meyer
  • Next day or two.
Arien Malec
  • Any metadata update?
Sri Koka
  • Researching XDS B metadata component. Not sure if I can check it in yet.
Vassil Peytchev
  • Checked into Google code.
  • Now that we have this structure, is the structure already available on Google code?
  • I think MedAllies is organizing some of the work in this area.
Vince Lewis
  • Cohort is handling interface.
Sri Koka
  • Umesh, is there anything from Microsoft that we can use?
Umesh Madan
  • Haven’t looked yet. I’ll make sure to check.
Sri Koka
  • I will shoot you an email.
Arien Malec
  • Topic on maintaining backlog.
  • I would suggest that each sub-team forms a team and has a mechanism – mailing list or wiki update to keep the code status visible and maintains backlog on wiki.
  • I suggest each team create a library or module page and uses the wiki features and others to keep visible status of what’s going on with that agent.
  • Seemed to work with Concrete Implementation and typical open source code pattern.
  • Trying to make sure we’re not stepping on toes.
  • Split the teams same way as splitting the code – Java agent team. Cerner is kind of the nexus for that team. So Java team would create wiki page for project structure for that team.
Round the Room on maintaining backlog
George Cole
  • Nothing to add
Greg Meyer
  • Nothing to add
Mark Stine
  • Nothing to add
David Kibbe
  • Nothing to add
Pat Pyette
  • Nothing to add
Umesh Madan
  • That’s our plan, maybe later this week we’ll set up place where people can volunteer. Perhaps have a cross call so that people are on the same page.
Charles Curran
  • Nothing to add
Dan Kazzaz
  • Sounds good.
Chris Lomonico
  • Agree with table. Establish channel to talk would be good too.
Sri Koka
  • Nothing to add
Vince Lewis
  • Nothing to add.
Tony Calice
  • Fine with this.
Vassil Peytchev
  • Make sure I understand group vision. It seems to me that the function of the group should be at a higher level and the Java and .NET implementation should be specific. For example agent group and # group and XDS metadata. That way we can have one set of specifications for that module and then different implementation
  • Arien Malec – I agree with that to make sure we’re getting interoperability
  • Umesh Madan – Maybe have a call for Agent implementation once a week.
  • Arien Malec – Team page for Agent implementation. Then the wiki structure will mirror current organization
Will Lusen
  • Sounds fine. Still seems like we’re organizing by component – that’s 14 components and then with sub-teams, that’s 28 people. Not sure we have enough people. If we have five teams, how do we figure out which team is taking which component. Coordination unclear.
  • Arien Malec – I would propose that the main teams take on larger chunks of work. I could act as glue between groups.
Chaminda Gunaratne
  • Nothing to add.
Arien Malec
  • I’d like to get a core committer set for the Agent team and the XDS metadata team. Can we get core committer set and then offline work we will add committers to repository. I will or team will set up the full pages for each of the teams.
Round the Room looking for core committer set around Agent team and XDS metadata team
George Cole
  • XDS Metadata team. Not positive can be a complete committer. .NET implementation
Greg Meyer
  • Agent. Java implementation
David Kibbe
  • Best thing to do is to try to find someone from clinical groupware collaborative to participate where needed.
Pat Pyette
  • This is my first call so hesitate to commit to anything.
Mark Stine
  • Not planning on committing to either group. Hopefully at some point, but not at this time
Umesh Madan
  • MIME, DNS Agent. We’re going to keep working on that. Additionally, integration with SMTP server, HISP, end to end. Client libraries. We’ll probably write some admin rules as well. We’ll be as involved as can be. That’s all .NET
Ron Cordell
  • Agent .NET. What are our target platforms?
  • Arien Malec - Good point. I believe standard should be Maven on Java side and what’s the right answer on .NET side?
  • Umesh Madan – I was going to propose that we use SBS 2008 and the min bar would be the free individual studio express. And the build process – MS Build. The framework – 3.5 and beyond. For unit tests, suggest EndUnit because standard and free. As the teams talk, we can tweak.
  • Arien Malec – Would love to build on Mono. Volunteer to test build on Apple laptop.
Dan Kazzaz
  • Agent team on both .NET and Java.
Chris Lomonico
  • Agent .NET framework
Sri Koka
  • XDS B metadata on .NET. I can take responsibility but need to know what that is.
  • Arien Malec – Key responsibility to write code and commit it and serve as a review point for non-commiters.
  • Will confirm next meeting.

Vince Lewis
  • We can be committer for XDS metadata for Java.
Tony Calice
  • .NET contribute to client library and web client.
Will Lusen
  • Still working with legal department to see how much able to contribute code. Like to do both Agent (myself) and XDS team (Chaminda). Have few questions for somebody who understands process a little better so we can find out how our contributions would work. We’d like to contribute but we have no real ability to without legal department. Anyone I can talk to?
  • Arien Malec – Brian Behlendorf.
Vassil Peytchev
  • .NET side and other additional libraries.
Gary Teichrow
  • Java client and XDM and XDS aspect.
Arien Malec
  • Key actions are on source code repository.
    • I will do the revisions to source code tree.
  • We will create subs for each of the pages and link them.
  • Any other business?
Umesh Madan
  • Will try to set up call for .NET volunteers later in the week.
  • Goal is to explain what’s done already and next steps.
Arien Malec
  • It would be great to get people who did the XDS B metadata people within Microsoft.
Umesh Madan
  • Will do.