1Software Development Using KIDS Software Development using KIDS Developed by David Whitten WorldVistA Education Meeting Las Cruces, NM May 2007.

Slides:



Advertisements
Similar presentations
Working with Disks and Devices
Advertisements

Copyright © 2006 Help Desk Systems, Inc. All rights reserved. Overview of Help Desk Systems Inc. (HDSI) HDSI offers a hosted, web based trouble ticket.
RPMS-EHR New Features Version 1.1 Patch 1 Jim Gemelas CAC/RPh Warm Springs.
11.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 12: Managing and Implementing Backups and Disaster Recovery.
Hands-On Microsoft Windows Server 2003 Chapter 2 Installing Windows Server 2003, Standard Edition.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Bar|Scan ® Asset Inventory System The leader in asset and inventory management.
Maintaining and Updating Windows Server 2008
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
System Implementation
Microsoft Office Word 2013 Expert Microsoft Office Word 2013 Expert Courseware # 3251 Lesson 4: Working with Forms.
DEMONSTRATION FOR SIGMA DATA ACQUISITION MODULES Tempatron Ltd Data Measurements Division Darwin Close Reading RG2 0TB UK T : +44 (0) F :
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 12: Managing and Implementing Backups and Disaster Recovery.
Masud Hasan Secure Project 1. Secure It uses Digital Certificate combined with S/MIME capable clients to digitally sign and.
1 © 2006 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Using the Cisco Technical Support & Documentation Website for Security.
Ch 8-3 Working with domains and Active Directory.
Fundamentals of Networking Discovery 1, Chapter 2 Operating Systems.
Administering Windows 7 Lesson 11. Objectives Troubleshoot Windows 7 Use remote access technologies Troubleshoot installation and startup issues Understand.
Operating Systems Networking for Home and Small Businesses – Chapter 2 – Introduction To Networking.
Hands-On Microsoft Windows Server 2008
ZENworks for Servers Presenter Name Title Directory-Enabled Management Novell is a leader in Directory-Enabled Workstation management, and we are now.
9/10/20151 Hyperion Enterprise 6.5 New Features & Functionality Robert Cybulski, CPA Finit Solutions.
Guide to Linux Installation and Administration, 2e1 Chapter 8 Basic Administration Tasks.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 12: Managing and Implementing Backups and Disaster Recovery.
Chapter Four UNIX File Processing. 2 Lesson A Extracting Information from Files.
Microsoft Office Outlook 2013 Microsoft Office Outlook 2013 Courseware # 3252 Lesson 3: Working with People.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Customer Service and Support Sutherland Global Services Consultant Learning Services Microsoft Store.
Section 1: Introducing Group Policy What Is Group Policy? Group Policy Scenarios New Group Policy Features Introduced with Windows Server 2008 and Windows.
Marcel Casado NCAR/RAP WEATHER WARNING TOOL NCAR.
Activating Clarity  Activating Clarity  Activation  Online Activation  Fax Activation  Review and Verify Activation and License Terms  Updating.
Guide to Linux Installation and Administration, 2e1 Chapter 2 Planning Your System.
Reminder Exchange. Introduction Reminders can be sent from one facility to another Area Offices can create a central repository for each service unit’s.
Guide to Linux Installation and Administration, 2e1 Chapter 10 Managing System Resources.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Chapter 17 Creating a Database.
What’s New in WatchGuard XCS v9.1 Update 1. WatchGuard XCS v9.1 Update 1  Enhancements that improve ease of use New Dashboard items  Mail Summary >
Voting with SOSA/OVRD SOSA/OVRD. Login and Information Screens After login, the SOSA Voting Information screen displays The Database drop-down allows.
Chapter 3 Installing and Learning Software. 2Practical PC 5 th Edition Chapter 3 Getting Started In this Chapter, you will learn: − What is in an application.
Company Confidential OVERVIEW. Application and activity control software for networked computer classrooms …. designed to be used by teachers in order.
FY 2011 Public Libraries Survey WebPLUS Software Training.
December 6, 2015 The Tools Tab. Lesson Overview: The Tools Tab  In this lesson we will cover:  Return Retrieval  TaxWise Updates  Review Returns 
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
Lecture (7) Systems software and Application Software.Systems software and Application Software. Dr:Emad Elsharkawy Eng-Omar Salah Dr:Emad Elsharkawy 1.
Linux Operations and Administration
MOBILE ELECTRONIC DOCUMENTATION (M.E.D.) OVERVIEW OF FUNCTIONS Presenters: Ivy Matthews RN MSN, HBPC Program Director Lebanon VAMC Charles Tyler III RN.
2: Operating Systems Networking for Home & Small Business.
1 AQA ICT AS Level © Nelson Thornes 2008 Operating Systems What are they and why do we need them?
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
NIMAC for Accessible Media Producers: February 2013 NIMAC 2.0 for AMPs.
Chapter 4: server services. The Complete Guide to Linux System Administration2 Objectives Configure network interfaces using command- line and graphical.
Planning Server Deployments Chapter 1. Server Deployment When planning a server deployment for a large enterprise network, the operating system edition.
Maintaining and Updating Windows Server 2008 Lesson 8.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Windows Vista Configuration MCTS : Installing and Upgrading.
Introduction to CMIS, an Electronic Design Change Process Presented by: Mark Gillis (FirstEnergy) and Brad Diggans (Rolls-Royce)
Introduction to EBSCOhost
Automated ADT Interface Version .02
Chapter 3 Installing and Learning Software
Practical Office 2007 Chapter 10
Lesson 16 Enhancing Documents
Complete Management of your Entire Backflow Program
CONFIGURING HARDWARE DEVICE & START UP PROCESS
Introduction to EBSCOhost
Final Design Authorization
APACHE WEB SERVER.
Presentation transcript:

