...
Standard Operating Procedure – Applications Developer
Expedition Support
Mar 2014Nov 2023
Pre Expedition Activities
- Work with the staff scientist
- expedition project manager to determine if any external data (such as previous expeditions from Janus) will need to be loaded
- is required in LIMS, GEODESC for use during the expedition. If so, pre-load the data to LIMS on shore and export it to take to the ship.
- Extract the required content for transport to ship.
- Work with the staff scientist and TAS
- expedition project manager and laboratory staff to determine if any third-party instruments will be used during the expedition. If so, determine how the data is to be captured and reported. If necessary (and possible) create any required parsing or loader routines before traveling to the ship and take them with you.
- Work with Analytical Services to determine if any containers or other information needs to come from shore. If so, assist Analytical Services to pre-load the data to LIMS on shore and export it to take to the ship. Review change management records from the ship to know what has been done recently
- Work with laboratory staff. Transport container data to ship for moisture and density. Be aware of new or changed instrumentation being supported.
- Work with descriptive information experts. Review any pre-expedition GEODESC work. Spot-check that templates retrieve, prior data (if any) loads successfully.
- Review the science prospectus to become aware of the expedition goals and plans.
- Review current technical reports and change management records to be aware of recent changes.
- Check with the AD supervisor on the latest development projects you will be working on during the expedition.
- Get the Prospectus for the expedition you are participating in. Read it.
Port Call – oncoming, early expedition
- Make sure
- Ensure your computing equipment will plug-in and that you can function on the shipboard network without having account and/or password issues. Make sure you still have the correct password for the ship dev account, password safe, and other required ship access. Get the current password(s) from the off-going developer(s) as needed.
- Read the previous crew's expedition reports, thoroughly.
- Circulate through the labs. Talk to the off-going technical staff. What worked? What didn’t? What can be improved? Repeat with any off-going scientists you can catch. What worked? What didn’t? What can be improved?
- powers up and successfully connects to ship and shore networks.
- Cross-over with off-going staff regarding credential changes. Confirm your shipboard passwords and access: Oracle non-privileged and DBA accounts (test and production); ship and shore password safes; credentials for the storage network and email; credentials for build and dev resources, including software distribution credentials for the application servers.
- All personnel have responsibilities to ensure expedition data is returned to the shore warehouse. Review and confirm: data is backed up and ready for transport, we are clear to prepare the database for the new expedition.
- Prepare the database system for the new expedition. See BOX checklist, detail, rationale.
- Moratorium enforcements.
- Expunge the previous expedition's database content. Note that some information may need to be retained from the previous expedition--for example play cores for JR Academies and Schools of Rock. As-needed confirm with the staff scientist.
- Clean out archived files on all logger systems. Confirm with off-going and on-coming Physical Properties, Paleomagnetics, and Imaging staff what has been done.
- Moratorium enforcements.
- Prepare the rig management system for the new expedition. See BOX checklist, detail, rationale.
- Ensure the Operations Manager has access to the OPS user interface.
- Ensure the Drillers have access to the DRILLER user interface.
- Ensure the Collector utility is pumping iRIS data into Oracle.
- Manage laboratory accounts for scientists and techs. This includes: creating or enabling accounts for oncoming scientists and staff; and removing accounts for off-going scientists. Sometimes intervention is required with Auther permissions.
- Cross-over with off-going developers. What happened? What changed? What’s changing? What worked? What didn’t? Where can we improve?
- Read the prior expedition reports, thoroughly.
- Review change management records
with them to assist in the discussion of what has changed during the - from the previous expedition.
Spot check and confirm that releases in the source code repository match deployments in production and - Confirm that you have
the correct - access to (current) source code for
what is being used. - recently changed product.
- Spot-check
the normal - routinely used services to ensure they are functioning
and available- :
Web page, Web-Tabular Reports, Cumulus technical documents, Oracle databases, E-mail, Network & File services, Test database, Wiki. - Determine exactly what was copied / exported and is on the backup going to shore. Confirm contents if necessary. This is to prevent accidental “cleaning” of information that did not get sent to shore.
- Review the developer’s end of expedition reports from the previous expedition. Attend introductory meeting(s) or any other safety or training meeting(s)
- sampling programs, LIMS reports, MUT uploaders, web pages, Confluence support pages. SQL Developer access, LIME data editor.
- The labs are being made ready for expedition use. What is changing? What needs improvement? Anything not working that requires your knowledge and support? Prioritize, advertise.
- Attend introductory meetings including required safety and/or training meeting sessions.
- Assist with loading/unloading freight and other tasks as directed by the Lab Officer or Assistant Lab Officer. Plug in the travel drive(s). Dump a copy of information being transferred to the ship to the network or another machine. Synchronize any change management, source control, or document content that needs to be updated
- Provide courier services as-needed. If data was brought out, load it. If digital media were brought out, deliver it to those who requested it.
- You have expertise in software and code. Help others leverage that expertise.
General Activities during an expedition
- Cross-over at least once a day with the other developer on ship.
- Ensure they are aware of what you are working on and any ongoing problems that you are aware of.
- Update your activities in
Trello and - the
Google Site activity logs as appropriate- ship activity log. These are effective tools to communicate and support the first item.
Cross-over at least twice weekly with your colleagues. What’s working? What’s not? What can be improved? Colleagues for this include the MCS, Curation, and TAS staff. - Be present at laboratory staff cross-overs (as your shift assignment allows). Be aware of staff and science participant software concerns. Learn about what they do.
- Spend at least 2 hours every shift up in the labs with the scientists and techs. Provide assistance in learning and using applications, capturing, managing, and reporting data, and general support for use of computing resources on ship.
- Provide notifications to the change management team on ship and shore BEFORE modifying applications. This is done by sending an email to jr_developer when development work is begun. Keep appropriate records of changes as described in the Change Management Procedures.
- Provide notifications of all changes to production applications and common libraries by email to jr_developer. Make sure to include the reason for the modification.
- Keep the source code repository up to date so that releases in the repository match deployments on the ship. If it was deployed, it should have been checked in.
- Provide weekly status reports to LO, ALO, AD manager.
Beginning of Expedition (BOX) Activities
- Conduct beginning-of-expedition database clean-out and setups (set expedition number everywhere required). Note that some information may need to be retained from the previous expedition. Check with the staff scientist if you are not certain of what is needed.
- Setup Laboratory Accounts for scientists and techs as needed. This includes creating or enabling accounts for oncoming scientists and staff as well as disabling accounts for off going scientists.
- Clean out archived files on all logger systems—collaborate/confirm with off-going and on-coming Physical Properties, Paleomagnetics, and Imaging staff. This should just require confirming that it was done by the off-going developers.
- If you find it was not done, confirm that the data WAS sent to shore before cleaning it off.
- Ensure the current copy of the shore repository is code and dependency repositories are available to shipyour preferred workstations. If not, update it. Merge in any changes you may need from shore for this expedition and rebuild those applications. Remember to notify jr_developer when you start work and jr_developer for deployments.
- Work with TAS and curation staff to identify and handle any special data requests. Everyone is working to get the new expedition off the ground (stores and supplies inventories and staged, equipment function and readiness reviewed). The questions you receive will lean that way, including but not limited to:
- Containers or vials to be entered in preparation for the new expedition.
- Sample request or sample planning data and content.
- Do any of the samples from the previous expedition carry over? Keep them in the database and flag them appropriately.
- Do any standard materials need new labels and database records created?
- Are repository samples being carried with the new expedition that will be analyzed? Do they need to be entered into the system?
- Have new pieces of equipment come on board that require software or data services to assist in configuration, automation?
- Cross-over with the technicians in each of the labs.
- Are the laboratory instrument systems up and functioning?
- Are the Sample Entry sample entry systems up and functioning?
- Are the Correlation correlation systems up and functioning?
- Are the Description description systems up and functioning?
- Are the Label Printing label printing and engraving systems up and functioning?
- Start any required changes through the change management process.
- Check with the Underway technician: are the Navigation and Bathymetry data feeds running Ok?
- Ensure the video overlay feed is still connected to the RigWatch master and functioning. (Ops and MCS concern.)
- Ensure iRIS data feeds are connected and running. (Ops and MCS concern)
...
- Work with lab technicians to ensure they are able to use the applications to accomplish the tasks that have to be done.
- Check database and web services status and performance. If performance is degraded, work with the MCS to make appropriate corrections.
- If time permitsLearn, learn / review the process and procedures for the labs.
...
- Monitor status of critical laboratory, database, and web services.
- Provide data maintenance, cleanup and reporting services.
- Make the software systems better. Follow change management procedures before and after modifying an application.
- Priorities for work are set by the Prioritize. The Expedition Project Manager (staff scientist) and Lab Officer (LO) can help. Work with them to keep change requests moving and being completed.
- When pressed for time, create a work around for a problem. It still requires a notice to
jr_developer@ship.iodp.tamu.edu
. - Create a different change request for the longer term solution so that it gets in the development queue.
- When pressed for time, create a work around for a problem. It still requires a notice to
- Help with core on deck as directed by the LO / ALO. Keep up-to-date with Maintain awareness of core flow and core processing status.
- Listen. Learn. Do.
End of Expedition (EOX) Activities
- Deliver the end-of-expedition report to the LO (that you have been writing throughout the expedition; send ). Post a copy to the AD Supervisor, Lab Officer and Publications Specialist. What worked? What didn’t? What’s changed? What can be improved?development team via Slack. See examples from prior technical reports for formats and variations.
- Establish with MCS, LOs, etc. CoChiefs when the final database snapshot will be taken for EOX.
- Circulate through the labs. What data didn’t get into the database? Provide support and training to help get the data in or find another an appropriate place for it.
- Clean out archived files on all logger systems—collaborate/confirm with off-going Physical Properties, Paleomagnetics, and Imaging staff. Honor moratorium. Once content is uploaded to LIMS, and raw files have gone to data1, expedition-specific data may be cleaned off of instrument hosts and workstations. Good practice to confer with technical staff that manage this for their labs. There is variance between crews as to how these procedures are carried out.
- Conduct end of expedition procedures for backing up the database. .
- Provide courier services if called upon to do so.
- Confirm with the MCS what is to be included in the backup going to shore and that it does cover all the information you are aware of that should go to shore. Assist them with creating backups as necessary.
- Ensure all your code changes are checked in.
- Clean the development office. Assist in the general cleaning efforts.
- Be ready to move out. Your replacement will be here soon.
Port Call – off going
- Provide assistance and information to oncoming developers.
- Assist them to accomplish their oncoming duties.
- They may not have sailed for quite a while, plan to:
- Review your changes.
- Review the current state of the labs.
- Review the current state of deployed applications.
...
- Provide assistance to the DBA and systems personnel to get the data from the ship restored and moved into shore production.
- Review the shore repository and change log to ensure all your changes were correctly recorded and available to shore.
- Review with the AD supervisor your activities during the expedition and any recommendations for further developments or improvements that are needed.
Change
202301145 df Moved & renamed versioning/change log to bottom of doc. Use dates rather than numbers for changes notes. Clarify intent of change, noting that change log is in some way redundant with Confluence management.
...