1 / 34

Planned Outline

Planned Outline. View and consider the TIMS Data Schema Analyze and examine some key relationships within the TIMS Data Schema Introduce the application of GUIDS in TIMS Consider the History (and Philosophy) of TIMS

Download Presentation

Planned Outline

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Planned Outline • View and consider the TIMS Data Schema • Analyze and examine some key relationships within the TIMS Data Schema • Introduce the application of GUIDS in TIMS • Consider the History (and Philosophy) of TIMS • Present some of the challenges of making modifications to the TIMS Application

  2. TIMS is… • 50+ tables • Many complex (and sometimes ambiguous) relationships and pathways • Multiple possible views

  3. TIMS Math: “Person” + “Event” = “Participant”

  4. Person (attends) Event (and becomes a) Participant

  5. Consider… • “Persons” have both enduring and current attributes • “Participants” have attributes associated with them as of the time of they attend an event • Both “Persons” and “Participants” share common types of attributes, such as a facility or “Service Delivery Point” but the values of these attributes can of course be different

  6. Question: • How would we formulate a query for determining the District of a participant? • In other words, what pathway do we take through this maze of relationships?

  7. Associated Questions • What “District” are we most interested in? • Residential District? (Why?) • District of their SDP as of the time they were trained? (Possibly?) • District of their current SDP? • Is there SDP data up to date? • Did the data entry person remember “check” the correct box when entering SDP data? • What is the precise question we are trying answer? • What happens when the SDP field is blank or missing?

  8. GUIDS, GUIDS Everywhere!

  9. Most of the “keys” in TIMS are GUIDS, or “Globally Unique Identifiers.” Because of the length/complexity and supposedly random nature of GUIDS, we are reasonably assured that all records have a truly unique identifier. Unfortunately… GUIDS were used almost everywhere in TIMS. Once an entity in TIMS gets assigned a GUID, it is very difficult to assign a new GUID, and thus it is difficult to de-duplicate data.

  10. History (and Philosophy) of TIMS • TIMS is 12+ years old • TIMS is in its 7th major revision • TIMS developed during the TRH days, and some TRH artifacts still exist • Some fields in TIMS have been “repurposed”, so what you see is not necessarily what you get

  11. TIMS: Old and New • TIMS was designed to support the Trainer Development Pathway, which was a whole philosophy and approach to sustainable training • Currently used in many different countries in different ways, pushing (and sometimes straining) it beyond its original capabilities

  12. A Brief Tour of the TIMS Application TIMS has a rich set of features and capabilities. However, there are some difficulties with maintaining the current TIMS. To understand some of these challenges, one needs to examine the actual code in the TIMS Application. • As many as 4 (and possibly more) developers, programmers, database users, and others have been involved with the actual development and maintenance of code • These programmers and developers have not always approached programming in the same manner, and thus within TIMS there is no real standardization of how to write queries, report, etc. • Reports and Queries have most probably been re-used and repurposed, but lack of documentation raises concerns about whether later programmers knew what the earlier programmers knew.

  13. To illustrate some of these issues and challenges, the following slides will go into the ‘heart’ of the TIMS Application and the code that is behind a few of the reports and queries. You can follow along by following the prompts in the green boxes.

  14. NOTE: BEFORE PROCEEDING, YOUMUST COPY THE DATABASE AND APPLICATION INTO A NEWLOCATION AND WORK ON THE COPY AND NOT THE ORIGINAL. A SEPARATE BACK-UP OF THE DATABSE AND APPLICATION WOULD ALSO BE ADVISABLE!

  15. LAUNCH TIMS AS NORMAL (THE SAFE COPY THAT IS). AFTER LOGGING ON (as “admin”) AND GETTING TO THE MAIN MENU, PRESS F-11. NOTE: THIS PROCEDURE SHOULD NOT BE SHOWN TO THE CASUAL OR UNTRAINED USER.

  16. YOU SHOULD NOW SEE THE ABOVE. NOTE THE “OBJECTS” PANEL ON THE LEFT AND THE BUTTONS FOR “TABLES,” “QUERIES”, “FORMS,” AND “REPORTS.” AT THIS POINT, EXPLORE THE VARIOUS OBJECTS. BECOME FAMILIAR WITH THE NAMING CONVENTIONS. NOTE THE VARIATION IN THE NAMING CONVENTIONS.

  17. NAVIGATE TO THE “TABLES” OJBECTS. FIND ‘ztblReports” AND OPEN THIS TABLE. STUDY THE FIELDS. NOTE THE PATTERNS. THIS TABLE POPULATES THE REPORT MENU.

  18. RETURN TO ACCESS (IT IS ACTUALLY STILL RUNNING) BY FINDING THE “WINDOW” MENU IN ACCESS AND SELECTING “MAIN MENU” ON THE MAIN MENU, SELECT “REPORTS”

  19. WHAT YOU WILL WANT TO DO NOW IS STUDY THE REPORTS MENU, NOTING THAT THE REPORT MENU SCREEN CHANGES AS YOU SELECT VARIOUS REPORTS. FOR INSTANCE, FIND AND CLICK ON THE 5th & 6th REPORTS AVAILABLE UNDER “PARTICIPANT REPORTS” AND NOTEHOW THE “GEOGRAPHY SOURCE” FRAME APPEARS AND DISAPPEARS. NOW NAVIGATE BACK TO THE ‘ztblReports’ TABLE AND FIND THE ROWS FOR THE 5th 6th PARTICIPANT REPORTS.

  20. WHAT YOU’LL WANT TO DO NOW IS ARRANGE THE SCREENS LIKE I HAVE THEM HERE. NOTE THE LINK BETWEEN THE REPORT MENU AND THE ztblReprots TABLE. [THE 6th PARTICIPANT REPORT, BY THE WAY, IS RptID #71.] NOTE HOW THE “DISPLAY NAME” FOR THIS REPORT HAS BEEN CHANGED. SEE IF YOUCAN CHANGE THE DISPLAY NAME. YOU’LL NEED TO CLOSE AND REOPEN THE FORM BEFORE THE CHANGES TAKE EFFECT. TRY OTHER CHANGES…TRY DIMMING THE PROVINCE DROP DOWN FILTER

  21. TO SEE IF THE CHANGES TOOK EFFECT, DID YOU REMEMBER TO CLICK ON THE 6th REPORT UNDER PARTICIPANTS? EXPERIMENT WITH MAKING OTHER CHANGES IN THE ztblReports TABLE AND NOTE THEIR IMPACT ON THE MENU. NOW, TRY TO ADD A REPORT (OR REPORT NAME) TO THE REPORTS DROP DOWN.

  22. WHAT YOU ARE SEEING NOW IS THE PROPERTIES/DESIGN VIEW OF THE ztblReports TABLE. WHAT DO YOU NOTICE (OR WHAT DO YOU NOT NOTICE) ABOUT WHAT IS WRITTEN IN THE DESCRIPTION FIELDS?

  23. Points so far… • Certain things about the appearance of TIMS can be fairly easily changed, although it takes some practice and knowledge of MS Access. • What impact do making superficial changes have? Without a good deal of study, it might be hard to say because these processes (and the application) are not really well-documented.

  24. IN THE ztbleReports TABLE, NOTE THE FIELDS FOR “AccessName”, “LookupTable”, and “RptQuery.” THESE VALUES SEEM TO BE PASSED TO THE PROCEDURE THAT PRODUCES THE REPROTS. LET’S DIG A LITTLE DEEPER.

  25. UNDER ACCESS’S “WINDOWS” MENU, NAVIGATE TO THE APPLICATION, SELECT THE “FORMS” OBJECT, AND SELECT “frmReportsMenu.” WITH ‘frmReportsMenu” HIGHLIGHTED, GO INTO “DESIGN” MODE.

  26. ARRANGE THE WINDOWS SOMETHING LIKE THIS.

  27. PRESS ON THE “Preview” BUTTON, WHICH REVEALS THE CODE BEHIND TIMS. NOW PRESS WHERE IT SAYS “Event Procedure”

  28. THIS IS WHAT YOU SHOULD BE SEEING. cmdPreview_Click IS THE PROCEDURE THAT IS RUN WHEN THE USER CLICKS ON THE PREVIEW BUTTON. THE BIT OF CODE WE ARE INTERESTED IN IS: ShowQuery Me.lstReports.Column(0), Me.lstReports.Column(2), BuildWhereClause IF YOU ARE INTERESTED, FIND THE ShowQuery SUB-ROUTINE TO SEE WHAT IT DOES: IN THE “Edit” MENU SELECT “FIND” AND ENTER “ShowQuery” TO SEARCH.

  29. IF YOU FOLLOW THE CODE YOU WILL SEE AND UNDERSTAND THAT QUERIES AND REPORTS CAN BE RUN FROM WITHIN TIMS BY PASSING INFORMATION CONTAINED IN THE ztblReports TABLE AND ON THE REPORTS MENU.

  30. Additional Points… • The Code in TIMS is semi-structured • TIMS Code can be followed and studied, but… • It is not well-documented • Understanding the TIMS code requires both a command of Access, SQL, and VisualBASIC…and a good deal of patience • Closer study and inspection of the TIMS code reveals the many different coding styles and approaches were used during its development and maintenance

More Related