1Software Development Using KIDS Software Development using KIDS Developed by David Whitten WorldVistA Education Meeting Las Cruces, NM May 2007

Software Development Using KIDS 2 Who is David Whitten ? MUMPS Programmer since 1982 Programmer in FileMan since version 15 Involved in initial installation of DHCP (VistA) at Houston VAMC in mid 1980s Worked at SAIC on (DoD Kernel) Tools team in early 1990s Chief Technical Officer of WorldVistA since January 2007

Software Development Using KIDS 3 Definitions of Terms KIDS is an acronym for –Kernel the backbone of a VistA computing platform, providing a virtual operating system for packages –Installation and –Distribution –System

Software Development Using KIDS 4 KIDS history Replacement for DIFROM –DIFROM is part of VA FileMan and converts all transported elements into MUMPS routines –These MUMPS routines were called INIT routines Developed by San Francisco ISC Ron Dimicelli was chief architect

Software Development Using KIDS 5 KIDS in a Nutshell KIDS is a method to transport changes to a VistA system from a developer's system to a target user/production system KIDS uses two methods to transport –Host Operating Systems files on disk (called a Distribution) –VA MailMan mail messages (called PackMan messages)

Software Development Using KIDS 6 KIDS specific terms Package –A cohesive set of Files, data, and components that together form a set of computing activities related to a functional area. Build entry –An entry in the BUILD file that defines the parts of a package to export. Also known as a build.

Software Development Using KIDS 7 KIDS specific terms Component (an element of one of the following types): template (print, sort, and input); form; Function; bulletin; help frame; routine; option; security key protocol.

Software Development Using KIDS 8 KIDS specific terms Transport Global –An exported package, stored in a global. KIDS exports a package based on its definition in a build entry. The transport global also contains the build entry and the PACKAGE file entry (if any) for a given package.

Software Development Using KIDS 9 KIDS specific terms Distribution –A host file system (HFS) file containing transport global(s). If a distribution contains multiple transport globals, KIDS treats them as a single installation when installing from the distribution.

Software Development Using KIDS 10 Accessing KIDS options Select Systems Manager Menu Option: PRogrammer Options Select Programmer Options Option: KIDS Kernel Installation & Distribution System [XPD MAIN] **> Locked with XUPROG –Edits and Distribution... [XPD DISTRIBUTION MENU] –Utilities... [XPD UTILITY] –Installation... [XPD INSTALLATION MENU] **> Locked with XUPROGMODE

