Development Tools Discussion Group

The mission of the development tools group is to provide a state of the art suite of software development tools that assist software developers to write, test, maintain, and document code for inclusion in the codebase at a velocity and volume not previously attainable. 

These tools are designed to ensure that code improvements are “Safe, Compliant, and Functional”, and include:

Code Repository

The Code and database structure will be placed into an internal master code repository built with the open source Git” distributed version control tool. Initially this Git repository will incorporate all code provided by VA in a directory structure, and provide history of modification to individual routines and globals, allowing developers to use open source tools to obtain copies of the code, and to inspect its history. OSEHRA will push copies of this repository to a variety of mirror sites, where the general public may download and inspect the source code with Git capable tools.  Our first two public mirrors will be on Gitorious and on Github, a “social coding” site that allows anyone to make, share, and discuss proposed changes with the community.

OSEHRA Tools

These tools will include Automated Regression Testing, Stress Testing, Architectural Verification, Interoperability Testing, Section 508 Validation, Standards and Conventions (SAC) compliance, Privacy and Systems Security, Functionality Mapping, Performance Testing, and Customer Satisfaction Measurement.

Instructions for Installing and Testing the OSEHRA Code Base

Web Based Code Review

OSEHR - Software Quality Certification Dashboard

Eventually, OSEHRA's toolset will include CTest and CDash to provide automated checking of proposed changes, and “Gerrit” to provide web-based code review. This will facilitate distributed review of proposed changes by domain experts, coupled with some automated testing using CDash to aggregate test results. Branches of development will be able to be supported at sites using distributed development processes, and later merged if appropriate.

OSEHRA Development Tools Group End State Objectives

These development tools will be augmented to simplify the cloning of the codebase, and inspection of history. The critical aspect of this work will be  augmenting the KIDS subsystem to allow two-way conversion of procedures and globals from the M[UMPS] representation to a canonical on disk format and back again. This will allow for development to continue much as it has for many years and provide an easy path into and out of version control for developers. Once this functionality is present then changes can be uploaded for review, tested in pristine VistA installations and integrated once ready.

FOIA VistA Patches by Package

Group Email: 

development-tools@groups.osehra.org

Chair(s): 

like0

scripts - something went wrong downloading ydbinstall

While yesterday I had manually installed some of the components that the script seemed to struggle with, today, I started over with a fresh box (joy of Vagrant :o). With "set -x" in the bash files, I have more info to go on. And have attached the shell output as a txt file.

I was able to install GTM manually and get a MUMPS prompt yesterday, so I may try that and then "vagrant up --provision" to see if I can get past this. Otherwise I'll work through the scripts and see what needs to change.

Any suggestions appreciated!

David

Vagrant script issue with $PATH

I had this issue with each attempt with Vagrant - can't find MUMPS. Pretty likely it's an issue with the $PATH. Even when I manually entered a path so GT.M would start, other files are unavailable, also due to path issues.

I'll look at it again in a few days, but does anyone know where the paths are set during the install?

Vagrant script issue with $PATH

I had this issue with each attempt with Vagrant - can't find MUMPS. Pretty likely it's an issue with the $PATH. Even when I manually entered a path so GT.M would start, other files are unavailable, also due to path issues.

I'll look at it again in a few days, but does anyone know where the paths are set during the install?

Difficulty getting system up and running

I'll admit to just giving up on virtualbox for now. I had more luck with the Docker instances and will probably try just building in a RHEL virtual machine...

I'm having some difficulty, even though I've followed the instructions to the letter. It seems that Mumps is missing?

$ ssh -p 2222 osehratied@localhost
osehratied@localhost's password:
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-62-generic x86_64)

YottaDB LLC bakes Raspberry Pi

OSEHRA is pleased to share with our community that Organizational Member YottaDB LLC has released YottaDB r1.10. This release adds support for GT.M, on which YottaDB is based, to run successfully on Advanced Reduced Instruction Set Computer (RISC) Machine processor chips, commonly known as ARM. ARM licenses both 32-bit and 64-bit RISC multi-core processors that are designed to operate at a high speeds, and are extensively used in consumer electronic devices such as smartphones, tablets, multimedia players, and other mobile devices including wearables.

scripts - something went wrong downloading ydbinstall

While yesterday I had manually installed some of the components that the script seemed to struggle with, today, I started over with a fresh box (joy of Vagrant :o). With "set -x" in the bash files, I have more info to go on. And have attached the shell output as a txt file.

I was able to install GTM manually and get a MUMPS prompt yesterday, so I may try that and then "vagrant up --provision" to see if I can get past this. Otherwise I'll work through the scripts and see what needs to change.

Any suggestions appreciated!

David

Vagrant script issue with $PATH

I had this issue with each attempt with Vagrant - can't find MUMPS. Pretty likely it's an issue with the $PATH. Even when I manually entered a path so GT.M would start, other files are unavailable, also due to path issues.

