presentación de...
TRANSCRIPT
www.Avectra.com
#AUDC13
TEN THINGSYOU CAN DO IN TEN MINUTESWITH THE TOOLKIT
1
www.Avectra.com
#AUDC13
WELCOME BACKTO TEN THINGSThe classic AUDC Tech Track session
The netFORUM Toolkit always surprises with clever and inventive ways to develop solutions for your users, so we’re back with ten more things you can do in ten minutes with the Toolkit.
This year we have a mix of tips from clients, implementation and product partners, and Avectra staff. We hope you can use these tips in your own Toolkit development.
For more information please visit
your website:
www.Avectra.com
www.Avectra.com
2
www.Avectra.com
#AUDC13
SAY HELLO TO
photo
OUR TEAM
Catalyst Fire
Aaron Henselin
photo
Old Town IT
David Schlum
photo
HighRoad Solution
Ron McGrath
www.Avectra.com
#AUDC133
photo
Agilutions
Stephen Spruce
photo
American Hospital Association
Grant Denten
photo
AAAA
William Keenan
photo
Avectra
Nilufer Uslu
photo
Avectra
Darryl Hopkins
www.Avectra.com
#AUDC13
jQuery in iWeb(and an added bonus)
Thing 1 and Thing 2
David Schlum
Software Architect
4
www.Avectra.com
#AUDC13
Calculations
5
www.Avectra.com
#AUDC13
Enable/Disable Form Save
6
www.Avectra.com
#AUDC13
Enable/Disable Form Save
7
www.Avectra.com
#AUDC13
Form Cancel Button Confirmation
8
www.Avectra.com
#AUDC13
jQuery (Javascript) in iWeb
9
• Load Javascript through label extension
– Inline Javascript
– External Files
• Special events for Ajax postbacks
www.Avectra.com
#AUDC13
The Magic
10
www.Avectra.com
#AUDC13
Label Extension
11
www.Avectra.com
#AUDC13
Label Extension
12
• Don’t forget to add it to the form!
www.Avectra.com
#AUDC13
The Bonus!
13
• Conditionally execute form extension
– NoExecute[yes]
– NoExecuteSQL[select 'noexecute' where 1=1]
www.Avectra.com
#AUDC13
#3 Event Reg CC and BCC
• We wanted to get registrant info out to the instructors so they could contact the registrant. We decided the easiest way to do that was to was to cc the instructor on registration confirmation. We did not want to create a different template for each event so we implemented the following solution.
14
www.Avectra.com
#AUDC13
Event Extender Columns
• Enter the email addresses:
15
www.Avectra.com
#AUDC13
• Correspondence template:
• When confirmation emails are sent to the registrant, the instructor and staff contact automatically are cc’d and bcc’d.
16
www.Avectra.com
#AUDC13
Steps to Implement
• Add extender columns to ev_event_ext table for the “cc email address” and “bcc email address”.
• Design the “Edit Event” page and add these extender fields to the Form as Form Controls.
• In the correspondence template that goes to registrants as a confirmation email, set the two “alternative” fields on the bottom of the form to go to the parsed values of the two extender fields.
17
www.Avectra.com
#AUDC13
SAY HELLO TOOUR TEAMMeet your amazing team!
Ronald McGrath
www.Avectra.com
#AUDC1318
HighRoad Solution
#4 Using theToolkit’s ExecuteMethod
www.Avectra.com
#AUDC13
Invoices
19
www.Avectra.com
#AUDC13
Confirmations
20
www.Avectra.com
#AUDC1321
How do we retrieve
relational data to power
emails?
www.Avectra.com
#AUDC13
ExecuteMethod
22
www.Avectra.com
#AUDC13
Set-up Stored Procedure
23
www.Avectra.com
#AUDC13
Set-up Web Service
24
www.Avectra.com
#AUDC13
Expose via Web Method
25
www.Avectra.com
#AUDC13
Toolkit Advantages
• More efficient for retrieving complex data types
• Faster retrieval of Big data
• Can be easier to set-up for DBAs
• See ExecuteMethod for more.
26
www.Avectra.com
#AUDC13
• We have used SQL Views in Table’s Lists before: http://wiki.avectra.com/View
• Did you know that you can also use SQL Views as data objects?
www.Avectra.com
#AUDC1327
SQL VIEW asDATA OBJECT#5 Yes, it is doable!
www.Avectra.com
#AUDC13
www.Avectra.com
#AUDC1328
SQL VIEW asDATA OBJECTDisplay Receives Member Benefits Flag on Committee Participation Profile
www.Avectra.com
#AUDC13
www.Avectra.com
#AUDC1329
SQL VIEW asDATA OBJECTOr Make the Flag Available on Committee Participation Templates
www.Avectra.com
#AUDC13
www.Avectra.com
#AUDC1330
SQL VIEW asDATA OBJECTHow?
www.Avectra.com
#AUDC13
www.Avectra.com
#AUDC1331
SQL VIEW asDATA OBJECTThe Object will have a Data Object to the SQL View
www.Avectra.com
#AUDC13
www.Avectra.com
#AUDC1332
SQL VIEW asDATA OBJECTKey Points
• The object must be a DynamicFacade object
• Must check do not save data? flag on data object
• May affect performance: every time the object is loaded, data from the View will also be selected
• Allows quick access to data from a SQL View on:– Toolkit designed forms
– Marketing correspondence templates
– eWeb list content details
www.Avectra.com
#AUDC13
#6 Reports & Sub-Reports
• Grant Denten, American Hospital Association
33
www.Avectra.com
#AUDC13
Principles
• Use sub-report(s) and nest them in main report
• Easier to manage reports this way by breaking complicated report layouts into smaller and more manageable chunks
• Use one sub-report in multiple “main” reports
34
www.Avectra.com
#AUDC13
EVERYDAYDATA CHALLENGES
Create
www.Avectra.com
#AUDC13
Read Update Delete
#7, Aaron Henselin, Catalyst Fire
www.Avectra.com
#AUDC13
What’s wrong with child
forms in netFORUM?• Performance
– Synchronous loading (open child form syndrome)
– Paging
• One size fits all (no extensibility)
• No inline editing
www.Avectra.com
#AUDC13
What’s wrong with child
forms in netFORUM?• Can’t size to fit content
• Usage restrictions
– no wizards
– no action=add
• Placement restrictions
• No search functionality
www.Avectra.com
#AUDC13
CRUD meets its match:DATATABLES
#AUDC13
• True async
• Providers
• SQL
• façade
• fully custom
• Attach anywhere
• Cached
• Instant search
www.Avectra.com
#AUDC13
CRUD meets its match:DATATABLES
#AUDC13
• Pick your provider
• Provider tags
• Placement options
• Demo!
• Available:
Collective dues: now
Everybody else: 2013?
provider[Avectra.netForum.Data.AsyncDat
aTable.Providers.SQLDataTableServicePro
vider,data]
sql[ac_invoice_detail_x_customer_summar
y {inv_key}]
appendto[DesignedCellOuter]
www.Avectra.com
#AUDC13
#8 Adding HTML to iWeb Form Control
40
Stephen Spruce
Agilutions
CTO and Co-Founder
Developing with netFORUM since 2003
Attended every AUDC
Self proclaimed Process Junkie
Not a web developer
Loves to design and build code tools for reuse
www.Avectra.com
#AUDC13
#8 Adding HTML to iWeb Form Control
• Have you ever wanted to have iWeb Form content longer than 250 characters?
• Have you ever wanted to style iWeb Form content on a form
• Have you ever wanted to add HTML content to an iWeb Form?
41
www.Avectra.com
#AUDC13
Problem
• md_dynamic_form_control.dys_value has 250 character limit
• HTML tags are “stripped” when rendered/stored
42
www.Avectra.com
#AUDC13
Solution
• Table and Forms to store HTML content
• Custom Form Extension to display content on an iWeb Form
43
www.Avectra.com
#AUDC13
Custom Table
44
www.Avectra.com
#AUDC13
#9 Child Form – Static Edit Form
• Have you ever wanted to default an additional property to a record being added by a Child Form?
• You an append additional querystring values using the static edit form property.
45
www.Avectra.com
#AUDC13
Example
• From Event, add event source code, need to default source code type to Event Registration. The Event Key gets set in the grid
46
www.Avectra.com
#AUDC13
Child Form
• On the child form definition, advanced window:
47
www.Avectra.com
#AUDC13
Examples
• Useful for when you need to set data that doesn’t exist in the parent Object.
• Can use parsed values dependent on parent page, for example: &cor_cst_key={dnr_cst_key}
48
www.Avectra.com
#AUDC13
#10 &Design=yes|no Toggle
49
www.Avectra.com
#AUDC13
iWeb Toggle
• Beginning in netFORUM 2011, you can add &design=no to hide the Toolkit design links in iWeb.
• Useful when you’re doing Toolkit development, but want to see netFORUM without the design links so you can see what the page will look like from the end user’s perspective.
50
www.Avectra.com
#AUDC13
Adding Design Toggle Favorites
• Add a browser favorite and enter the following for eWeb
javascript:location.href=location.href.replace(/[&]?design=[a-
z]*/,'')+(location.href.indexOf('?')<0?'?':'')+'&design='+(document.body.in
nerHTML.indexOf('Edit Site Default Content')<0?'yes':'no');
• For iWeb (almost the same):javascript:location.href=location.href.replace(/[&]?design=[a-
z]*/,'')+(location.href.indexOf('?')<0?'?':'')+'&design='+(document.body.in
nerHTML.indexOf('Design this content form')<0?'yes':'no');
• Maybe there’s a way to have one favorite work for both?
51
www.Avectra.com
#AUDC13
THANK YOU
#AUDC1352