Software Development Using KIDS 11 Build Entries & the BUILD File (#9.6) Used by developers to define a package. –Developers can select any components available on the current system and include them in their build entries as package components. A package's build entry is installed as part of the package –Sites can examine the build entry to see the package definition.

Software Development Using KIDS 12 The INSTALL File (#9.7) The INSTALL file stores a record of each installation a site performs. KIDS stores a separate installation entry for each installation with its own installation's history. –The developers' installation history – sites' installation history

Software Development Using KIDS 13 The INSTALL File (#9.7) The three main items recorded in the INSTALL file for each installation –the installing site's answers to installation questions (each BUILD can be different) –any installation output, including warning messages and status messages –the installation's timing information. Start times, Stop times, timing for different phases

Software Development Using KIDS 14 The PACKAGE File (#9.4) A cohesive set of Files, data, and components that together form a set of computing activities related to a functional area. Mainly static package information that is not version specific There is a link from the build entry of a package to the PACKAGE file. installations automatically update the VERSION multiple.

Software Development Using KIDS 15 Two kinds of KIDS distributions standard distribution –contains transport globals for packages, including files, data, and all components. – can contain one or more transport globals –If there is more than one, each one is treated as a single installation unit. global distribution –contains one transport global only, and that transport global can export M globals only

Software Development Using KIDS 16 KIDS Installation Sequence standard distributions have multiple phases: –Loading transport globals from the distribution –Previewing transport globals information –Answering installation questions for each transport global –Installing each transport global in the distribution.

Software Development Using KIDS 17 Details of Site Install Process Select Kernel Installation & Distribution System Option: INStallation **> Locked with XUPROGMODE 1 Load a Distribution [XPD LOAD DISTRIBUTION] 2 Verify Checksums in Transport Global [XPD PRINT CHECKSUM] 3 Print Transport Global [XPD PRINT INSTALL] 4 Compare Transport Global to Current System [XPD COMPARE TO SYSTEM] 5 Backup a Transport Global [XPD BACKUP] 6 Install Package(s) [XPD INSTALL BUILD] Restart Install of Package(s) [XPD RESTART INSTALL] Unload a Distribution [XPD UNLOAD DISTRIBUTION]

Software Development Using KIDS 18 Loading transport globals from the distribution If loading from an HFS File, –Use the Load a Distribution option –Choose the HFS file to load distributions from. If loading from a PackMan message – choose the message –invoke the INSTALL/CHECK MESSAGE PackMan option (accessed via “X” action).

Software Development Using KIDS 19 Verify Checksums in Transport Global Checksums only exist for Routine components of a build The checksum is a number that represents a routine as a whole. There is more than one checksum algorithm even in Kernel Checksum mismatching is usually a sign of a local modification to a program Checksum mismatch does NOT stop install.

Software Development Using KIDS 20 Print Transport Global prints out description of build print out the definitions stored in the transport globals every component exported in each transport global is listed Useful review before you install a KIDS build Description in the build is not the same as Patch description (in Mail message or HFS)

Software Development Using KIDS 21 Compare Transport Global to Current System VA Kernel equivalent to Unix diff command you can compare the package you're about to install with the current version of the package on your system. Compares are good practice to stay informed about changes which are made in an incoming build.

Software Development Using KIDS 22 Compare Transport Global to Current System Compares a transport global to the matching package already installed on your system Most useful for routines, but does work on other components as well Pointers are converted to free text when exporting VA FileMan entries, so these show up as differences when using the compare feature.

Software Development Using KIDS 23 Backup a Transport Global Creates a MailMan message (PackMan format) Backs up all current routines on your system that would be replaced by a KIDS install It only works on a build that has been loaded on your system, but not installed. Does NOT backup KIDS Components that are not routines.

Software Development Using KIDS 24 Answering Installation Questions For each transport global in a distribution: ➢ pre-installation questions defined by developers ➢ standard KIDS questions. ➢ post-installation questions defined by developers

Software Development Using KIDS 25 Answering Installation Questions After answering Installation question, person installing must choose a device for the installation to run on. ➢ can queue the installation ➢ can run it directly; ➢ can enter an up-arrow to stop the installation.

Software Development Using KIDS 26 Order of Installation 1. KIDS disables any options and protocols the site has asked to be disabled for this install. However, KIDS does not disable options and protocols which have an Action of USE AS LINK FOR MENU ITEMS. 2. KIDS waits for the time period (from 0 to 60 minutes) the site specifies, if they chose to disable options and protocols.

Software Development Using KIDS 27 Order of Installation 3. KIDS suspends the running of queued options by TaskMan for this install, if the site chooses to do so. 4. For each transport global in the distribution 4.1 The pre-install routine is run 4.2 All components are installed 4.3 The post-install routine

Software Development Using KIDS 28 Order of Installation 5. Options and protocols that were disabled for this install (if any) are re-enabled. 6. Queued options are removed from suspense (if the site chose to suspend queued options). 7. Messages are sent that install was completed.

Software Development Using KIDS 29 Restart Install of Package(s) KIDS uses a checkpoint system to keep track of how many phases of an installation it completed. KIDS does not automatically re-run the entire installation from the beginning; KIDS re-runs the installation only from the last completed checkpoint.

Software Development Using KIDS 30 KIDS Checkpointing Standard checkpoints built into KIDS –Completion of pre-install –completion of each component type –completion of postinstall Developers can create checkpoints –within their pre-install routines –within their post-install routines.

Software Development Using KIDS 31 Restarting Install Caveats you should try to determine what caused an installation to abort. –If an error occurred, any error messages will be in the INSTALL file entry, in the MESSAGES word processing field. Once you've fixed the problem –use the Restart Install Of Package(s) option to continue with the installation. KIDS also allows you to restart an install if the install is queued and you get an error during the installation.

Software Development Using KIDS 32 Global Distributions second type of distribution supported by KIDS Use the Load a Distribution option to install global distributions. There is no Compare and Backup process for global distributions KIDS installs global distributions immediately There is no queueing of the installation

Software Development Using KIDS 33 Summary KIDS allows a site to receive updates and enhancements from Developers KIDS has high level logging capability An install is a multiple step process Installs can be automated and queued Updates and Enhancements (aka Patches) cover more than programs, but also data structures as well

Software Development Using KIDS 34 QUESTIONS ? Thank you Contact me at –David Whitten –