Difference between revisions of "HowTo Guides"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Β 
(100 intermediate revisions by the same user not shown)
Line 2: Line 2:
__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]].


===Perform Basic Operations===
===Platform Access===
:* [[HowTo:Login When You Forgot Your Password|Login When You Forgot Your Password]]
:* [[HowTo:Login When You Forgot Your Password|Login When You Forgot Your Password]]
:* [[HowTo:Change Your Password|Change Your Password]]
:* [[HowTo:Change Your Password|Change Your Password]]


===Basic Operations===
:* [[HowTo:Search a View to Find Records|Search a View to Find Records]]
:* [[HowTo:Search a View to Find Records|Search a View to Find Records]]
:* [[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]]
===Customize Your Interface===
<!--:* Future Guide:Create a custom [[Dashboard]] (Dashboard) for an application, to see things at a glance.-->
<!--POSSIBLE: Add the [[Notes widget]] to the dashboard-->
<!--:* Future Guide:Filter a Record [[View]]
:* Future Guide:Modify a [[Report]]
:* Future Guide:Customize Your [[Workspace]]
-->
:* [[Integrating with SalesForce]]
Β 
===Manage Your Data===
<!--:* [[HowTo:Create a Project|Create a Project]]-->
:* [[HowTo:Use the Application Wizard to Build a Simple Order Processing System|Use the Application Wizard to Build a Simple Order Processing System]]
:* [[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===


:* [[HowTo:Create a Database View to Join Data from Related Objects|Create a Database View to Join Data from Related Objects]]
:* [[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]]
:* [[HowTo:Create a Report based on a Database View|Create a Report based on a Database View]]


===Perform Specialized Operations===
==For Application Designers==
:* [[HowTo:Create, Test, and Run an Email Campaign|Create, Test, and Run an Email Campaign]]
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]].
:* [[HowTo:Create a Project|Create a Project]]
Β 
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]].


===Customize Your Interface===
===Beginner===
:* Future:Create a custom [[Dashboard]] (Home Page) to see things at a glance.
These guides do not require you to write any code.
:* Future:Filter a Record [[View]]
:* [[HowTo:Create an Object|Create an Object]] Β 
:* Future:Modify a [[Report]]
:* [[HowTo:Compute a Date Value in a View or Report|Compute a Date Value in a View or Report]]
:* Future:Customize Your [[Workspace]]
:* [[HowTo:Case Creation from Mobile Devices|Case Creation from Mobile Devices]]
:* [[HowTo:Send Messages to Multiple Recipients|Send Messages to Multiple Recipients]]


===Manage Your Data===
===Intermediate===
:* Future:[[Import]] Data
These guides may require a bit of [[JavaScript]] code. Familiarity is a plus.
:* Future:Remove Recently Imported Records
:* [[HowTo:Display Customer Data in an Order as a Read-Only Field|Display Customer Data in an Order as a Read-Only Field]]
:* Future:Send an email when a record is created or updated, using a [[Data Policy]]
:* [[HowTo:Add a Custom Print Button to a Form|Add a Custom Print Button to a Form]]
:* [[HowTo:Create Application-Specific Help|Create Application-Specific Help]]


==For Application Designers==
This one requires a bit of Java hacking:
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]].
:* [[HowTo:Send Notification Messages to Followers|Send Notification Messages to Followers]]


===Customize the Application Interface===
See the [[Java Code Samples]] for more great projects.
:* [[HowTo:Create a Custom Sidebar Using Graphic Images|Create a Custom Sidebar Using Graphic Images]]
:* Future:Use a Custom Web [[Page]] to make a Personalized [[Widget]]
::* Future:Display the Widget in the [[Home Page]] / [[Dashboard]]
::* Future:Display the Widget in the [[Sidebar]]
:* Future:Create a Custom Print Button <!--email-->
:* Future:Collect Data from an External Web Site using [[Web Forms]]
:* Future:Create a [[Site]] that anyone can access without logging into the platform


=== Build and Customize Applications===
==For Application Developers==
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 are advanced topics that require familiarity with Java code.
:* Future:Use the Application Wizard to Build a [[Sample Order Processing System]]
:* [[HowTo:Create an Object|Create an Object]]
:* [[HowTo:Display Customer Data in an Order as a Read-Only Field]]
<!--Revise to add the Source Object: Internet, Store, Catalog, ... (many to many)-->
:* Future:Aggregate values for multiple [[Related Record|''Related'' Records]] displayed a [[Subform]]
:* Future:Automate a standard business process by creating a [[Workflow]]
:* Future:Automatically take action when Object data changes (event-Based [[Data Policy]])
:* Future:Automatically take action on specified dates (calendar-Based [[Data Policy]])


=== Build Custom Web Pages ===
=== Build Custom Web Pages ===
Line 59: 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]], or [[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:Develop using the [[Eclipse Plug-In]]
:* Future Guide:Develop using the [[Eclipse Plug-In]]
:* Future: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 79: 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:Use the Platform's [[Unit Test Framework]]
:* Future Guide:Use the Platform's [[Unit Test Framework]]
:* Future:Debug using Eclipse
:* Future Guide:Debug using Eclipse
Β 
:* Future:Develop Safely Using [[Sandboxes]] (and use them for backups)
:* Future:Deploy Your Work Using [[Packages]] (and use them for backups)
:* Future:Develop in Teams Using a Version Control System
Β 
===Customize Application Pages===
:* Future:Create a Simple JSP [[Page]] using Java
:* Future:Create an HTML [[Page]] using [[JavaScript Functions]] and the [[REST API]]
::* Future:Make a JSP Page into a [[Web Tab]]
::* Future:Make a JSP Page into a [[Widget]]
::* Future: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:Create a [[Component]] and a Java Controller
:* Future: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:Use SQL Queries and Java Sets to Get the Inverse of a Complex Query
:: Notes:
::* 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===
:* Future Guide:Develop Safely Using [[Sandboxes]] (and use them for backups)
:* [[HowTo:Handle Incoming Emails Programmatically|Handle Incoming Emails Programmatically]]
:* Future Guide:Deploy Your Work Using [[Packages]] (and use them for backups)
:* [[HowTo:Create a Data Handler to Add Data to a Package|Create a Data Handler to Add Data to a Package]]
:* Future Guide:Develop in Teams Using a Version Control System
:* [[HowTo:Write Java Code for Data Policies|Write Java Code for Data Policies]]
:* Future:Write Programs using the [[REST API]]s
:* Future: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:Programmatically Add Activities and Notes to records
<!--{{#if: {{ShowIsvInfo}} |
==For ISVs==
:* ...
}}-->

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