start your notes app the superntf way
DESCRIPTION
Presented by Kevin Pettitt at ILUG 2008 in Dublin, June 2008.SuperNTF is the open-source Notes client application framework built from the ground up to enable even novice developers to embrace coding best practices. No more customized discussion databases! The feature-rich yet uncomplicated design of this template encourage wide adoption, enabling you to promote coding standards across your organization. Even advanced developers will find plenty of features to cherry pick for use in other applications. From integrated help and error handling to getting soft deletions right and providing an alternate "dashboard" interface, SuperNTF makes it easy to look like you're working hard. The session will also offer an in-depth review of the template’s advanced features for user activity and field change tracking, configuration, and data reporting/exporting, and show you how to inject new life into existing apps, or provide a strong foundation for new ones.TRANSCRIPT
![Page 1: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/1.jpg)
Starting Your Application Starting Your Application the SuperNTF Waythe SuperNTF Way
Kevin Pettitt
![Page 2: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/2.jpg)
2
Your Host for Today’s Session …Your Host for Today’s Session …
Kevin PettittPresidentLotusGuru Consulting
Independent ConsultantDeveloper, Admin, Architect
Blog: www.lotusguru.com
![Page 3: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/3.jpg)
3
What Is SuperNTF?What Is SuperNTF?
Generic starter application template that isn’t “-blank-”
Notes Client application framework designed for easy understanding to encourage wide adoption
Built from the ground up with the goal of making development best practice easy for even novice Notes developers
Fusion of many other open source projects
![Page 4: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/4.jpg)
4
Agenda…Agenda…
A brief history of File – Database – New Overview of standards and frameworks SuperNTF feature walkthrough What’s under the hood Creating a new application Overhauling an existing application Final Word
![Page 5: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/5.jpg)
5
In the Beginning, There Was -Blank-In the Beginning, There Was -Blank-
And it really was “blank” Next step - Doc Library or Discussion
template – Just to have some code to start
Advanced developers created their own “common design elements”– Great for reusing code among
many applications– Problem: Only they understood
how it worked
![Page 6: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/6.jpg)
6
Agenda…Agenda…
A brief history of File – Database – New Overview of standards and frameworks SuperNTF feature walkthrough What’s under the hood Creating a new application Overhauling an existing application Final Word
![Page 7: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/7.jpg)
7
Design Standards – Huh?Design Standards – Huh?
Notes is a very “approachable” development platform– Any decent spreadsheet jock can whip up a Notes database
limited skills hinder code standardization efforts
It takes time and effort to enforce standards Only way way to achieve some level of
coding standards for novice developers – Make it EASY to do things “right” without thinking
![Page 8: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/8.jpg)
8
Key Benefits of Standardized CodeKey Benefits of Standardized Code
No more reinventing the wheel– Unless it’s a better wheel
Commonly used routines are readily available Easier to troubleshoot, maintain, and
enhance– Especially when the standard code has been more rigorously
tested than any one application
The next developer to touch the app won't curse your name
![Page 9: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/9.jpg)
9
What Is an Application Framework? What Is an Application Framework?
A basic template for jumpstarting a new application
A collection of generic design elements useful in any kind of application
A way to standardize the “plumbing” of all your custom Notes applications
Everything *except* what makes the application unique
![Page 10: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/10.jpg)
10
Framework PitfallsFramework Pitfalls
Often developed organically over time by single developer– Thoughts of having others use the framework may not take
hold until after most of it is built– Only that developer understands the “quirks” – Steep learning curve for others without that developer on the
team
Tendency toward complexity– Time spent “improving” the framework may actually detract
from others’ ability to maintain code later– The more tightly integrated it gets the easier it is to break
![Page 11: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/11.jpg)
11
What Makes SuperNTF Different?What Makes SuperNTF Different?
Conceived with ease of understanding in mind– Novices can create nice looking applications without "breaking"
something
Design goal: Make it easy to follow and thereby gain wide adoption– Low learning curve also helps intermediate and advanced
developers ability to customize and extend more easily– Code is written for readability – elegance over complexity
Designed to facilitate "cherry picking" code– Many individual pieces can be copied and reused in other
applications and still work– Copying elements with their dependencies will be made easier in
the future
![Page 12: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/12.jpg)
12
Meet the SuperNTF TeamMeet the SuperNTF Team
Head of R&D: Kevin Pettitt– aka "Robbery and Deployment"
With contributions from: The Domino community– No one has a monopoly on best practice ideas– Most borrowed code reworked significantly to adhere to
SuperNTF simplicity standards
New "volunteers" all the time as more great ideas appear
![Page 13: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/13.jpg)
13
Simple doesn’t mean boring– There are still lots of cool features, as you will see– Significant attention was paid to offering an attractive default
UI design
Many advanced functions are “black boxed”– Eliminates the need to manipulate truly complex code (although
you still can if you want)– High degree of configurability further minimizes need to touch
code
So How Simple Is “Simple”?So How Simple Is “Simple”?
![Page 14: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/14.jpg)
14
Agenda …Agenda …
A brief history of File – Database – New Overview of standards and frameworks SuperNTF feature walkthrough What’s under the hood Creating a new application Overhauling an existing application Final Word
![Page 15: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/15.jpg)
15
Key Navigation ElementsKey Navigation Elements
Separate frameset for normal use…
![Page 16: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/16.jpg)
16
Key Navigation ElementsKey Navigation Elements
…and for administrative functions
![Page 17: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/17.jpg)
17
Key Navigation ElementsKey Navigation Elements
Standard action bar in separate frame– Eliminates need for most typical view actions– Leaves room for a descriptive view title– Actions show only when appropriate (e.g., “Search” only visible
if database is full-text indexed)
Administration panel logically organized– Configuration– Logging– Cool Design Views– Utility views (e.g., Design element views, All Documents)
![Page 18: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/18.jpg)
18
Alternate “Dashboard” InterfaceAlternate “Dashboard” Interface
Content of each tab is configurable Double-clicking on preview opens document
fully
![Page 19: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/19.jpg)
19
Centralized Form ConfigurationCentralized Form Configuration
![Page 20: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/20.jpg)
20
Centralized Form Configuration (cont.)Centralized Form Configuration (cont.)
Each application-specific form has its own “configuration” document
Controls which form features are enabled– Shared Actions – (e.g., Edit, Save & Close, etc.)– Validation – edit a form-wide formula right on the form config.– User Activity Tracking – who read/edited what and when– Field Change History – what did they change and when– Comments – user feedback mechanism
![Page 21: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/21.jpg)
21
View ConfigurationView Configuration
Set the View “Header Title” Configure “Help” and “New Document”
behavior
![Page 22: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/22.jpg)
22
User Activity Tracking – Summary User Activity Tracking – Summary
Keeps a running history of every time a document is READ or EDITED
Saves each record as a separate document– Can be easily tabulated and sorted in views– Allows user to “jump” directly to the source document
![Page 23: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/23.jpg)
23
User Activity TrackingUser Activity Tracking
Consolidated Activity History
![Page 24: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/24.jpg)
24
User Activity TrackingUser Activity Tracking
Current Document
![Page 25: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/25.jpg)
25
User Activity Tracking – Dashboard ReportsUser Activity Tracking – Dashboard Reports
At-a-glance view to most active users and documents
Apply custom filters to highlight the specific information you want
![Page 26: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/26.jpg)
26
Field Change HistoryField Change History
Form config specifies which form fields to track– Also assign user-friendly field labels
![Page 27: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/27.jpg)
27
Field Change History (cont.)Field Change History (cont.)
All changes to target fields are recorded in a single rich-text field– Change history dialog accessed via action button
![Page 28: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/28.jpg)
28
OpenLog Used for Error and Event LoggingOpenLog Used for Error and Event Logging
![Page 29: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/29.jpg)
29
Integrated HelpIntegrated Help
Create help documents within the application Link them to specific forms and views via configuration
![Page 30: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/30.jpg)
30
Integrated Help (cont.)Integrated Help (cont.)
Press F1 to pull up the relevant help document
![Page 31: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/31.jpg)
31
Exporting Data – The Quick and Simple WayExporting Data – The Quick and Simple Way
View actions export all or selected docs Use column naming “trick” to …
– Get categorized column titles to appear– Omit specific columns from export
![Page 32: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/32.jpg)
32
Exporting Data – The Structured and Exporting Data – The Structured and Repeatable WayRepeatable Way
Integrated with the OpenNTF ASND Export Facility
![Page 33: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/33.jpg)
33
Soft Deletions Work!Soft Deletions Work!
No matter how you delete a document– Press <Delete> key at document or view level– Cut document(s) from a view– Drag to Trash– From “Delete” action in document or view
Confirmation warning always appears
![Page 34: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/34.jpg)
34
Soft Deletions Work! (cont.)Soft Deletions Work! (cont.)
Easily restore some or all deleted documents Configure deletion purge interval in main DB
configuration
![Page 35: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/35.jpg)
35
Design ViewsDesign Views
![Page 36: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/36.jpg)
36
Design Views (cont.)Design Views (cont.)
Yes, that’s right, you’re seeing design elements in regular views!– Made possible via the $FormulaClass “hack”– Allows ALL design elements to appear in a single view– Includes action button to “clean” the design elements (i.e.,
remove old $UpdatedBy entries and re-sign them)
Other variations show– All image resources with image preview– All fields and subforms listed by form(s) where they appear
Views can be copied to any other database to provide instant value
![Page 37: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/37.jpg)
37
Icons, Icons, EverywhereIcons, Icons, Everywhere
Outline entry and action icons used throughout to provide visual cues to associated function
Many include mouse-over animations– Further improves visual cue of mouse position– Injects a little fun into the application, which users love
All images can be previewed in the “Images Preview” design element view
![Page 38: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/38.jpg)
38
All Documents ViewAll Documents View
Shows all docs in the database grouped by form name Useful for finding “lost” docs, the “last” one edited, or the
300 customer documents you accidentally pasted
![Page 39: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/39.jpg)
3939
Agenda…Agenda…
A brief history of File – Database – New Overview of standards and frameworks SuperNTF feature walkthrough What’s under the hood Creating a new application Overhauling an existing application Final Word
![Page 40: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/40.jpg)
40
So What’s It Look Like Under the Hood?So What’s It Look Like Under the Hood?
It’s not a Ferrari, but then you wouldn’t let your rookie mechanic work on it if it were that complicated
It is, however …– Cleanly designed– Easy to work on without
“breaking” anything– Individual parts are
clearly identifiable– Yet still highly functional
with lots of cool features
![Page 41: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/41.jpg)
41
A Code Tour of SuperNTFA Code Tour of SuperNTF
![Page 42: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/42.jpg)
4242
Agenda…Agenda…
A brief history of File – Database – New Overview of standards and frameworks SuperNTF feature walkthrough What’s under the hood Creating a new application Overhauling an existing application Final Word
![Page 43: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/43.jpg)
43
Creating a “SuperNTF” ViewCreating a “SuperNTF” View
Shortcut: create a new view based on one of the demo views– Easy way to get actions that are the “hooks” into the view
configuration
Customize columns, row colors, etc., as desired Display view into the outline and open it Click
– Any guesses what that does ?
Fill out the view configuration– You may need to come back after creating a form to change the
“New Document” behavior
![Page 44: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/44.jpg)
44
Creating a “SuperNTF” FormCreating a “SuperNTF” Form
All the “hooks” into the configuration are encapsulated in two subforms– SYSTEM - Standard Hidden Form Header– SYSTEM - Standard Hidden Form Footer
Just a few other details– “Form” field – set to form alias– Window title: @If(@IsNewDoc; "New Document";
WindowTitle)– Turn off the create menu – PLEASE!
Tie the form into one or more views Compose a document and click
![Page 45: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/45.jpg)
4545
Agenda…Agenda…
A brief history of File – Database – New Overview of standards and frameworks SuperNTF feature walkthrough What’s under the hood Creating a new application Overhauling an existing application Final Word
![Page 46: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/46.jpg)
46
Basics of Overhauling Existing ApplicationBasics of Overhauling Existing Application
Add SuperNTF design elements to existing application– Or for very simple examples, copy the key elements into a
“blank” SuperNTF database
Migrate views to new design– Remove unnecessary actions– Add Standard SuperNTF Actions– Update column fonts– Ytria Tools make this dead easy
Add standard SuperNTF subforms to key forms– Configure the enabled features for each form
![Page 47: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/47.jpg)
4747
Agenda…Agenda…
A brief history of File – Database – New Overview of standards and frameworks SuperNTF feature walkthrough What’s under the hood Creating a new application Overhauling an existing application Final Word
![Page 48: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/48.jpg)
4848
ResourcesResources
Download SuperNTF– www.superntf.org
My Blog: www.lotusguru.com– Includes many articles pertaining to SuperNTF, including
upcoming features
SuperNTF IdeaJam?– Stay tuned
![Page 49: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/49.jpg)
49
Parting ThoughtsParting Thoughts
Coding standards will only gain wide adoption if they are easy to learn and use– And what use is a “standard” no one uses?– Even experienced developers will appreciate the freedom to
focus on application logic
Cool things to do with SuperNTF– Give power users more power without giving yourself more
headache– Give older apps a professional facelift
Sharing is good!– Please share your good ideas and useful SuperNTF
customizations
![Page 50: Start Your Notes App the SuperNTF Way](https://reader034.vdocuments.site/reader034/viewer/2022052600/557ad64cd8b42add288b52b4/html5/thumbnails/50.jpg)
50
Sharing is GoodSharing is Good
Sharing is good!– Please share your good ideas and useful SuperNTF
customizations