Skip navigation
6,549 Views 9 Replies Last post: Nov 7, 2009 10:53 AM by Jonathan Tai RSS
Jonathan Tai Medspherian 341 posts since
Jul 24, 2008
Currently Being Moderated

Sep 19, 2008 9:52 AM

VistA code repositories at Medsphere.org

Now that we have the main site up and running, we're turning our attention to getting our code up on Medsphere.org in a more usable format.  Currently, we only offer the ability to download release tarballs, which isn't very helpful if you're trying to do actual development.

 

I mocked up some screenshots of what I'd like to add for a "code" section on Medsphere.org.  Please have a look and reply with your comments and suggestions.  Did I miss any features that we'd absolutely need?  Did I go overboard (we're never going to use all this stuff)?

 

--

 

This first screenshot is what you would see initially when you entered the VistA Distributions code section - a list of repositories.  Repositories are a collection of branches; you typically have one branch of code for each feature or bug.  The screenshot here shows that each repository has a Mainline branch, which is a special branch that serves as a collection point for all of the features and bug fixes developed in other branches.  Clicking on a repository name (e.g., OpenVista Server, WorldVistA EHR, or FOIA VistA) will bring you to the next screenshot; clicking on a branch name (e.g., Mainline) will bring you to the third and fourth screenshots, below.

Code Viewer Mockup - Project View.png

--

 

This second screenshot is the Repository View.  A list of recent branches for each repository is already shown on the initial page, but if you need to dig deeper for an old branch, you can find it here.

Code Viewer Mockup - Repository View.png

--

 

This third screenshot is an example of a Branch View.  Like I mentioned earlier, you typically have one branch for each feature or bug, and this screenshot shows the branch view for a bug branch.  The associated bug is shown in a box on the right. 
A branch of code is made up of a number of revisions, shown on the left.  For VistA development, we'd likely make a "commit" (save changes as a new revision) when we feel that an enhancment or bug is ready for QA.  In this case, there's the initial revision where this branch forked off of Mainline, a revision after the developer felt that the bug was fixed, then one last revision to fix a problem that presumably QA found. At this point, the branch was merged back into mainline, and further development on this branch ends.  The flag on the right is green, indicating that the associated bug report has been closed.

Code Viewer Mockup - Branch View (Regular Branch).png


--

 

The fourth screenshot here shows the same view, the Branch View, but for a Mainline branch.  The Mainline branch is a long-lived branch and serves to collect the fixes and enhancements developed in other branches, so you'll see that there are a large number of commits, and each commit has a fairly regular (and boring) commit message that just indicates what branch was merged in.

Code Viewer Mockup - Branch View (Mainline).png


--

 

The final screenshot shows what you'd get if you clicked on a revision, the Revision View.  The section on the top left shows details about the revision, including when it was committed, who committed it, whether this is a regular commit or a merge of another Revision, etc.  There are also links to browse routines or globals contained in this revision.  The section on the bottom left shows what changes were introduced in this revision - it's a difference between the previous revision and the current revision that you're viewing.  On the right are a series of boxes that provide additional information about the revision - whether or not the routines compiled successfully, automatically generated documentation genereated for this revision, packages of this revision, etc.

Code Viewer Mockup - Revision View.png

Pete Johanson Medspherian 50 posts since
Aug 6, 2008
Currently Being Moderated
1. Sep 19, 2008 10:09 AM in response to: Jonathan Tai
Re: VistA code repositories at Medsphere.org

You might also want to check out TeamCity for inspiration. It's another continuous integration/build/test server software I found recently.

 

As for the mockups... Looks really good. Is there any sense of "branch ownership" ? If not, you could at least have a view that was "All branches last committed to by Bob" which would get the equivalent thing for some development workflows.

 

Are you going to mock up the other things Fireball does, like testing (both unit and Strongwind)? TeamCity I know has unit testing integration, it might be interesting to see how they handle that, etc.

 

Very cool!

George Timson Contributor 13 posts since
Sep 10, 2008
Currently Being Moderated
3. Sep 25, 2008 10:09 AM in response to: Jonathan Tai
Re: VistA code repositories at Medsphere.org

Your examples, like "Issue 8019", do not correlate with our SourceForge artifact numbers.

If they did, then a list of "Issue ---, Isuue ---, Issue---, ..." would be helpful.  Otherwise, this

is another nonintuitive categorization scheme.  "NOIS 1234 equals Sourceforge 5678 equals MDO 9012...."  Ugh.

 

Could we see a list of KIDS Patch names, for example, or some more meaningful headings?

George Timson Contributor 13 posts since
Sep 10, 2008
Currently Being Moderated
5. Sep 26, 2008 10:22 AM in response to: Jonathan Tai
Re: VistA code repositories at Medsphere.org

Jon told me yesterday:

George,

If you reply to [this] discussion, you will be given the opportunity to
comment and attach multiple files.  I would suggest that you attach both
the % routine and the accompanying Word document to your reply. 

Note that I had intended all along to use your % routine in the "back
end" to discover the changes between two VistA "revisions", but I just
realized that I may not have mentioned % by name in my post.  I'll reply
to your reply and make it clear that I intend to use %...

Thanks, George.

 

So here is my latest version of the "%" routine, with documentation.  I have already sent this by EMail to the Medsphere MUMPSters (Sher, Criteser, Cunningham).

Attachments:
Contributor 6 posts since
Nov 17, 2008
Currently Being Moderated
6. Dec 12, 2008 9:40 AM in response to: Jonathan Tai
Re: VistA code repositories at Medsphere.org

Since you are doing revision control with bazaar for openvistaCIS anyway, and mentioned possibly moving to that for OpenVista server, would it be possible to host repositories on Canonical's launchpad.net?

JohnLeo Zimmer Contributor 14 posts since
Sep 12, 2008
Currently Being Moderated
8. Nov 7, 2009 7:16 AM in response to: Jonathan Tai
Re: VistA code repositories at Medsphere.org

Two questions:

 

How will the repository handle fixes/enhancements that cross distribution boundries ( e.g. the currently active CCR/CCD project )?

 

How about a provision for a common code base, i.e. those core features that are common to all, or most, or some distributions)?

 

Thank you for this effort.

GpZ

More Like This

  • Retrieving data ...

Bookmarked By (0)