Challenge Overview

Note - This challenge will be judged by the client and copilot

Welcome to the CAIL6530 iPad App - Misc Client Feedback Enhancements and Bug Fixes challenge.

The client wants to develop an iPad app that emulates a text based terminal called "Tandem 6530" on iOS tablets. The App will allow users to access legacy, text based applications running on HP NonStop (formerly Tandem) mainframe systems. The app will be used by financial and manufacturing companies to connect to these mainframe systems.

 

So far, we’ve run these challenges for this app to implement conversation mode and block mode

CAIL6530 iPad App - Conversational Mode POC Implementation

CAIL6530 iPad App - Block Mode Implementation + Bug Fixes

CAIL6530 iPad App - Block Mode Refinement + Bug Fixes

CAIL6530 iPad App - Bug Fixes + Application Front End

CAIL6530 iPad App - Bug Fixes

CAIL630 iPad App - SSH Implementation + Bug Fixes

 

Challenge Requirements

 

 

As part of this challenge, we need to fix the following issues

1.       When connected via SSH, hitting the “Break” button causes the session to become unresponsive. I can still go into “Preferences”, and if I do a “Save” to exit “Preferences”, the emulation starts working again. I could find no other way to get the session working again, other than resetting it.

2.       There should be a second, information only challenge from the Tandem host when using “Keyboard-Interactive” for SSH authentication. With our Windows emulators we get the Password prompt, then an info only prompt as per:

 

 

Note that with this type of notification the “Challenge” text will start with “NOTIFICATION ONLY:” followed by the notification text, to differentiate it from a normal challenge that requires a response. Please don’t display the “NOTIFICATION ONLY:”, just the text after it. You can use the same dialog as with a real challenge, but the entry field must be greyed out, or create another dialog.

Be aware that there can be multiple challenges, for instance, if the user’s password has expired you will get several so the user can change the password (i.e. after entering an expired password you will get another prompt “Your password has expired. Please enter a new password”, then another prompt “Please verify your new password”).

3.       If I select the “Menlo” font, and I’m in Landscape mode, the status line is only ½ visible. It seems Menlo is a bit taller than Courier.

4.       The Password dialog for SSH Keyboard-Interactive shows the password instead of dots.

5.       Can we add a new setting for orientation, if this is possible with iOS? Our test site mentioned this would be nice. This would be a choice of Portrait, Landscape, or OS Setting.

6.    Can’t erase the port field. If I backspace over “23”, the three disappears, but when I press backspace again the “23” re-appears. This field should show “23” greyed out for non-SSH sessions, and “22” greyed out for SSH sessions. If a user has entered some other value, that should appear, not greyed out. In other words, it should show the default setting greyed out unless the user has entered a different value.

7.    The test site wants a setting to force upper case. If checked, you would convert all alpha characters (A to Z) typed by the user to upper case. The setting name would be “Force Upper Case:”.

8.    The test site complained about not seeing the “Connect” button. Can we move that and the “Open…” button as per:

 

 

       Please also change the label on the “Open…” button to “Load Session…”.

9.    Again from the test site, please change the title of the “Choose your file” dialog to “Choose your session”, as per:

       

10.  All testers complained about the screen going to sleep while in CAIL iOS. I’ve tested several other terminal emulation Apps for iOS and all prevent the system from sleeping if there is no user input, but a session is open and connected to the host. We need this same feature.

11.  All testers complained about the session dropping if they switch to another App and come back to CAIL iOS. As with #10, I tested several other terminal emulation Apps for iOS and they do not drop the session when switching to another App and coming back. This is really important because the users often get info from another App to put into CAIL iOS.

12.  If a session is saved with “Auto-Connect” checked, and the session is loaded (using the “Open Session…” dialog), connect right away, i.e. don’t show the settings and make the user click the “Connect” button.

13. Implement About Dialog as per this mockup

 

Evaluation/ Review Criteria

- The application must connection to the sample 6530 server (details provided in forum) and be able to run the sample programs and provided tests must pass (details in forum).

- No regression issues

- Listed bugs must be fixed

- SSH implementation must work as described

Reviewers will be expected to ensure that the app is able to connect the server using the submission and run the sample programs provided in forums.

 

Challenge Assets

 

  • Existing app source code

  • Android App source code

  • Connection information to sample HP server including VPN connectivity

  • 6530 Manual

 

General Notes

 

NOTES

  • Only iPad device is in scope.

  • All source code changes must be well commented and MUST follow existing coding conventions

  • If you face any API issues or have doubts related to request response for any API, please raise it in the forums so it can be clarified by client.

  • The app works in both portrait and landscape modes

  • App must support 2x and 3x assets and retina devices

  • App must support iOS 10.x

  • All code must be written in the latest version Swift and the project must use latest XCode version. Do not use Objective-C or Bridging approach

  • Please ask in the forums if you wish to use any open-source third-party libs to ensure there are no license violations



Final Submission Guidelines

- Updated XCode Project with all source code that addresses the requirements

- Deployment guide with configuration & verification steps. Describe all config params and include steps to run

- Demo video (Mandatory and will be scored down if not provided)

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30063222