Top Banner
Starting Your Application Starting Your Application the SuperNTF Way the SuperNTF Way Kevin Pettitt
50

Start Your Notes App the SuperNTF Way

Jun 12, 2015

Download

Business

Kevin Pettitt

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Start Your Notes App the SuperNTF Way

Starting Your Application Starting Your Application the SuperNTF Waythe SuperNTF Way

Kevin Pettitt

Page 2: Start Your Notes App the SuperNTF Way

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

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

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

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

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

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

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

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

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

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

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

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

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

15

Key Navigation ElementsKey Navigation Elements

Separate frameset for normal use…

Page 16: Start Your Notes App the SuperNTF Way

16

Key Navigation ElementsKey Navigation Elements

…and for administrative functions

Page 17: Start Your Notes App the SuperNTF Way

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

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

19

Centralized Form ConfigurationCentralized Form Configuration

Page 20: Start Your Notes App the SuperNTF Way

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

21

View ConfigurationView Configuration

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

behavior

Page 22: Start Your Notes App the SuperNTF Way

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

23

User Activity TrackingUser Activity Tracking

Consolidated Activity History

Page 24: Start Your Notes App the SuperNTF Way

24

User Activity TrackingUser Activity Tracking

Current Document

Page 25: Start Your Notes App the SuperNTF Way

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

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

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

28

OpenLog Used for Error and Event LoggingOpenLog Used for Error and Event Logging

Page 29: Start Your Notes App the SuperNTF Way

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

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

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

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

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

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

35

Design ViewsDesign Views

Page 36: Start Your Notes App the SuperNTF Way

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

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

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

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

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

41

A Code Tour of SuperNTFA Code Tour of SuperNTF

Page 42: Start Your Notes App the SuperNTF Way

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

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

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

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

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

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

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

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

50

Sharing is GoodSharing is Good

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

customizations