Build your own experience on TechAppForce
Three SDKs for three places your code runs: your own front end, the platform's services, and the platform's screens.
TypeScript client SDK
0.xBuild your own experience on the TechAppForce back end: a framework-agnostic TypeScript core, an Angular adapter with platform components, and React hooks.
What it covers
- Authentication: sign-in, token storage, one refresh and retry on 401
- Data:
entity(name).list/get/create/update/remove, a query builder, saved queries and bulk insert - Workflow: available statuses, transitions by status name, approvals and running workflows
- Notifications and an inbox, with real-time updates over SignalR
- UI: 17 Angular components such as
<taf-grid>,<taf-form>,<taf-inbox>and<taf-card>, shipped without styling so your theme applies - React: a provider and hooks for the same client; React UI components are coming soon
- Identity, menus, roles, users, permissions, files, metadata, comments, lookups, people, reports and Virtual URLs
Packages
taf-client-coreFramework-agnostic core: HTTP, auth, writestaf-client-dataRecords and queriestaf-client-workflowLifecycles, approvals, workflowstaf-client-angularAngular providers and injection tokenstaf-client-reactReact provider and hookstaf-grid-angular and 16 moreAngular UI components
40 packages in total, currently published under an interim npm scope at 0.x versions. The official package scope is coming soon; ask us for access.
View SDK documentationimport { inject } from '@angular/core';
import { TAF_DATA, TAF_WORKFLOW } from 'taf-client-angular';
import { RelOp } from 'taf-client-core';
const data = inject(TAF_DATA);
const workflow = inject(TAF_WORKFLOW);
const pending = await data.entity('Vendor').query()
.where('Country', RelOp.EqualTo, 'India')
.orderBy('Name')
.take(25)
.toArray();
await workflow.transitionTo('Vendor', pending[0].Id as string, 'Approved');.NET SDKs
Every platform service ships a .NET client, and the shared libraries define the extension points your C# plugs into.
What it covers
- Service clients for data, metadata, reports, files, notifications, templates and the code executor
- The query-hook contracts:
IValidationHook,IPreExecutionHook,IPostExecutionHookandHookContext - The workflow action contract
IWorkflowActionfor custom workflow actions - Shared messaging and result types for building your own services on the same foundation
Packages
TAF.CRUD.SDK6.7.0Data API client and query builderTAF.Report.SDK1.1.0Reports clientTAF.Template.SDK1.1.0Liquid template renderingTAF.CodeExecutor.SDK1.3.0Code executor clientTAF.Infra.QueryHook2.3.1Hook interfaces and HookContextTAF.Infra.WorkflowAction1.0.6Custom workflow action contractTAF.Infra.MassTransit2.5.0Messaging and CQRS base typesTAF.Infra.Contract1.11.9Result and filter types
Packages target .NET 8. Versions are those in the current development branches.
Explore .NET SDKsusing TAF.Infra.QueryHook.Interfaces;
using TAF.Infra.QueryHook.Models;
public class NormaliseEmail : IPreExecutionHook
{
public Task PreExecuteAsync(HookContext context)
{
if (context.Fields.TryGetValue("Email", out var email) && email is string s)
context.Fields["Email"] = s.Trim().ToLowerInvariant();
return Task.CompletedTask;
}
}TAF SDK for screen extensions
0.0.74The browser-side API available to screen extensions and custom components inside the TechAppForce runtime.
What it covers
TabSdk.crud: insert, update, delete, bulk insert, saved queries, stored procedures, record history, search and importTabSdk.ui: dialogs, sidebars, opening screens, confirmations and notificationsTabSdk.form: screens, screen data and form submissionTabSdk.transitionandTabSdk.workflow: statuses, bulk status changes and running workflowsTabSdk.file,report,http,state,signalR,notification,roleandbilling
Packages
@techextensor/tab-sdk0.0.74Screen extension API
export class VendorScreenExtension extends IScreenExtensionBaseClass {
async onAfterSubmit(screenParameters: any) {
TabSdk.ui.showSuccess('Vendor saved');
}
}Stay current with TechAppForce development
One email when something changes that developers should know about.
- New APIs
- SDK updates
- TAF Studio releases
- TAFI updates
- Tutorials
- Developer events