Ever wish you could enter pages of data into QuickBase without lifting a finger? How about aggregating data from an external source but you don't want to set up your own SQL server and build your own reporting tools? Learn to rise above the native QuickBase interface and explore the vast and powerful capabilities QuickBase provides through its API's. It's time to get started with the QuickBase API and build your first tool/script/app.
This presentation describes how a web browser works. From the user request, request processing, getting to DNS server, generating the HTTP request, receiving the HTTP response and finally rendering the HTML page and displaying the webpage to the user as requested, this presentation encompasses the entire process of a web browser fetching a webpage.
PS: Pl download to see the entire presentation with the animation involved. Without the animation few slides may seem to be confusing.
Thank you.
Alfresco: Implementing secure single sign on (SSO) with OpenSAMLJ V
Alfresco Summit 2013 (Barcelona and Boston)
This talk will provide an introduction to the OASIS SAML standard (Security Assertion Markup Language) and then describe in detail how we use OpenSAML to provide secure SSO to Alfresco Cloud in a multi-tenant environment, both in terms of Share and the core Repository. We will demonstrate the steps required for an Enterprise Network Admin to setup a trusted SAML connection ('circle of trust') to their chosen Identity Provider (IdP) such as Centrify, Ping Identity, ForgeRock OpenAM (formerly Sun OpenSSO) or potentially any other type of IdP that supports SAML v2.0. We will also discuss possible future requirements and improvements.
http://summit.alfresco.com/boston/sessions/implementing-secure-single-sign-sso-opensaml
http://www.youtube.com/watch?v=KroIZa1co6g
IBM & HCL partnership on Informix. Informix 12.10.xC9 and xC8 feature highlights. Slides from "Jump Start with the enhanced Informix" webcast on 13 July, 2017
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
Unifies data in motion, data in-use, data at rest and computations.
It carefully blends traditional pub/sub with distributed queries, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.
It provides built-in support for geo-distributed storages and distributed computations
This presentation describes how a web browser works. From the user request, request processing, getting to DNS server, generating the HTTP request, receiving the HTTP response and finally rendering the HTML page and displaying the webpage to the user as requested, this presentation encompasses the entire process of a web browser fetching a webpage.
PS: Pl download to see the entire presentation with the animation involved. Without the animation few slides may seem to be confusing.
Thank you.
Alfresco: Implementing secure single sign on (SSO) with OpenSAMLJ V
Alfresco Summit 2013 (Barcelona and Boston)
This talk will provide an introduction to the OASIS SAML standard (Security Assertion Markup Language) and then describe in detail how we use OpenSAML to provide secure SSO to Alfresco Cloud in a multi-tenant environment, both in terms of Share and the core Repository. We will demonstrate the steps required for an Enterprise Network Admin to setup a trusted SAML connection ('circle of trust') to their chosen Identity Provider (IdP) such as Centrify, Ping Identity, ForgeRock OpenAM (formerly Sun OpenSSO) or potentially any other type of IdP that supports SAML v2.0. We will also discuss possible future requirements and improvements.
http://summit.alfresco.com/boston/sessions/implementing-secure-single-sign-sso-opensaml
http://www.youtube.com/watch?v=KroIZa1co6g
IBM & HCL partnership on Informix. Informix 12.10.xC9 and xC8 feature highlights. Slides from "Jump Start with the enhanced Informix" webcast on 13 July, 2017
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
Unifies data in motion, data in-use, data at rest and computations.
It carefully blends traditional pub/sub with distributed queries, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.
It provides built-in support for geo-distributed storages and distributed computations
Navigating the NIH K Award Process (2021)UCLA CTSI
Navigating the NIH K Award Process
Presented by Carol M. Mangione, MD, MSPH
Barbara A. Levey MD & Gerald S. Levey MD Endowed Chair
Professor of Medicine and Public Health at UCLA
Chief, Division of General Internal Medicine and Health Services Research
Associate Director, UCLA CTSI
Leader, UCLA CTSI Workforce Development
HTTP response status codes indicates the status of the Web Page , Server or API . Client error and Server error are the common faced errors. Error are mainly analyzed during browsing a web page, API Testing and Load Testing
Jeff Scudder, Eric Bidelman
The number of APIs made available for Google products has exploded from a handful to a slew! Get
the big picture on what is possible with the APIs for everything from YouTube, to Spreadsheets, to
Search, to Translate. We'll go over a few tools to help you get started and the things these APIs share
in common. After this session picking up new Google APIs will be a snap.
Apache Sling is an OSGi-based, scriptable applications layer, using REST principles, that runs on top of a JCR content repository. In this talk, we'll see how Sling enables rapid development of JCR-based content applications, by leveraging the JSR 223 scripting framework. We'll also look at the rich set of OSGi components provided by Sling. We will create a simple application from scratch in a few minutes, and explain a more complex multimedia application that does a lot with just a few lines of code. This talk will help you get started with Sling and understand how the different components fit together.
Navigating the NIH K Award Process (2021)UCLA CTSI
Navigating the NIH K Award Process
Presented by Carol M. Mangione, MD, MSPH
Barbara A. Levey MD & Gerald S. Levey MD Endowed Chair
Professor of Medicine and Public Health at UCLA
Chief, Division of General Internal Medicine and Health Services Research
Associate Director, UCLA CTSI
Leader, UCLA CTSI Workforce Development
HTTP response status codes indicates the status of the Web Page , Server or API . Client error and Server error are the common faced errors. Error are mainly analyzed during browsing a web page, API Testing and Load Testing
Jeff Scudder, Eric Bidelman
The number of APIs made available for Google products has exploded from a handful to a slew! Get
the big picture on what is possible with the APIs for everything from YouTube, to Spreadsheets, to
Search, to Translate. We'll go over a few tools to help you get started and the things these APIs share
in common. After this session picking up new Google APIs will be a snap.
Apache Sling is an OSGi-based, scriptable applications layer, using REST principles, that runs on top of a JCR content repository. In this talk, we'll see how Sling enables rapid development of JCR-based content applications, by leveraging the JSR 223 scripting framework. We'll also look at the rich set of OSGi components provided by Sling. We will create a simple application from scratch in a few minutes, and explain a more complex multimedia application that does a lot with just a few lines of code. This talk will help you get started with Sling and understand how the different components fit together.
This get started tutorial takes users through the creation of a simple FourSquare clone using the MoSync Reload SDK and cloudbase.io as a backend platform http://cloudbase.io http://www.mosync.com
InterConnect2016: WebApp Architectures with Java and Node.jsChris Bailey
Java has been the historical leader for enterprise web application development. However, Node.js is rapidly gaining in popularity for developing mobile apps, APIs and web applications. Java and Node.js are complimentary tools for enterprise web application development and this session will highlight the strengths and complimentary nature of each.
Presented at IBM InterConnect 2016
Tutorial 1: Your First Science App - Araport Developer WorkshopVivek Krishnakumar
Slide deck pertaining to Tutorial 1 of the Araport Developer Workshop conducted at TACC, Austin TX on November 5, 2014.
Presented by Vivek Krishnakumar
After a day of learning about the exciting features of Forge, get ready for a peek under the hood to discover how it’s all implemented. Join Forge Architect Patrick Streule as he goes deep on topics such as Forge FaaS infrastructure, the internal workings of tenant isolation, and automatic authentication.
Attendees will also get a glimpse of some features we’re looking at building into the future of Forge, such as a serverless data store for apps and more!
Code First with Serverless Azure FunctionsJeremy Likness
Learn about the new trend in cloud computing called serverless. See how it is implemented using Azure Functions and Logic Apps, advanced monitoring with Application Insights, and examples written in Node.js.
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien
Discussion of Azure web apps, App Insights, "Azure Functions in the real world", ARM templates, queues, BLOB storage and more. Includes a video demo of AAD-secured Azure Function called from a SharePoint Framework (SPFx) web part with SPO cookie auth.
Similar to Saving Time And Effort With QuickBase Api - Sergio Haro (20)
Learn why attending EMPOWER 2017 can help you grow your QuickBase skill set, optimize your processes, and transform your organization. Get a first look into some of EMPOWER’s most anticipated sessions!
Every day, inspection managers, auditors, and safety and health engineers are tasked with monitoring risk, documenting incidents and maintaining compliance with OSHA and other industry standards for safety. Securing the accurate and ongoing execution of these standards is a challenge that seems to be expected from the job.
With QuickBase, building an Audit Management app that fits your existing audit processes exactly has never been easier. Ensure the accurate and ongoing execution of your audits and be confident that you’re running a safe and successful business.
Shrinking the Custom Application Development Cycle with Low-Code PlatformsQuickBase, Inc.
Enterprises are constantly seeking to raise speed and agility through software. This requires IT to address complex business requirements with an eye for customer experience and mobility. Until now, these builds meant long and expensive development cycles, on-site maintenance and updates. In short, these builds lack the flexibility required for today’s business environment.
Not anymore.
With the advent of low-code platforms, the time, skills, and resources required for building custom applications that meet complex business requirements have been dramatically reduced.
QuickBase Digital Transformation Survey InfographicQuickBase, Inc.
Research from the QuickBase Digital Transformation Survey contains insights into the current state and progress of digital transformation for organizations pursuing these efforts. QuickBase checked in with 301 senior IT and operations professionals representing diverse industries about where they are with their use of technologies that empower employees to lead change that improves business performance, transparency, efficiency, speed and agility.
Creating an IT Revolution within your Organization - QuickBase, Inc. at CIO V...QuickBase, Inc.
CIO Visions presentation by QuickBase, Inc. highlighting the major market trends of Digital Transformation, Citizen Development, Unification of Business & IT, and the Broadening App Ecosystem. Ankit Shah, Senior Manager, Product Marketing
Guiding Principles on Effective Rapid Application Development QuickBase, Inc.
In an environment of increasing digital transformation, technology leaders are supporting teams that require solutions in days or weeks, not months.
In this webinar recording, guest speaker John Rymer (Principal Analyst, Forrester Research) discussed how low-code platforms are now on the rise to help you keep pace with this trend, your competitors, and your employees:
- Understand the limitations and implications of traditional software delivery
- Learn how low-code platforms are changing the game by increasing the pace of app delivery and experimentation, lowering start-up costs, and empowering end users to build on their own while adhering to IT governance
- Hear best-in-class practices for evaluating low-code platforms and organizing your technology resources to achieve success
QuickBase for the Outside World: Building for Field Users, Clients and VendorsQuickBase, Inc.
If your QuickBase apps don't serve workers in the field, mobile users, clients or vendors, you’re missing tremendous value, and we’ll show you how to get it. In this session, you'll learn how to integrate users outside of company headquarters to achieve seamless communication, visibility, tracking, and performance. This includes mobile and tablet users with work assignments, electronic signatures, approvals, scanning/QR codes, electronic payments, and more. Take QuickBase to the next level of power and value with these practices.
There was a time when businesses had to purchase a different software for every little task or department or buy an expensive enterprise resource planning (ERP) system. But now there's a better way. For many companies, QuickBase can be an all-in-one hub for the entire business. In this session, you'll learn how Legacy Flooring, LLC has grown 800% in under one year thanks to a powerful QuickBase ERP. You're guaranteed to emerge with insights that can propel your own business forward with the strength of an integrated system of apps.
Notifications: Keep Your Team Moving with Perfect Reminders and Subscription ...QuickBase, Inc.
A well-run team is a well-informed team, but it can be challenging to create the right workflow. Learn how Forrest Parker, a Business Systems Analyst and Oldcastle Materials, uses QuickBase notifications to drive workflow and keep users working at maximum efficiency. You'll also learn how to maximize your report-building strategy to keep the clutter out of your inbox. By the end of this session, you'll be full of new ideas for improving your team's efficiency and end user satisfaction with your QuickBase apps.
Mastering Form Rules and Formulas in QuickBaseQuickBase, Inc.
Form rules and formulas are the beating heart of a dynamic QuickBase app. In this session, you'll learn best practices and creative use cases for both from QuickBase Sales Engineer Kirk Trachy and J. Lodge Database Director Craig McElroy. You'll leave with over 50 new ideas and reusable formulas to solve almost any workflow need. Bring your questions and use cases to this highly interactive session.
How StubHub Got Its Projects In-Line with QuickBaseQuickBase, Inc.
For a busy creative department, every project is built from dozens of moving parts, from staff to assets to approvals and beyond. In this session, StubHub Project Manager Dennis Kang shares the story of how his company was able to use QuickBase to replace Microsoft SharePoint for project management. The result was a 1-3 day reduction in the key approvals process. You'll learn best practices for managing stakeholders, resources, and users to get your app delivering huge value sooner than you think.
How Spyder Trap Transformed Its Business with QuickBase SyncQuickBase, Inc.
As a busy digital marketing agency, Spyder Trap is always working on new projects for its customers. Managing billing, invoicing, payments and commissions for each project was a highly complex task for the company's small financial team. In this session, you'll learn how Spyder Trap leveraged QuickBase Sync to seamlessly connect QuickBooks Online with QuickBase for a true end-to-end project management system. You'll emerge from this session with your own ideas for how connecting other cloud apps to QuickBase can improve your company's processes.
How QuickBase Sync Will Change the Way You Solve ProblemsQuickBase, Inc.
QuickBase Sync, our new out-of-the-box data integration capability, makes it easy to connect with and bring in data from cloud applications like QuickBooks Online, Salesforce, Bill.com, Intacct, Netsuite, Zendesk and Zuora. What does having the ability to create live connected tables that automatically sync data from external applications mean for you? In this session, we'll share specific examples of how to use Sync to solve key business problems in new and exciting ways. You'll walk away with the ideas and know-how you need to reinvent the way you solve problems at your company.
Guiding Principles for the Low Code Revolution – Intuit QuickBase EMPOWER2015...QuickBase, Inc.
In an environment of increasing digital transformation, technology leaders are supporting teams that require solutions in days or weeks, not months.
Low-code platforms are now on the rise to help you keep pace with this trend, your competitors, and your employees.
Understand the limitations and implications of traditional software delivery
Learn how low-code platforms are changing the game by increasing the pace of app delivery and experimentation, lowering start-up costs, and empowering end users to build on their own while adhering to IT governance
Hear best-in-class practices for evaluating low-code platforms and organizing your technology resources to achieve success
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
2. How does this help you?
Integration
– Export/Import data from external sources (SQL / MS Access)
– Automate data entry
– Mash-ups (Add QuickBase data to other websites)
– See upcoming presentations ‘Connecting QuickBase with Databases’ and
‘Website Integration with QuickBase ‘
Custom Business Logic
– Pull data to perform custom logic
– Insert calculated data back
Custom UI
– Build your own app or website with QuickBase as your backing store
– Bypass the native UI to simplify or expand its capabilities
3. Jump-Start with SDK @ code.intuit.com
Browser-Based
• JavaScript
- Good for db-pages (beware of cross-domain policy if using on external websites)
- http://intuitlabs.com/apps/yql-and-intuit-quickbase (Getting around cross-domain)
- See upcoming sessions ‘Magic Buttons’ and ‘Building a QuickBase Mobile Application’
Scripting Languages
• Ruby
- http://www.ruby-lang.org
- Object-oriented scripting language
- Write scripts in your favorite text editor
- See upcoming session ‘Integrating with QuickBase Web Services’
• VB
- http://msdn.microsoft.com/en-us/vbasic/
- Build VB scripts in Visual Studio (Windows only)
• Perl
- http://www.perl.org/
- Write scripts in your favorite text editor
General Programming Languages
• C#
- http://msdn.microsoft.com/en-us/vcsharp/
- Build C#apps in Visual Studio (Windows only)
• Java
- http://java.sun.com/
- Build Java apps with your favorite IDE (Eclipse, NetBeans, etc)
4. How does it work?
You QuickBase
HTTP (GET or POST)
XML
13. Components of an API Call
1. Scope
1. Action to perform
2. Parameters for action
• Set in the URL and/or Body
• Dependent on action
• Encoded as XML or Form
14. Parameters for Action (API_FindDBByName)
Parameter: Value
dbname: Test API
ticket: kiedzc4rtab8gqdr6
apptoken: asfkhlk35rnl4nn
20. What will I get back?
<?xml version="1.0" ?>
<qdbapi>
<action>API_FindDBByName</action>
<errcode>0</errcode>
<errtext>No error</errtext>
<dbid>57pa5vjf</dbid>
<dbname>Test API</dbname>
</qdbapi>
21. Example
09-15 02:49:58.550 I366aswux2 Process: Req: 0.013 [LB: 0.003 WS: 0.004 Q: 0.004] Bytes=[R: 0 W: 24957] Uid=56752832 OP=/db/main
• Date
• Time
• Request ID
• Logging Function
• Request Time
• Load Balancer time
• App Server time
• Queue time
• Bytes Read
• Bytes Written
• User ID
• URL
So how does this help you?The QuickBase API is a powerful interface giving you programmatic access to record data and application schemas.With the API, you can integrate QuickBase with the rest of your business process by pushing or pulling data to QuickBase from your other solutions.With the API, you can provide you own custom Business Logic, by pulling the necessary data from QuickBase and running you logic on that data set.With the API, you can even create your own custom UI to simplify or expand the native QuickBase interface.
To get jump started with our API, try using one of the many SDK’s we provide on code.intuit.comWe have a support for a variety of different languages, with an almost indentical feature set in each one. It all depends on your language preference. And if you don’t see something you like, with the information in this session you’ll be able to write your own library in a breeze.If you want more details on either our Javascript or Ruby SDK, stay tuned for some of our upcoming presentations which will go more in depth into those particular languages.
So how does the QuickBase API work?Fundamentally, it’s a simple pseudo-REST HTTP API. You simply make an HTTP request to QuickBase and QuickBase will return an answer as XML.Before we go farther, lets remind ourselves what an http request is. HTTP requests happen all the time. Its what your web browser does when you type a url into it. And it consists of 3 basic parts.
It all starts with a URL. This is basically tells us where the request should go
The second part of the HTTP request is the Headers. These are basically meta-data about the request. The example on the screen is a request I got using Firebug when my web browser requested a page from QuickBase.
Finally, an HTTP request might also have a body. Inside the body, you put any data that you want to send to the server.The body is only sent when you perform an HTTP POST, as opposed to an HTTP GET. This is called POSTing data to the server. In your web browser, this happens whenever you submit a form. Your web browser creates an HTTP request, automatically takes the data that you entered, and sets the body of the http request to be that data.
The first component is the scope. The scope of the api call basically tells us what object you want to call with the API.
QuickBase can use all 3 of these pieces to form an API call.Each API call will also be made up of 3 basic components. Don’t worry, I’ll explain each one.
In QuickBase, we have 3 basic objects you can make an API call on.The main object is a place holder for any API’s that doesn’t use a particular application or table.In an API call, You tell us the object by putting it in the URL as shown.
The second part of any API call is the name of the action you want to take. Or in programming speak, these is the name function that should be execute with your request.You can pass us the name of the action in any part of the HTTP request.
If you want to tell us the action in the header, just add a new header called Quickbase-Action.If you want to tell us the action in the URL, add a new key-value pair into the query string of the URL (basically anything after a question mark in a URL.)I won’t go into detail about the Body because the recommended way is to put the action in the URL.
The last part of an API call is the parameters or arguments that are needed for the particular action you want to take. Again there are multiple ways to do this. You can provide the parameters as form-urlencoded or as xml. And you can even inter-mix the different methods.
So to explain this more concretely, lets take an actual example. We’ll use API_FindDBByName. This api is pretty simple, basically, you pass in the name of an application or table and QuickBase will return the ID of that application/table if it exists.It takes 3 parameters (dbname, ticket, and apptoken). The ticket and apptoken are actually required by the majority of API’s. The ticket tells us what user to run the request as. An the apptoken is a special random string you can add to your applications to protect it from people calling API’s on it without your consent. The ticket parameter in the request is the authentication ticket. QuickBase uses this ticket to verify the caller’s identity and authority to perform the requested operation. A valid ticket will be returned when a valid user name/password is passed into any function. In particular the function API_Authenticate may be used to get a valid ticket. Only the function API_Authenticate will return a cookie with the ticket. All other API functions will only return the ticket as part of the XML response.The ticket is necessary if you are calling on behalf of a user. If you want to make a call without a ticket, you need to make sure your app is open to everyone on the internet.An apptoken can be added to each of your apps for added security. (Thus a api call would require both a ticket (specific to User) and an apptoken (specific to App).
If you decide on the XML route, the format is pretty simple. The root tag should always be qdbapi. The child tags will then be names of the parameters. So your xml will always be in one layer. Always make sure to XML encode your values or you might see strange things.
So to Solidify the example, this is what our http request will finally look like with XML data.
The second way of passing parameters to quickbase is using form-urlencoding. This is how your browser submits forms. Basically, it’s a long string where you write the parameter names “equals” the value. Each pair is separated by the & sign. If you use this method make sure to url encode the values you pass in or you might see some funky behavior.
Again, here’s an http request using form encoding
Now, if you take the body of the previous request and paste it to the end of the url, you’ll achieve the very same thing. For quick tests or debugging this is great. However, be forewarned that this can be a security hole because people in the network will be able to see your data.This is why we recommend putting the data in the http request body, once you’re ready to deploy your code.
So now that you’ve sent the request, what are you going to get back.Some of the API calls return HTML, or JSON. But XML is the primary format for the QuickBase API. And it looks very similar to the XML you send to us. Again the root tag is “qdbapi”.Inside of the root, you’ll find a variety of tags depending on the action. You will always get back the action, errcode, and errtext. The rest depends on the specific API you are calling. If your api was successful, the errcode will be 0. However if something went wrong you’ll see a number other than zero. Inside of the errtext you might find useful information detailing what the problem was. For API_FindDBByName, we are interested in the dbid tag.
So if we want to step into some real code now. I’ll share with you one of the recent pieces of code I wrote that used the QuickBase API.So in the QuickBase PD team, as we were developing a certain new feature, we had to find a way to measure the performance benefit of introducing this feature. However, with the complexity of the codebase, we did not want to spend a lot of time instrumenting the code. What we discovered was that our web server logs actually contained pretty much every measurement we were interested in. In this case it was the request time, load balancer time, app server time, and the time spent in queues. Unfortunately, one of our simulation runs could take a very long time. Too long to stick around to input the data by hand.So I went ahead a built a script in C# that took the server logs and parsed them (extracting the necessary information). Once I had the data, I would upload the data to QuickBase. What this allowed us to do is leave our simulations running over night, and the next day I could log into QuickBase and look at all the results.
My script has the same core as what I suspect most of your scripts will do. I took some input, parsed it to get the necessary information, ran some computations, and then returned the result. However, instead of doing a printf, I uploaded the data into QuickBase where I could run all sorts of fancy graphs and reportsThe portion of the code dealing with QuickBase was structured very similarly to how I outlined an http request earlier. Oh, and for the size of the script, I didn’t find the need to download and set up the C# SDK. Instead I just wrote my own http requests.
So the code here is broken up into 4 sections. The first part of the code calls a helper function to build the xml body.
You can see that code on this page. Unfortunately, C# has some monolothic methods for manipulating XML. Some of the newer languages can treat XML as a built in type. But anyways, the format is quite simple. The first step creates the root node. I then go and create all the children with their specified tag names and set their value. Finally, I convert my xml document into a string.
Now if we go back to the main function. The next step is to create the HTTP request. This is where you set the URL.
Then I set all the HTTP headers
Finally, I set the body of the request. Unfortunately, C# requires me to convert the string to bytes which is why it looks so nasty.But that’s basically it. Its quite simple really, The only real work is in putting together the data that we’ll send to quickbase. The actual http request and all the heavy lifting is usually taken care of by the standard libraries of the language you choose.
So these urls are some links to our API documentation. Don’t worry about copying them down. This presentation should be posted online for you all to download freely. Make sure to stay tuned for the following presentations to see some more in-depth examples that use the QuickBase API.