HOW TO BE AN IGUANA POWER USER IGUANA USER CONFERENCE 2013
AGENDA FORMAT
• Introduction – View Point – Power User – Iguana
• Three Narratives
– Where are the Iguana Translator Projects? – Where are the Iguana Logs? – How to build your Iguana platform
• Wrap Up IGUANA USER CONFERENCE 2013
IGUANA POWER USER
IGUANA USER CONFERENCE 2013
• Iguana 5.5 Power Users understand Iguana as a platform
• Know where Iguana files live • Use Iguana for IT support functionality • Use Iguana in SDLC as IDE for
analysis, design, development, enhancements and testing
IGUANA 5.5
IGUANA USER CONFERENCE 2013
• Settings
• Logs
• Dashboard
• Translator
• Lua • API • Module • Platform
WHERE ARE THE IGUANA TRANSLATOR PROJECTS
• What are these files? • What are the controls on the scripts? • Did I backup the files?
• Why is it important to know this • Control design, development, testing and support
• How do we get the information? • Text editor, Translator IDE, Fossil, Translator API
IGUANA USER CONFERENCE 2013
WHERE ARE THE TRANSLATOR FILES
• IguanaConfiguration.xml • vcs_repo.sqlite • edit/admin/<GUID>/
• main.lua • project.prj
• edit/admin/shared/ • codemap, dateparse, hl7util, netrequire, node, ran,
stringutil
IGUANA USER CONFERENCE 2013
FOSSIL
• SCM tool • SQLite database • View into entire Iguana Instance • Timeline of Changes • Understanding Source Code Control
• http://wiki.interfaceware.com/315.html
• $> ./fossil ui vcs_repo.sqlite
IGUANA USER CONFERENCE 2013
WHERE ARE THE IGUANA LOGS
• What is Iguana Logging? • Where are the Iguana Logs? • What are these files?
• Who, what, when, where and why • Did I backup the files?
• Why is it important to know this • Control design, development, testing and support
• How do we get the information?
IGUANA USER CONFERENCE 2013
IGUANA LOGGING
• Iguana is a robust message router and transform engine with full auditing capability and extensive search functionality
• Iguana is a reliable and fast message data store
• Append only logging with full CRC checking for high availability and integrity
IGUANA USER CONFERENCE 2013
LOGS FILES
• YYYYMMDD.log – Iguana Write Thru Message Logs – Schedule into a backup plan
• Index files – log/index/*.* – Log/meta/*.* – Generated from scratch, not for backup
• http://wiki.interfaceware.com/603.html
IGUANA USER CONFERENCE 2013
IGUANA LOGS
• FTS and REGEX based searching • Find All Related Entries • Resubmit to a different channel
IGUANA USER CONFERENCE 2013
LOGS – SEARCH PANEL
IGUANA USER CONFERENCE 2013
• FTS • Substring • REGEX • Date, Time • Channel • AND, OR, NOT • Google like syntax
LOGS – SEARCHING
IGUANA USER CONFERENCE 2013
Find whole words ! Find parts of words / Regular Expression Range Name Compound question
• FTS • Substring • REGEX • Date, Time • Channel • AND, OR, NOT • Google like syntax
LOG MESSAGE RESUBMIT
IGUANA USER CONFERENCE 2013
• Edit the message
• Review • Select the
Resubmit channel
LOG EXTERNAL API
IGUANA USER CONFERENCE 2013
• Logs External API
• Search and Mine messages
• Filters • Date Ranges
HOW TO BUILD YOUR IGUANA PLATFORM
• Program in Lua – Use Tips and Tricks – Use Built in API
• Create a Module • Use existing modules • Use External API • Use Channel API • Build an Application
IGUANA USER CONFERENCE 2013
TRANSLATOR LUA TIPS
IGUANA USER CONFERENCE 2013
• Function trace(a,b,c) return end • declare variables local • Keep your functions short • pcall to catch errors • error to interrupt flow • queue.push() writes your message
USE EXISTING MODULES
• Example: Store • Persistent data store • Logging workflows • Reconciling workflows • Mapping Rules • Documented API
IGUANA USER CONFERENCE 2013
CHANNEL API
IGUANA USER CONFERENCE 2013
• Iguana 5.5 channel API – provides start, stop and status capability
• Iguana 5.6 channel API – Builds on 5.5 – Create channels, clone channels – Available as snapshot release
BUILD AN APPLICATION
IGUANA USER CONFERENCE 2013
• Select an API or existing module • Design the storing of the data (see Store) • Design the front end • Iguana works well with javascript jQuery
library
DESIGN
• Pick a data source for instance monitor_query Iguana API
• Pick a backing store, SQLite database • Design Logic, Store API output to
database • Provide javascript front end with controls
for query criteria
IGUANA USER CONFERENCE 2013
MONITOR PLOT
IGUANA USER CONFERENCE 2013
• Browser based application
• jQuery and flot
• Monitor Iguana instances and produce graphed results • http://wiki.interfaceware.com/1448.html
UPCOMING MEMBERS APPLICATION
IGUANA USER CONFERENCE 2013
• API runs in Iguana as a translator project
• jQuery front end on nginx • MySQL database • Iguana runs on Amazon
EC2 • Rolling out new members
application this year