Difference between revisions of "HowTo Guides"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Β 
(88 intermediate revisions by the same user not shown)
Line 1: Line 1:
Bookmark this page: {{SERVER}}{{SCRIPTPATH}}/HowTo
Bookmark this page: {{SERVER}}{{SCRIPTPATH}}/HowTo
<!-- PLANNED: 54Β  DONE: 20 -->
__TOC__
__TOC__
==For Users==
==For Users==
These guides tell you how to get the most out of the platform. You should be familiar with [[Navigating the User Interface]].
These guides tell you how to get the most out of the platform. You should be familiar with the [[Agent Portal]].


===Platform Access===
===Platform Access===
Line 13: Line 12:
:* [[HowTo:Filter a View to Restrict the Records it Displays|Filter a View to Restrict the Records it Displays]]
:* [[HowTo:Filter a View to Restrict the Records it Displays|Filter a View to Restrict the Records it Displays]]
:* [[HowTo:Generate Printable PDFs for Views, Records, and Reports|Generate Printable PDFs for Views, Records, and Reports]]
:* [[HowTo:Generate Printable PDFs for Views, Records, and Reports|Generate Printable PDFs for Views, Records, and Reports]]
:* [[HowTo:Use Relay for Social Networking, to Monitor Data, and to Track Record Status|Use Relay for Social Networking, to Monitor Data, and to Track Record Status]]
:* [[HowTo:Create a Database View to Join Data from Related Objects|Create a Database View to Join Data from Related Objects]]
:* [[HowTo:Create a Report based on a Database View|Create a Report based on a Database View]]


===Customize Your Interface===
===Customize Your Interface===
:* Future Tutorial:Create a custom [[Dashboard]] (Home Page) to see things at a glance.
<!--:* Future Guide:Create a custom [[Dashboard]] (Dashboard) for an application, to see things at a glance.-->
<!--POSSIBLE: Add the [[Notes widget]] to the dashboard-->
<!--POSSIBLE: Add the [[Notes widget]] to the dashboard-->
:* Future Tutorial:Filter a Record [[View]]
<!--:* Future Guide:Filter a Record [[View]]
:* Future Tutorial:Modify a [[Report]]
:* Future Guide:Modify a [[Report]]
:* Future Tutorial:Customize Your [[Workspace]]
:* Future Guide:Customize Your [[Workspace]]
-->
:* [[Integrating with SalesForce]]


===Manage Your Data===
===Manage Your Data===
:* Future Tutorial:[[Import]] Data
<!--:* [[HowTo:Create a Project|Create a Project]]-->
:* Future Tutorial:Remove Recently Imported Records
:* [[HowTo:Use the Application Wizard to Build a Simple Order Processing System|Use the Application Wizard to Build a Simple Order Processing System]]
:* Future Tutorial:Send an email when a record is created or updated, using a [[Data Policy]]
:* [[HowTo:Import Data from an External System|Import Data from an External System]]
<!--:* Future Guide:Remove Recently Imported Records
:* Future Guide:Send an email when a record is created or updated, using a [[Data Policy]]
-->


===Specialized Operations===
===Specialized Operations===
:* [[HowTo:Create, Test, and Run an Email Campaign|Create, Test, and Run an Email Campaign]]
Β 
:* [[HowTo:Create a Project|Create a Project]]
:* [[HowTo:Create a Database View to Join Data from Related Objects|Create a Database View to Join Data from Related Objects]]
:* [[HowTo:Create a Report based on a Database View|Create a Report based on a Database View]]


==For Application Designers==
==For Application Designers==
These guides tell you how to create and customize applications. You should be familiar with one or more of HTML coding, CSS formatting, or [[JavaScript]], and be adept at [[Navigating the User Interface]].
When you create an application, much is done ''for'' you. The platform automatically constructs record views, forms for adding and updating data, and basic reports. From there, you can begin to customize the application. These guides tell you how to do that. Ideally, you should be familiar with HTML coding and CSS formatting, and be adept at [[Using the Agent Portal]].


===Customize the Application Interface===
For information on design options and step-by-step instructions, that you can use as a template when building your own applications, see [[Article Index]].
:* [[HowTo:Create a Custom Sidebar Using Graphic Images|Create a Custom Sidebar Using Graphic Images]]
:* Future Tutorial:Use a Custom Web [[Page]] to make a Personalized [[Widget]]
::* Future Tutorial:Display the Widget in the [[Home Page]] / [[Dashboard]]
::* Future Tutorial:Display the Widget in the [[Sidebar]]
:* Future Tutorial:Create a Custom Print Button <!--email-->
:* Future Tutorial:Collect Data from an External Web Site using [[Web Forms]]
:* Future Tutorial:Create a [[Site]] that anyone can access without logging into the platform


