Starting Your Application
   the SuperNTF Way


       Kevin Pettitt
Your Host for Today’s Session …


Kevin Pettitt
President
LotusGuru Consulting

Independent Consultant
Developer, Admin, A...
What Is SuperNTF?

 Generic starter application template that isn’t
  “-blank-”
 Notes Client application framework desi...
Agenda…

   A brief history of File – Database – New
   Overview of standards and frameworks
   SuperNTF feature walkth...
In the Beginning, There Was -Blank-

 And it really was “blank”
 Next step - Doc Library or Discussion
  template
  – Ju...
Agenda…

   A brief history of File – Database – New
   Overview of standards and frameworks
   SuperNTF feature walkth...
Design Standards – Huh?

 Notes is a very “approachable” development
  platform
  – Any decent spreadsheet jock can whip ...
Key Benefits of Standardized Code

 No more reinventing the wheel
  – Unless it’s a better wheel
 Commonly used routines...
What Is an Application Framework?

 A basic template for jumpstarting a new
  application
 A collection of generic desig...
Framework Pitfalls

 Often developed organically over time by
  single developer
  – Thoughts of having others use the fr...
What Makes SuperNTF Different?

 Conceived with ease of understanding in mind
  – Novices can create nice looking applica...
Meet the SuperNTF Team

 Head of R&D: Kevin Pettitt
  – aka quot;Robbery and Deploymentquot;
 With contributions from: T...
So How Simple Is “Simple”?

 Simple doesn’t mean boring
  – There are still lots of cool features, as you will see
  – Si...
Agenda …

   A brief history of File – Database – New
   Overview of standards and frameworks
   SuperNTF feature walkt...
Key Navigation Elements

 Separate frameset for normal use…




                                      15
Key Navigation Elements

 …and for administrative functions




                                      16
Key Navigation Elements

 Standard action bar in separate frame
  – Eliminates need for most typical view actions
  – Lea...
Alternate “Dashboard” Interface

 Content of each tab is configurable
 Double-clicking on preview opens document
  fully...
Centralized Form Configuration




                                 19
Centralized Form Configuration (cont.)

 Each application-specific form has its own
  “configuration” document
 Controls...
View Configuration

 Set the View “Header Title”
 Configure “Help” and “New Document”
  behavior




                   ...
User Activity Tracking – Summary

 Keeps a running history of every time a
  document is READ or EDITED
 Saves each reco...
User Activity Tracking

 Consolidated Activity History




                                     23
User Activity Tracking

 Current Document




                                   24
User Activity Tracking – Dashboard Reports

 At-a-glance view to most active users and
  documents
 Apply custom filters...
Field Change History

 Form config specifies which form fields to track
  – Also assign user-friendly field labels




  ...
Field Change History (cont.)

 All changes to target fields are recorded in a
  single rich-text field
  – Change history...
OpenLog Used for Error and Event Logging




                                           28
Integrated Help

 Create help documents within the application
 Link them to specific forms and views via configuration
...
Integrated Help (cont.)

 Press F1 to pull up the relevant help document




                                            ...
Exporting Data – The Quick and Simple Way

 View actions export all or selected docs
 Use column naming “trick” to …
  –...
Exporting Data – The Structured and
             Repeatable Way
 Integrated with the OpenNTF ASND Export
  Facility




 ...
Soft Deletions Work!

 No matter how you delete a document
  –   Press <Delete> key at document or view level
  –   Cut d...
Soft Deletions Work! (cont.)

 Easily restore some or all deleted documents
 Configure deletion purge interval in main D...
Design Views




               35
Design Views (cont.)

 Yes, that’s right, you’re seeing design
  elements in regular views!
  – Made possible via the $Fo...
Icons, Icons, Everywhere

 Outline entry and action icons used throughout to
  provide visual cues to associated function...
All Documents View

 Shows all docs in the database grouped by form name
 Useful for finding “lost” docs, the “last” one...
Agenda…

   A brief history of File – Database – New
   Overview of standards and frameworks
   SuperNTF feature walkth...
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 ...
A Code Tour of SuperNTF




                          41
Agenda…

   A brief history of File – Database – New
   Overview of standards and frameworks
   SuperNTF feature walkth...
Creating a “SuperNTF” View

 Shortcut: create a new view based on one of
  the demo views
   – Easy way to get actions th...
Creating a “SuperNTF” Form

 All the “hooks” into the configuration are
  encapsulated in two subforms
   – SYSTEM - Stan...
