--- title: "Tutorial Web app source overview" slug: "dpo-tutorial-app-for-web-source-overview" updated: 2026-10-27T19:33:50Z published: 2026-10-27T19:33:50Z canonical: "docs.onespan.com/dpo-tutorial-app-for-web-source-overview" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.onespan.com/llms.txt > Use this file to discover all available pages before exploring further. # Tutorial Web app source overview Below are descriptions of some of the essential files within the directory structure of a Tutorial Web App as it is in gwtutorial.war: - gwtutorial/adaptive/picture_method_ui.js - An implementation of MethodUI interface for the Photo ID authentication method (AdaptiveType.PHOTO). - gwtutorial/adaptive/external_method_ui.js - An implementation of IExternalAuthLiveData interface for the external authentication method (AdaptiveType.EXTERNAL_AUTH). - gwtutorial/config - Directory containing default configuration, configuration loader and the configuration page for the Tutorial Web App. - gwtutorial/css - Directory containing CSS files for Tutorial Web App. - gwtutorial/img - Directory containing images for Tutorial Web App. - gwtutorial/js/Controller.js - A JavaScript library providing an API for FIDO-related control elements and operations. - gwtutorial/js/session.js - Contains session management related classes and functions. - gwtutorial/js/utils.js - A common JavaScript library of utility methods. - gwtutorial/js/samples.js - Contains sample UI classes that also implement the following interfaces: - IAuthenticationLiveData - IManageRegistrationsLiveData - IRegistrationLiveData - IFidoRegistrationLiveData - ISuggestRegistrationLiveData - IOobLiveData - IOtpLiveData - ITryFidoUiFactory and ITryFidoUi - ISessionReminderUI - IndicatorListener - gwtutorial/META-INF - Directory with Tutorial Web App metadata. - gwtutorial/netverify/photo_id.js - A JavaScript library that initiates Jumio Netverify document verification through Tutorial Web App netverify_endpoint (see [Configuring Tutorial Web App](/dpoa/docs/s3suite94-configuring-tutorial-web-app-1)). - gwtutorial/sampleRestClient/iframe-custom.js - An example implementation of REST Client. - gwtutorial/sampleUIs - Directory with HTML fragments for sample UI implementations. - gwtutorial/views - Directory with Tutorial Web App HTML page fragments loaded dynamically. - gwtutorial/WEB-INF/classes/configurations - Directory containing configuration subdirectories for the different tenants, with each subdirectory named according to tenant ID. For the default installation, there is only one default subdirectory containing a SessionPlugin directory with configuration files for Session Plugin (Tutorial Web App uses API Server session plugin to generate a session on successful password login). - gwtutorial/WEB-INF/classes/log4j2.xml - log4j2 logger configuration file. - gwtutorial/WEB-INF/lib - Directory with all libraries Tutorial Web App depends on. - gwtutorial/WEB-INF/web.xml - Tutorial Web App deployment descriptor. - gwtutorial/fido.html - A page that handles FIDO2 operations in iOS Tutorial App. - gwtutorial/index.html - The main page of the Tutorial Web App. - gwtutorial/oobrecv.html - A page that handles App-less QR-OOB operations. ## Tutorial Web app JavaScript and HTML This section describes the JavaScript code and its dependencies on HTML elements used in the Tutorial Web App. **JavaScript file:** utils.js - loadIframe function sets the src attribute of an element with id nnl_iframe if it does not have a value already. **JavaScript file:** Controller.js - Controller class has dependencies on some elements from index.html (header, menu button, menu items, title, back button, and so on). - Controller class loads different views into the element with id content. - Controller class has dependencies on elements from the loaded views. **JavaScript file:** samples.js - Classes in this file load different views from the sampleUIs directory and have dependency on the elements from those views. **JavaScript file:** photo_id.js - PhotoIdController class loads netverify-dialog-view.html into a dynamically inserted element. - PhotoIdController class has dependencies on elements from netverify-dialog-view.html. ## API reference documentation Auto-generated by JSDoc, this is available for the classes and global definitions in Tutorial web app. See [Tutorial web API docs](/dpoa/docs/s3suite94-web-client-api-docs-1) for more information.