Profound UI
What is it?
Profound UI is a full-featured graphical user interface platform for RPG, Node.js, and PHP development. The platform offers developers an easy, natural method for creating connected applications that deliver rich user experiences regardless of project complexity or organization size.
What is it built on?
Profound UI is built to support the top-down methodology and programming techniques that business application developers are already familiar with. With this native approach, the learning curve for developers is virtually non-existent. Developers won't need to bother with the low level complexities of Web 2.0 technologies nor become experts in modern browser frameworks, such as JavaScript, AJAX, and HTML5, to create robust and modern web applications.
How does it work?
Profound UI provides a comprehensive visual design tool that allows anyone to create professional browser interfaces in a point and click manner! With the Visual Designer, developers of any language background can drag user interface components, called "widgets", over the design layout and simply drop to add them to the interface. The widget defaults can then be left in place or customized to fit the project requirements.
Why choose Profound UI?
With more than 125 cross-browser rich widgets, and hundreds of visual widget properties, Profound UI is the most robust and flexible web development environment available!
- General Information
- Minimum Requirements
- Installing Profound UI
- Troubleshooting the Installation
- Replicating Profound UI
- Creating a Combined Profound UI and Zend Server Configuration
- Installing a Test Instance
- How To Apply A Key For Profound UI
- Installing Profound UI using the Green Screen Installer
- Starting/Ending the Profound UI HTTP Server
- Starting Profound UI with Verbose Logging
- Support for IASPs
- Uninstalling Profound UI
- Updating Profound UI
- Instance Management Tools
- Profound UI Welcome Page
- Modules
- Profound UI Framework
- What's New
- Work With Spooled Files Utility
- Work with URL Mappings Tool
- Work with Language Translations Tool
- Work with Initial Library List Setup Tool
- IBM i SQL Security for Database-driven Components
- 3rd Party Components
- Troubleshooting with the Developer Tools
- Rich Display File™ Development
- Getting Started
- Introduction
- Visual Designer Basics
- Creating Your First ProfoundUI App
- Eclipse Plugin Setup
- Configuring the RPG Compiler
- Launching Programs
- FAQs
- Walkthroughs
- Creating a Simple Customer Inquiry Application
- Adding Client-side Validation
- Adding Server-side Validation
- Adding Auto-complete to Textboxes
- Using Dropdowns, List Boxes, and Combo Boxes
- Using Checkboxes
- Using Radio Buttons
- Controlling Widget Properties with Binding
- Using Events
- Creating a Subfile
- Adding Actions to a Subfile Row
- Creating a Multiline Subfile
- Organizing with Tab Panels
- Creating a Pop-up Window
- Timing Out A Screen
- Customizing Favicon
- RPG Coding and Compiling
- PHP Coding
- DDS Conversion
- Settings and Configuration
- Authentication Options
- Expired Password Handling
- Enabling SSL
- Anonymous Sessions
- File Upload Limit
- Authenticated Sessions
- Query String Parameters
- Centering Content on Page
- Library List Setup
- Replacing start.html
- Workstation ID's
- Enabling Compression
- Enabling PHP
- Customizing Built-in Screens
- Session Timeout
- Allowing External Access
- Keeping Compile Listings
- Saving Persist State on IBM i
- Auto-Complete without DISTINCT
- Debugging
- Screen Level Properties
- International Language Support (Translations)
- Break Messages
- Add Handler Command
- PUIRDSEXIT
- Getting Started
- JavaScript Coding for Profound UI
- Browser Detection Flags
- Custom Widget Development
- Configuration Options
- Genie Special Key Mapping
- Encode Hyperlink Spaces
- Grid Text Selection
- Default Input Properties
- Special Key Map
- Break Message Options
- Language Support
- Clear Overlapped Lines
- Genie Hide Subfile Option Text
- CSV Exports XLSX
- Long Field Names
- Genie Disable Combo Box Auto Select
- Close Browser Text
- Runtime Validation Messages
- Default Date Format
- Grid CSV Separator
- Autocomplete Typeahead Delay
- Genie Browser Handles Home Key
- Strict Tab Control
- Session Ended Text
- Genie Detect Subfile Options
- Confirm and Shutdown on Close
- Enable Arrow Keys
- Genie Allow Radio Button Clear
- Suppress Comm Errors
- Autocomplete Tab Selects
- SQL Date and Time Format and Separator
- Subfile Option Pattern
- Genie Subfile Heading Rows
- Use Original Edit Mask
- Left Offset for Pop-up Windows
- Function Key Pattern
- Always Allow Field Exit
- Loading Animation
- Special Key Pattern2
- Session Timeout Diagnostics
- Grid Column Resize Style
- Help Panel Group Table of Contents
- Option Column Number
- onoptionclick value is text
- Server URL
- Use PC Listener
- Auto Tab
- Special Key Pattern
- Window Masking
- Read DB-Driven Data as EBCDIC
- Default Auto Complete Max Choices
- Atrium Rich Display URL
- Dup Key
- Grid Sort Function
- No Connection Status
- Drop Scroll Wait
- Genie Minimum Function Key Row
- Subfile Option Pattern2
- Default Hyperlink TabIndex
- Client Side Timeout
- Use Ace Editor
- Skip Atrium Launch Check
- Session Timeout Retries
- Allow Decimal Ending
- Menu Pattern
- Genie Include Blank Columns in Subfile
- Include Field Order
- Custom Icon List
- Enable Press Enter Button
- Alert PC Command Errors
- Use Size Attribute
- Field Exit Key
- Alert Script Errors
- Allow Spellcheck
- Horizontal Auto Arrange
- Grid Process Export Value
- Grid Paging Bar Text
- Genie Protected Select Box
- Valid Library, Object, Member, Format, and Field Name Characters
- Refresh Interval
- Tab Panel Scroll Buttons
- No Focus
- Genie Close Atrium Tab On Timeout
- Legacy Chart Data URL
- PC Listener Mode
- Submit Log
- Keep Alive Interval
- Button Spacing
- Buttons per Row
- PC Listener Port
- PC Command Mode
- No Connection Message
- Grid Menu Options
- Genie Container Width
- Add Combo Style Properties To Choice List
- Highlight on Focus
- Default Output Properties
- Function Key Pattern2
- Force Auto Complete Match
- Grid CSV String Delimiter
- Default Date Pattern
- Code Organization
- Inline JavaScript
- External JavaScript (screen-level)
- External JavaScript (global)
- Global Variables
- Global Events
- pui.onPCCommand function
- pui.beforeRespond
- pui.onuseractivity
- pui.genie.onalarm (Genie)
- pui.validate
- afterLoad function (Genie)
- customize function (Genie)
- pui.onload
- pui.inputfilter
- pui.overrideSubmitUrl
- pui.onoffline
- pui.onsubmit
- pui.onshutdown (Genie)
- beforeLoad function (Genie)
- pui.genie.afterInit (Genie)
- pui.beforeRender
- pui.onbeforetimeout
- pui.ontimeout
- Screen Events
- Widget Events
- onfocus event
- onmouseover event
- onkeyup event
- ondblclick event
- onchange event
- onchartclick event (Chart)
- onrowmouseover event (Grid)
- ondragleave event
- ontabclick event (Tab Panel)
- onsectionclick event (Accordion Layout)
- onkeydown event
- ondragstart event
- onfilterchange event (Grid)
- onmousemove event
- onscroll event (Grid)
- onlazyload
- onrowdblclick event (Grid)
- onblur event
- onmouseup event
- onkeypress event
- onselect event (Combo Box)
- ondrop event
- onrowclick event (Grid)
- onoptionclick event (Menu)
- ondbload event
- onmouseout event
- ondragenter event
- onmousedown event
- onclick event
- onrowmouseout event (Grid)
- onspin event (Spinner)
- onpagedown event (Grid)
- onselect event (Textbox)
- onpageup event (Grid)
- API Reference
- Commonly Used API
- Element-related API
- attachCalendar( id, format )
- changeElementClass( id, customClass )
- createNamedElement( type, name )
- getCursorPosition( input element )
- getElementValue( id, autocompUseValueField )
- getInnerText( object or id )
- hideElement( id )
- hideElements( id1, id2, id3, etc... )
- newElement( row, col, type, content, id )
- pui.detachCalendar(object or id)
- pui.errorTip(widget, message, hideDelay)
- pui.expandAccordionSection( id, section )
- pui.fieldExit( minus )
- pui.getRuntimeContainerHeight()
- pui.gotoNextElement(currentElement)
- pui.gotoPreviousElement(currentElement)
- pui.shiftElements( start point, end point, move by )
- pui.showCalendar( object or id )
- removeElement( id )
- removeElements( id1, id2, id3, etc… )
- setDOMAttribute(element, attribute, value )
- setTab( tabPanelid, tab )
- pui.getRadioGroupValue( fieldName )
- Genie-specific API
- showAsWindow()
- massMove( parameters )
- deAbbreviate( id, from array, to array )
- getAllFields()
- stopShowingAsWindow()
- getWindowObj( element id, window object )
- getLeft( element )
- find( search string )
- detectScreen( id1, value1, id2, value2, etc. )
- getRight( element )
- moveElement( id, row, col )
- saveScreenImage()
- getRow( id or object )
- getCol( id or object )
- pui.disconnectJob(callback)
- pui.rebuildSubfileMenu( choices, values )
- positionCursorToFirstElement()
- getInputFields()
- getOutputFields()
- multiStepAction( step1, step2, etc. )
- Atrium-specific API
- Atrium.activateTab( tab )
- Atrium.attachActivityMonitor()
- Atrium.breakMessageFormat( message, stringwrapper )
- Atrium.closeAllTabs( keepHome )
- Atrium.closeTab( tab )
- Atrium.dimensions
- Atrium.getAtriumWindow()
- Atrium.getCurrentTab()
- Atrium.getUser()
- Atrium.launchItem( itemId, closable, callback )
- Atrium.launchItem( launchObject )
- Atrium.launchURL( url, title )
- Atrium.promptCloseTab
- Atrium.promptCloseBrowser
- Atrium.refreshNavPanel()
- Atrium.resetInactivityTimeout()
- Atrium.runPCCommand( command )
- Atrium.onload()
- Atrium.onlaunch( launchObject )
- Atrium pui.language
- Atrium.setMenuFilter()
- Atrium.setTabTitle()
- Atrium brkmsg handler
- Atrium.onclose()
- Combo Box Methods
- Grid Methods
- refresh()
- rowZoom( rowNumber )
- getColumnIdFromFieldName( fieldName )
- toggleTreeLevel( rrn )
- getFilter( columnIndex )
- getAllDataValues( applyFilter )
- startFind( columnIndex )
- collapse()
- getCellValue( row, col )
- setFilter( columnIndex, expression )
- exportXLSX( file )
- setCursorRecordNumber(rrn)
- expandTreeLevel( rrn )
- isColumnHidden( columnid )
- show()
- expand()
- deselectRow( row )
- hideRow( rrn )
- getSelectedCount()
- collapseTreeLevel( rrn )
- getRRN( row )
- find( columnIndex, text, next )
- getRowNumber( rrn )
- getRecordCount()
- scrollToRow( row )
- isRowSelected( row )
- setProperty( property, value )
- clearHighlighting()
- clearState(part)
- getDataValue( row, fieldName )
- toggle()
- hideColumn( columnIndex )
- showRow( rrn )
- showColumn( columnIndex )
- removeFilter( columnIndex )
- render()
- selectRow( row, append )
- getSelectedRows()
- exportCSV( file )
- removeAllFilters()
- setDataValue(rowNum, fieldName, value)
- removeColumn( columnIndex )
- hide()
- setNumberOfRows( rows )
- startFilter( columnIndex )
- isRowFilteredOut( row )
- getColumnIndexFromFieldName( fieldName )
- File Upload Methods
- Tab Panel Methods
- AJAX Development
- PC Integration API
- String Manipulation API
- System Information API
- Event-related API
- Widget Development API
- Miscellaneous API
- postTo( url, parm1, value1, parm2, value2, etc. )
- postToNewWindow( url, parm1, value1 , parm2, value2, etc… )
- setCursor( coordinates or id )
- pui.addUrlCacheBuster()
- pui.applyResponse( data, response )
- pui.breakMessageFormat( message, stringwrapper )
- pui.buildFKeyMenu( config )
- pui.captureData()
- pui.closeSession()
- pui.download( config )
- pui.downloadURL(config)
- pui.focusOnContainer()
- pui.getActiveContainer()
- pui.getAllScreenProps()
- pui.getDimensions( container )
- pui.getDisplayType()
- pui.getScreenProp()
- pui.getWindowSize()
- pui.isServerBusy()
- pui.keepAlive()
- pui.maskScreen()
- pui.newUUID()
- pui.openURL( url )
- pui.refresh()
- pui.runAttnProgram()
- pui.runLogic( routine )
- pui.setMLTCHCFLD( field id, checkboxes )
- pui.setPSHBTNFLD( field id, button )
- pui.showHelp()
- pui.submit( post data )
- pui.unmaskScreen()
- Wiki Help API
- pui["brkmsg handler"]
- Startup API
- Mobile API
- EJS Templating
- Widgets
- Common Widget Properties
- Input Widgets
- Output Widgets
- Control Widgets
- Charts
- Grids
- Grid Identification Properties
- Subfile Settings
- Message Subfile Settings
- Header Properties
- Colors
- Grid Settings
- Number of Rows
- Number of Columns
- Row Height
- Hover Effect
- Hover Image
- Row Selection
- Selection Field
- Selection Value
- Selection Image
- Column Widths
- Scrollbar
- Scroll Tool Tip
- Propagate Scroll Events
- Sortable Columns
- Default Sort Order
- Initial Sort Column
- Initial Sort field
- Column Sort Response
- Field Name Sort Response
- Resizable Columns
- Movable Columns
- Persist State
- Find Option
- Filter Option
- Reset Option
- Export Option
- Context Menu Id
- Hide Columns Option
- Export Only Visible Columns
- Sort Function
- Filter Response
- Return Sort Order
- Load Fields Into Widgets
- Load All Rows
- Show Quick Filters
- Paging Bar
- Row Folding
- Grid Data
- Grid Data from Screen
- Grid Translations Properties
- Position
- Borders
- Grid Events
- Database-driven Grids
- Grid tree
- Field Binding
- Responsive Layout
- CSS Selector Dialog
- Tab Layout
- Genie
- Genie Introduction
- Getting Started with Genie
- Genie Screen Designer
- Genie Administrator
- 5250 Connection Types
- Genie Query String Parameters
- Skins
- Macros
- Genie Underlying Structure and Security
- Moving customizations to another environment
- STRPCCMD Support
- Detecting Genie mode
- Logging
- Profound UI within Genie
- Ownership of Workstation Devices
- Changing Default Suffix IDs
- Support for East Asian Languages
- JumpStart
- Mobile Development
- Overview
- Deploying a Mobile App in a Browser
- Deploying with the Profound UI Mobile Client
- Deploying Profound UI Mobile With Apache Cordova
- Allowing Images to Display in the Mobile Client or Apache Cordova apps
- Taking Photos on a Mobile Device
- Accelerometer Test for Shaking
- Handling the Mobile Device Back Button
- Detecting a Mobile Device
- Using Layouts
- Applying Transition Animations
- Signature Pad
- Scanning Barcodes
- Disable Device Orientation
- Sending SMS text messages
- Offline Mobile Sample
- External JavaScript and CSS Files on a Mobile Device (global)
- Steps Required to Preserve iOS Mobile App Functionality
- Atrium
- Control Panel
- Users and Groups Panel
- Navigation Panel
- Toolbar Items
- Genie Macros Panel
- Authentication API for CGI or RPGsp programs
- Atrium Database
- Atrium Exit Programs
- Changing Expired Password in Atrium
- Atrium Minimum Requirements
- HTTP Authentication and Logoff
- Atrium Session Timeout
- Internet Explorer Rendering Mode
- Workstation ID's in Atrium
- Rules For Determining Permissions
- Language Support for Atrium
- Menu Item Filter
- Universal Display Files
- Using the Universal Display File Editor
- Using the Web Connector
- RPG Coding for Universal Display Files
- Example - Using Choices URL with a Universal Display File
- Example - Creating an Invoice Using a Universal Display File
- Example - JSON AutoComplete Choices URL with a Universal Display File
- Example - Use Universal Display Files with AJAX