Agenda…

   A brief history of File – Database – New
   Overview of standards and frameworks
   SuperNTF feature walkth...
Basics of Overhauling Existing Application

 Add SuperNTF design elements to existing
  application
  – Or for very simpl...
Agenda…

   A brief history of File – Database – New
   Overview of standards and frameworks
   SuperNTF feature walkth...
Resources

 Download SuperNTF
  – www.superntf.org
 My Blog: www.lotusguru.com
  – Includes many articles pertaining to ...
Parting Thoughts

 Coding standards will only gain wide adoption
  if they are easy to learn and use
  – And what use is ...
Sharing is Good

 Sharing is good!
  – Please share your good ideas and useful SuperNTF
    customizations




          ...
Upcoming SlideShare
Loading in...5
×

Start Your Notes App the SuperNTF Way

2,582
-1

Published on

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.

Published in: Business, Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,582
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
112
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Start Your Notes App the SuperNTF Way

  1. 1. Starting Your Application the SuperNTF Way Kevin Pettitt
  2. 2. Your Host for Today’s Session … Kevin Pettitt President LotusGuru Consulting Independent Consultant Developer, Admin, Architect Blog: www.lotusguru.com 2
  3. 3. 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 3
  4. 4. 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 4
  5. 5. 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 5
  6. 6. 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 6
  7. 7. 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 7
  8. 8. Key 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 8
  9. 9. 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 9
  10. 10. Framework 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 10
  11. 11. What Makes SuperNTF Different?  Conceived with ease of understanding in mind – Novices can create nice looking applications without quot;breakingquot; 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 quot;cherry pickingquot; 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 11
  12. 12. Meet the SuperNTF Team  Head of R&D: Kevin Pettitt – aka quot;Robbery and Deploymentquot;  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 quot;volunteersquot; all the time as more great ideas appear 12
  13. 13. So How Simple Is “Simple”?  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 13
  14. 14. 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 14
  15. 15. Key Navigation Elements  Separate frameset for normal use… 15
  16. 16. Key Navigation Elements  …and for administrative functions 16
  17. 17. Key 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) 17
  18. 18. Alternate “Dashboard” Interface  Content of each tab is configurable  Double-clicking on preview opens document fully 18
  19. 19. Centralized Form Configuration 19
  20. 20. 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 20
  21. 21. View Configuration  Set the View “Header Title”  Configure “Help” and “New Document” behavior 21
  22. 22. 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 22
  23. 23. User Activity Tracking  Consolidated Activity History 23
  24. 24. User Activity Tracking  Current Document 24
  25. 25. User Activity Tracking – Dashboard Reports  At-a-glance view to most active users and documents  Apply custom filters to highlight the specific information you want 25
  26. 26. Field Change History  Form config specifies which form fields to track – Also assign user-friendly field labels 26
  27. 27. Field Change History (cont.)  All changes to target fields are recorded in a single rich-text field – Change history dialog accessed via action button 27
  28. 28. OpenLog Used for Error and Event Logging 28
  29. 29. Integrated Help  Create help documents within the application  Link them to specific forms and views via configuration 29
  30. 30. Integrated Help (cont.)  Press F1 to pull up the relevant help document 30
  31. 31. Exporting 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 31
  32. 32. Exporting Data – The Structured and Repeatable Way  Integrated with the OpenNTF ASND Export Facility 32
  33. 33. 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 33
  34. 34. Soft Deletions Work! (cont.)  Easily restore some or all deleted documents  Configure deletion purge interval in main DB configuration 34
  35. 35. Design Views 35
  36. 36. 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 36
  37. 37. Icons, 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 37
  38. 38. All 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 38
  39. 39. 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 39 39
  40. 40. 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 40
  41. 41. A Code Tour of SuperNTF 41
  42. 42. 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 42 42
  43. 43. Creating 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 43
  44. 44. Creating 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; quot;New Documentquot;; WindowTitle) – Turn off the create menu – PLEASE!  Tie the form into one or more views  Compose a document and click 44
  45. 45. 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 45 45
  46. 46. Basics 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 46
  47. 47. 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 47 47
  48. 48. Resources  Download SuperNTF – www.superntf.org  My Blog: www.lotusguru.com – Includes many articles pertaining to SuperNTF, including upcoming features  SuperNTF IdeaJam? – Stay tuned  48 48
  49. 49. Parting 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 49
  50. 50. Sharing is Good  Sharing is good! – Please share your good ideas and useful SuperNTF customizations 50
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×