=== Build and Customize Applications===
===Beginner===
When you create an application, much is done ''for'' you. The platform automatically constructs record views, forms for adding and updating data, and basic reports. From there, you can begin to customize the application.
These guides do not require you to write any code.
:* Future Tutorial:Use the Application Wizard to Build a [[Sample Order Processing System]]
:* [[HowTo:Create an Object|Create an Object]] Β 
:* [[HowTo:Create an Object|Create an Object]] Β 
:* [[HowTo:Compute a Date Value in a View or Report|Compute a Date Value in a View or Report]]
:* [[HowTo:Case Creation from Mobile Devices|Case Creation from Mobile Devices]]
:* [[HowTo:Send Messages to Multiple Recipients|Send Messages to Multiple Recipients]]
===Intermediate===
These guides may require a bit of [[JavaScript]] code. Familiarity is a plus.
:* [[HowTo:Display Customer Data in an Order as a Read-Only Field|Display Customer Data in an Order as a Read-Only Field]]
:* [[HowTo:Display Customer Data in an Order as a Read-Only Field|Display Customer Data in an Order as a Read-Only Field]]
<!--Revise to add the Source Object: Internet, Store, Catalog, ... (many to many)-->
:* [[HowTo:Add a Custom Print Button to a Form|Add a Custom Print Button to a Form]]
:* Future Tutorial:Aggregate values for multiple [[Related Record|Related Records]] displayed a [[Subform]]
:* [[HowTo:Create Application-Specific Help|Create Application-Specific Help]]
:* Future Tutorial:Automate a standard business process by creating a [[Workflow]]
Β 
:* Future Tutorial:Automatically take action when Object data changes (event-Based [[Data Policy]])
This one requires a bit of Java hacking:
:* Future Tutorial:Automatically take action on specified dates (calendar-Based [[Data Policy]])
:* [[HowTo:Send Notification Messages to Followers|Send Notification Messages to Followers]]
Β 
See the [[Java Code Samples]] for more great projects.
Β 
==For Application Developers==
These are advanced topics that require familiarity with Java code.


=== Build Custom Web Pages ===
=== Build Custom Web Pages ===
Line 62: Line 65:
:* [[HowTo:Use AJAX and REST in a Web Page to POST data|Use AJAX and REST in a Web Page to POST data]]
:* [[HowTo:Use AJAX and REST in a Web Page to POST data|Use AJAX and REST in a Web Page to POST data]]