I'll look at it again in a few days, but does anyone know where the paths are set during the install?

Vagrant script issue with $PATH

I had this issue with each attempt with Vagrant - can't find MUMPS. Pretty likely it's an issue with the $PATH. Even when I manually entered a path so GT.M would start, other files are unavailable, also due to path issues.

I'll look at it again in a few days, but does anyone know where the paths are set during the install?

Difficulty getting system up and running

I'll admit to just giving up on virtualbox for now. I had more luck with the Docker instances and will probably try just building in a RHEL virtual machine...

I'm having some difficulty, even though I've followed the instructions to the letter. It seems that Mumps is missing?

$ ssh -p 2222 osehratied@localhost
osehratied@localhost's password:
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-62-generic x86_64)

YottaDB LLC bakes Raspberry Pi

OSEHRA is pleased to share with our community that Organizational Member YottaDB LLC has released YottaDB r1.10. This release adds support for GT.M, on which YottaDB is based, to run successfully on Advanced Reduced Instruction Set Computer (RISC) Machine processor chips, commonly known as ARM. ARM licenses both 32-bit and 64-bit RISC multi-core processors that are designed to operate at a high speeds, and are extensively used in consumer electronic devices such as smartphones, tablets, multimedia players, and other mobile devices including wearables.

No questions have been added to this group.

New York State Health Data Code-a-Thon - Dec 2013 - Overview

Luis Ibanez's picture

Document (PDF) with overview of the context, goals and resources for the New York State Health Data Code-a-Thon that will take place on December 19-20, at the Rensselaer Polytechnic Institute in Troy, NY.

These are the presentation notes from a public Webinar hosted by the NY State Department of Health on Friday December 13, 2013.

NY State Code a Thon

More details at

M-Tools-For-Emacs

Emacs is one of the most popular text editors among developers.

 

In the following project, John Willis , kindly provides tools for improving the exprience of editing M code in Emacs, and even accessing M globals from inside the editor.

 

  • http://code.google.com/p/lorikeem/
  • http://www.coherent-logic.com/downloads.html#lorikeem

 

M-Tools-For-Vim

Vim is one of the most popular editors among developers.

 

David Wicksell recently released a magnificent set of tools to improve the efficiency of M developers when working from Vim.

Here is the recent announcement:

http://groups.google.com/group/hardhats/msg/dba1568fa2f8e849

Here is the message trail for an earlier release:

http://groups.google.com/group/hardhats/browse_thread/thread/907a5178e7876022/d1713d7421d76b20?lnk=raot&fwc=1

M-Tools-For-Popular-Text-Editors

This page gathers information about tools that are available for improving the management of M/MUMPS code in commonly used text editors.

 

Vim (Improved Vi)

This page collects information about tools that enhance the M programming experience from the Vim editor

Emacs

This page collects information about tools that enhance the M programming experience from the Emacs editor

virtual-machine-with-testing-osehra-code-base-pre-configured

Please note that a newer version of the Virtual Machine is available here:

http://www.osehra.org/wiki/virtual-machine-testing-osehra-code-base-pre-configured-2

 

A Virtual Machine has been configured following the instructions in:

* instructions-establishing-and-testing-osehra-code-base-main-page

The main features of this virtual machine are:

Submitting code in response to a standard JIRA ticket

 

To submit code in response to a standard JIRA ticket, first obtain a current release from the OSEHRA code repository and follow the directions to set up a testing environment and execute the tests.  Download the “OSEHRA M-Code Primary Developer Checklist” and follow the procedures referenced in that document to verify code operation prior to and after the code modifications.

Technical Journal Final Review

 

A final review is a necessary confirmation that all required procedures have been executed, the submission is complete, and that the code is ready to be included into the OSEHRA code base.  Only one passing final review is required for a submission and the code contribution can be merged into the OSEHRA code base as soon as a passing final review has been attested.  As such, final reviews can only be made by a trusted individual who possesses sufficient permission to perform the code merge step.

Technical Journal Peer Review

A peer review is a necessary confirmation that the submitted code is of sufficiently high quality so as to be eligible for inclusion in the OSEHRA code base.  Peer reviews can be made by anyone, and multiple peer reviews are allowed and encouraged; however, at least one passing peer review must be made by a trusted individual if the code is to be considered for adoption. 

Thumbs Up Review

Thumbs up reviews are the simplest reviews, but in some sense can be the most powerful.  Thumbs Up reviews are available to the entire OSEHRA community and giving code a “Thumbs Up” or a “Thumbs Down” is voting for, or against that code being brought into the OSHERA code base.  The “Thumbs Up” is not a substitute for a full Software Quality Certification, but it is a mechanism to prioritize and establish the desirability and utility of new capability.