AgileApps Support Wiki Pre Release

Difference between revisions of "HowTo Guides"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Β 
(61 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: 56Β  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===
:* [[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]]
:* [[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]]


===Basic Operations===
===Basic Operations===
Line 16: Line 14:


===Customize Your Interface===
===Customize Your Interface===
:* Future Guide:Create a custom [[Dashboard]] (Home Page) for an application, 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 Guide:Filter a Record [[View]]
<!--:* Future Guide:Filter a Record [[View]]
:* Future Guide:Modify a [[Report]]
:* Future Guide:Modify a [[Report]]
:* Future Guide:Customize Your [[Workspace]]
:* Future Guide:Customize Your [[Workspace]]
-->
:* [[Integrating with SalesForce]]
:* [[Integrating with SalesForce]]


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


===Specialized Operations===
===Specialized Operations===
Line 34: Line 34:
:* [[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]]
:* [[HowTo:Create, Test, and Run an Email Campaign|Create, Test, and Run an Email Campaign]]


==For Application Designers==
==For Application Designers==
These guides tell you how to create and customize applications. You should be familiar with HTML coding and CSS formatting, have a basic understanding of [[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]].


=== Build and Customize Applications===
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]].
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.


;Beginner:
===Beginner===
These guides do not require you to write any code.
:* [[HowTo:Create an Object|Create an Object]] Β 
:* [[HowTo:Create an Object|Create an Object]] Β 
:* Future Guide:Use the Application Wizard to Build a [[Sample Order Processing System]]
:* [[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:
===Intermediate===
:* [[HowTo:Compute a Date Value in a View or Report|Compute a Date Value in a View or Report]]
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]]
:* [[HowTo:Add a Custom Print Button to a Form|Add a Custom Print Button to a Form]]
:* [[HowTo:Add a Custom Print Button to a Form|Add a Custom Print Button to a Form]]
<!--Revise to add the Source Object: Internet, Store, Catalog, ... (many to many)-->
:* [[HowTo:Create Application-Specific Help|Create Application-Specific Help]]
:* Future Guide:Aggregate values for multiple [[Related Record|Related Records]] displayed in a [[Subform]]
:* Future Guide:Automate a standard business process by creating a [[Workflow]]


;Advanced:
This one requires a bit of Java hacking:
These topics begin to take you into the realm of Java programming.
:* [[HowTo:Send Notification Messages to Followers|Send Notification Messages to Followers]]
:* [[HowTo:Write Java Code for Data Policies|Write Java Code for Data Policies]]
:* [[HowTo:Use a Data Policy to Validate Incoming Data|Use a Data Policy to Validate Incoming Data]]
:* [[HowTo:Use a Data Policy to Mask Outgoing Data|Use a Data Policy to Mask Outgoing Data]]
:* Future Guide:Automatically take action when Object data changes (event-Based [[Data Policy]])
:* Future Guide:Automatically take action on specified dates (calendar-Based [[Data Policy]])


===Customize the Application Interface===
See the [[Java Code Samples]] for more great projects.
These are intermediate-level customizations.
Β 
:* [[HowTo:Create a Custom Sidebar Using Graphic Images|Create a Custom Sidebar Using Graphic Images]]
==For Application Developers==
:* Future Guide: Add [[Widget]]s to a custom [[Sidebar]]. Assign them to applications, and display them depending on a user's role.
These are advanced topics that require familiarity with Java code.
:* Future Guide:Use a Custom Web [[Page]] to make a Personalized [[Widget]]
::* Future Guide:Display the Widget in the [[Home Page]] / [[Dashboard]]
::* Future Guide:Display the Widget in the [[Sidebar]]
:* Future Guide:Create a Custom Print Button <!--email-->
:* Future Guide:Collect Data from an External Web Site using [[Web Forms]]
:* Future Guide:Create a [[Site]] that people can access without logging into the platform


=== Build Custom Web Pages ===
=== Build Custom Web Pages ===
These are advanced topics.
:* [[HowTo:Use AJAX and REST in a Web Page to GET data|Use AJAX and REST in a Web Page to GET data]]
:* [[HowTo:Use AJAX and REST in a Web Page to GET data|Use AJAX and REST in a Web Page to GET data]]
:* [[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 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]].
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]].
Line 84: Line 83:
:* Future Guide:Develop using the [[Eclipse Plug-In]]
:* Future Guide:Develop using the [[Eclipse Plug-In]]
:* Future Guide: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 98: 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 Guide:Use the Platform's [[Unit Test Framework]]
:* Future Guide:Use the Platform's [[Unit Test Framework]]
:* Future Guide:Debug using Eclipse
:* Future Guide:Debug using Eclipse
Line 105: Line 95:
:* Future Guide:Deploy Your Work Using [[Packages]] (and use them for backups)
:* Future Guide:Deploy Your Work Using [[Packages]] (and use them for backups)
:* Future Guide:Develop in Teams Using a Version Control System
:* Future Guide:Develop in Teams Using a Version Control System
===Customize Applications===
:* Future Guide:Create a Simple JSP [[Page]] using Java
:* Future Guide:Create an HTML [[Page]] using [[JavaScript Functions]] and the [[REST API]]
::* Future Guide:Make a JSP Page into a [[Web Tab]]
::* Future Guide:Make a JSP Page into a [[Widget]]
::* Future Guide: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 Guide:Create a [[Component]] and a Java Controller
:* Future Guide: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:Use SQL Queries and Java Sets to Get the Inverse of a Complex Query
<!--
:* 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]]
:* Future Guide:Write Programs using the [[REST API]]s
:* [[HowTo:Use the HttpConnection Class to access a web service|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 Guide: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/aadev-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