===Customize Applications===
:* [[Lab Exercises#Basic Programming Exercises|Basic Programming Exercises: A Simple JSP Page and a Java Controller]]
:* [[HowTo:Classes, APIs, and Naming Conventions|Classes, APIs, and Naming Conventions]]
:* [[HowTo:Create_a_JSP_Page_and_Java_Controller|Create a JSP page and Java Controller]] (more advanced)
:* [[HowTo:Use a SQL Query to List Records in a Custom Page|Use a SQL Query to List Records in a Custom JSP Page]]
:* [[HowTo:Protect Your Users by Ensuring that Data Never Executes as Code|Protect Your Users by Ensuring that Data Never Executes as Code]]
===Tackle Advanced Projects===
:* [[HowTo:Use a Java Method to Validate Incoming Data|Use a Java Method to Validate Incoming Data]]
:* [[HowTo:Create a Data Handler to Add Data to a Package|Create a Data Handler to Add Data to a Package]]
:* [[HowTo:Use the HttpConnection Class to access a web service|Use the HttpConnection Class to access a web service]]
<!--
==For Platform Developers==
==For Platform Developers==
These guides tell you how to program the platform APIs to take advantage of advanced platform features. You should be familiar with one or more of [[Java]], [[JavaScript]], [[AJAX and REST|AJAX]], [[SQL Syntax|SQL]], and [[REST]].
These guides tell you how to program the platform APIs to create even more sophisticated applications. You should be familiar with one or more of [[Java]], [[JavaScript]], [[AJAX and REST|AJAX]], [[SQL Syntax|SQL]], and [[REST]].


===Set up Your Environment===
===Set up Your Environment===
:* Future Tutorial:Develop using the [[Eclipse Plug-In]]
:* Future Guide:Develop using the [[Eclipse Plug-In]]
:* Future Tutorial:Use the [[Debug Log]] effectively
:* Future Guide:Use the [[Debug Log]] effectively
<!--
Marina wrote:
In some sense even if the tenant debug log has limitation
(would be nice to describe), this is the only way logging the tenant has.
I would like to see the generic guideline in terms of when to use trace vs. debug vs. info levels.
It may be just a reference to the existing wiki page.
Some suggestions in terms of easy separation of multiple apps logging would be nice.
The examples of good types would be nice, e.g. in order to use it for later filtering.
E.g. I use class names as types for easy filtering.
--><!--
--><!--
ToDo: Β 
ToDo: Β 
Line 82: Line 88:
Β Β  - Implement the reflection bits needed to unpack HashMaps & Lists
Β Β  - Implement the reflection bits needed to unpack HashMaps & Lists
Β Β  - Add XML pretty printing.
Β Β  - Add XML pretty printing.
-->
--><!--
:* Future Tutorial:Use the Platform's [[Unit Test Framework]]
:* Future Guide:Use the Platform's [[Unit Test Framework]]
:* Future Tutorial:Debug using Eclipse
:* Future Guide:Debug using Eclipse
Β 
:* Future Tutorial:Develop Safely Using [[Sandboxes]] (and use them for backups)
:* Future Tutorial:Deploy Your Work Using [[Packages]] (and use them for backups)
:* Future Tutorial:Develop in Teams Using a Version Control System
Β 
===Customize Applications===
:* Future Tutorial:Create a Simple JSP [[Page]] using Java
:* Future Tutorial:Create an HTML [[Page]] using [[JavaScript Functions]] and the [[REST API]]
::* Future Tutorial:Make a JSP Page into a [[Web Tab]]
::* Future Tutorial:Make a JSP Page into a [[Widget]]
::* Future Tutorial:Use a JSP Page to Create a Custom [[Action]] Button <!--email-->
Β 
:* [[HowTo:Create a JSP page and Java Controller|Create a JSP page and Java Controller]]
:* Future Tutorial:Create a [[Component]] and a Java Controller
:* Future Tutorial:Create an external [[Site]] wired to a Java Controller


:* [[HowTo:Use a SQL Query to List Records in a Custom Page|Use a SQL Query to List Records in a Custom Page]]
:* Future Guide:Develop Safely Using [[Sandboxes]] (and use them for backups)
:* Future Tutorial:Use SQL Queries and Java Sets to Get the Inverse of a Complex Query
:* Future Guide:Deploy Your Work Using [[Packages]] (and use them for backups)
<!--
:* Future Guide:Develop in Teams Using a Version Control System
:* E.g. All orders last month that do ''not'' include product X. (No related OrderItems point to that product.)
:* Easier to query for orders that do, set-subtract from all orders using <tt>HashSet(HashMap)</tt> constructors and the <tt>set.removeAll(set)</tt> method.
:* Similarly: Use Set Intersection to find all orders that include product X and product Y, using the <tt>set.retainAll(set)</tt> method.
-->
Β 
===Tackle Advanced Projects===
:* [[HowTo:Handle Incoming Emails Programmatically|Handle Incoming Emails Programmatically]]
:* [[HowTo:Create a Data Handler to Add Data to a Package|Create a Data Handler to Add Data to a Package]]
:* [[HowTo:Write Java Code for Data Policies|Write Java Code for Data Policies]]
:* Future Tutorial:Write Programs using the [[REST API]]s
:* Future Tutorial:Use the [[HttpConnection Class]] to access a web service
<!--
Marina wrote:
By a web-service I mean something outside the platform.
E.g. A customer has some information that it don’t want/can’t keep on PaaS. The access to that information is via a gateway server that the company has (e.g. http get, SOAP, json, …). How do I access that gateway from PaaS?
-->
-->
:* Future Tutorial:Programatically add an [[Activity]] or [[Add Note]] <!--NOTE object--> to a record

Latest revision as of 06:51, 21 March 2018

Bookmark this page: https://agileappscloud.info/aawiki-src/HowTo

For Users

These guides tell you how to get the most out of the platform. You should be familiar with the Agent Portal.

Platform Access

Basic Operations

Customize Your Interface

Manage Your Data

Specialized Operations

For Application Designers

When you create an application, much is done for you. The platform automatically constructs record views, forms for adding and updating data, and basic reports. From there, you can begin to customize the application. These guides tell you how to do that. Ideally, you should be familiar with HTML coding and CSS formatting, and be adept at Using the Agent Portal.

For information on design options and step-by-step instructions, that you can use as a template when building your own applications, see Article Index.

Beginner

These guides do not require you to write any code.

Intermediate

These guides may require a bit of JavaScript code. Familiarity is a plus.

This one requires a bit of Java hacking:

See the Java Code Samples for more great projects.

For Application Developers

These are advanced topics that require familiarity with Java code.

Build Custom Web Pages

Customize Applications

Tackle Advanced Projects