App Engine — Creator Workflows / Low-Code
اقرأ أولاً: ../MASTER_ALL_IN_ONE_SUMMARY.md · ../html/MASTER_ALL_IN_ONE_SUMMARY.html
الدليل الشامل: ../MASTER_ALL_IN_ONE.md · ../html/MASTER_ALL_IN_ONE.html
ممارسة الشاشات: ../html/MASTER_PRACTICE_GUIDE_ALL_TOPICS.html
Australia · Scopex_786686_hr_leave
Australia Instance — نسخة أستراليا
| Setting | Value |
|---|---|
| Region / Datacenter | ServiceNow Australia |
| Release train | Zurich (Sep 2026 EA) · next EA: Brazil |
| URL base | {BASE} |
| Scope note | HR Leave app: x_786686_hr_leave |
| Guided Setup | {BASE}/now/guided-setup |
Direct Navigation URLs — روابط التنقل المباشرة
| Page / Tool | Navigation Path | Direct URL | Purpose |
|---|---|---|---|
| App Engine Studio | All > App Engine > App Engine Studio | {BASE}/now/app-engine-studio/home | Low-code builder |
| Workflow Studio | All > Process Automation > Workflow Studio | {BASE}/now/workflow-studio/home | Visual workflows |
| Mobile Studio | All > Mobile Studio | {BASE}/now/mobile-studio/home | Mobile applets |
| UI Builder | All > Now Experience > UI Builder | {BASE}/now/ui-builder | Workspace pages |
| Application Repository | All > System Applications > Application Repository | {BASE}/sys_repo_application_list.do | Internal app store |
| Tables | All > System Definition > Tables | {BASE}/sys_db_object_list.do | Data model |
| Service Portal Configurator | All > Service Portal > Configurator | {BASE}/now/sp-configurator/home | Portal builder |
| App Scan | All > App Engine > App Scan | {BASE}/now/app-scan/home | Quality & security |
| Delegated Development | All > System Applications > Delegated Development | {BASE}/sys_delegated_development_list.do | Citizen dev roles |
| Guided Setup App Engine | All > Guided Setup | {BASE}/now/guided-setup | Initial configuration |
Platform target: ServiceNow Australia (Sep 2026) · next EA: Brazil
URLs: ../../SERVICENOW_DIRECT_URLS_CATALOG.md · 1-week: ../../SERVICENOW_ONE_WEEK_STUDY_DEPLOY_AUSTRALIA.md
HR Leave: Scope x_786686_hr_leave
App Engine — تطوير منخفض الكود
Comprehensive guide for building custom apps with App Engine Studio, Mobile Studio, Workflow Studio, and Now Assist for Creators (Zurich 2025).
دليل شامل لبناء تطبيقات مخصصة باستخدام App Engine Studio، Mobile Studio، Workflow Studio، و Now Assist للمطورين منخفضي الكود.
§1 — What is App Engine? / ما هو App Engine؟
App Engine is ServiceNow’s low-code/no-code platform for citizen developers and pro developers to build custom applications quickly. It bundles:
- App Engine Studio (AES) — visual app builder
- Workflow Studio — drag-drop flow designer
- Mobile Studio — native mobile app builder
- Service Portal Configurator — quick portal building
- UI Builder — Workspace pages
- Now Assist for Creators — AI-assisted app generation — App Engine منصة تطوير منخفض/بدون كود من ServiceNow تتيح للمطورين بناء تطبيقات مخصصة بسرعة.
1.1 Licensing tiers
| Tier | Description | Use cases |
|---|---|---|
| App Engine Standard | Base apps, no AI | Internal tools, simple workflows |
| App Engine Plus | Adds Process Optimization, UI Builder advanced | Department apps |
| Pro Builders | Pro dev + admins | Cross-functional apps |
| Creators (Citizen) | Business users with template gallery | Personal productivity, simple forms |
§2 — Plugin Activation / تفعيل الإضافات
- com.glide.app_engine_studio (AES)
- com.glide.process_automation (PAD/Workflow Studio)
- com.snc.app_engine_management (Admin)
- com.glide.mobile_studio (Mobile Studio)
- com.glide.ui_builder (UI Builder)
- com.glide.now_assist_creator (AI assist)
§3 — App Engine Studio (AES) Walkthrough
3.1 Launching AES
All > App Engine > App Engine Studio (or /now/app-engine-studio). — Open direct
3.2 Three creation paths
| Path | When to use |
|---|---|
| Start from blank | Maximum control |
| Start from template | Common patterns (Asset request, Approvals, Site visits) |
| Start with AI (Now Assist) | Describe in natural language → AI generates app skeleton |
3.3 The 5 building blocks
┌─────────────────────────────────────────────────────────┐
│ 1. DATA ──▶ tables (master, transactional, lookup) │
│ 2. UI ──▶ forms, lists, mobile, portal │
│ 3. LOGIC ──▶ workflows, business rules, scripts │
│ 4. EXPERIENCES ──▶ workspaces, portals, mobile │
│ 5. CONNECTIONS ──▶ integrations to external systems │
└─────────────────────────────────────────────────────────┘
3.4 Worked example: Visitor Management App
Step 1 — Create app
AES > Create App > "Visitor Management" > Scope: x_acme_visitor
Step 2 — Add Data table
Table x_acme_visitor_visit:
- first_name (String)
- last_name (String)
- email (Email)
- host_employee (Reference → sys_user)
- visit_date (Date)
- visit_purpose (Choice: Meeting | Interview | Delivery | Tour | Other)
- badge_number (String, auto-numbered)
- check_in_time (Date/Time)
- check_out_time (Date/Time)
- state (Choice: Pending | Approved | Checked In | Checked Out | Cancelled)
Step 3 — Add UI (form layout)
Form sections: Visitor Info | Visit Details | Check-In/Out
Step 4 — Add Logic (Workflow Studio)
Flow: “Visitor Approval”
Trigger: Visitor record created
Step 1: Send email to host with approve/reject link
Step 2: Wait for response (max 4 hours)
Step 3a (approve): Set state = Approved + generate QR badge
Step 3b (reject): Set state = Cancelled + notify visitor
Step 4: Day-of arrival reminder (email + SMS)
Step 5 — Add Experiences
- Portal page /visitors for self-registration
- Workspace for reception desk
- Mobile app for host approvals
Step 6 — Add Connections
- Active Directory (host validation)
- Door access system (badge activation)
- Twilio (SMS)
Step 7 — Publish + share
AES > Publish > Set roles > Add to Application Repository
§4 — Workflow Studio Deep Dive
Workflow Studio = Flow Designer + Decision Builder + Process Automation Designer (PAD).
4.1 Component comparison
| Component | Best for | Example |
|---|---|---|
| Flow Designer | Background automation, integration | Auto-create user from HRIS |
| Subflow | Reusable logic | “Send branded email” |
| Action | Atomic step | “Look up CMDB CI” |
| Decision Table | Business rules in matrix | Tax calculation per region |
| Decision Builder | Visual decision tree | Routing per criteria |
| Process Automation (PAD) | User-facing playbooks | Onboarding playbook |
| Robotic Process Automation (RPA Hub) | Legacy system automation | Screen scrape |
4.2 Flow with error handling
[Trigger: Record Created on x_acme_visitor_visit]
↓
[Action: Look Up Record — sys_user where email = visitor.email]
↓
[If Record Found]
↓
[Action: Send Email — Welcome back]
[Else]
↓
[Action: Create Record on x_acme_guest_user]
↓
[Try/Catch]
↓
[Action: Door System REST — activate badge]
↓
[On Error → Notify Reception via Teams]
4.3 Subflow example
Subflow: NotifyHostMultiChannel
- Inputs: host (User), message (Text), priority (Choice)
- Step 1: Send email
- Step 2: If priority = High → also send Teams DM
- Step 3: If priority = Critical → also call host phone (Twilio)
4.4 Custom Action (Action Designer)
Action: Generate QR Badge
- Inputs: text (String)
- Step 1: Script
(function execute(inputs, outputs) {
var text = inputs.text;
// Use QRickit API or generate inline
var qrUrl = 'https://api.qrserver.com/v1/create-qr-code/?data=' +
encodeURIComponent(text) + '&size=300x300';
outputs.qr_url = qrUrl;
outputs.encoded = text;
})(inputs, outputs);
- Outputs: qr_url (URL), encoded (String)
4.5 Process Automation Designer (PAD) — Playbook
User-facing checklist with lanes for different roles.
Playbook: New Hire Onboarding
| Lane | Step | Trigger | Assignee |
|---|---|---|---|
| HR | Personal info | Day 0 | HR Coordinator |
| IT | Provision laptop | Day -3 | IT |
| IT | Provision accounts | Day -1 | IT |
| Manager | Welcome meeting | Day 1 | Manager |
| Compliance | Sign policies | Day 1-7 | New Hire |
| Training | Orientation | Day 1 | L&D |
| Manager | 30-day check-in | Day 30 | Manager |
§5 — Mobile Studio
5.1 Architecture
ServiceNow Mobile = native iOS/Android shell + JSON-driven content. You design once, the app renders adaptively.
5.2 Building a screen
Mobile Studio > New App Configuration > Add Applet
- Applet type: List | Form | Map | Calendar | Carousel
- Data source: table, with filters
- Item template: title, subtitle, icon, badge color
5.3 Offline capability
| Capability | Configuration |
|---|---|
| Cache tables | Mobile App Config → Offline tables list |
| Sync schedule | Every 15 min when online |
| Conflict resolution | Last-writer-wins or manual |
| Max records | 1,000 per table per user |
5.4 Mobile-specific features
- Push notifications (FCM/APNS)
- Camera (capture → attach)
- GPS (geofence)
- Barcode/QR scan
- Signature capture (canvas)
- Voice-to-text
- Biometric login
§6 — UI Builder
6.1 When to choose UI Builder
| Need | Tool |
|---|---|
| Pixel-perfect employee/customer portal | Service Portal Designer |
| Native workspace experience for power users | UI Builder |
| Native mobile app | Mobile Studio |
6.2 UX Theme tokens
{
"name": "Acme Theme",
"tokens": {
"color": {
"brand": { "primary": "#0066cc", "secondary": "#00a3a3" },
"neutral": { "100": "#ffffff", "900": "#1a1a1a" }
},
"typography": {
"font_family_sans": "Inter, system-ui, sans-serif",
"scale": { "xs": "12px", "sm": "14px", "md": "16px", "lg": "20px", "xl": "28px" }
},
"spacing": { "1": "4px", "2": "8px", "3": "12px", "4": "16px", "6": "24px", "8": "32px" }
}
}
6.3 Custom Macroponent
A Macroponent = a reusable UI component built in UI Builder with state, properties, and events.
// Macroponent: AcmeStatCard
// Properties: title (String), value (Number), trend (Number), trendUnit (String)
// Slots: action (optional CTA button)
// Render template (JSX-like)
§7 — Service Portal Configurator
For lightweight portals (vs. full custom Service Portal):
AES > App > Add Experience > Portal > Configure
Features:
- Brand + logo + theme
- Pages: Home, Catalog, Forms, My Records, KB
- Widgets pre-built
- Branded URL
§8 — Now Assist for Creators (AI)
8.1 What it can generate
| AI capability | Example prompt |
|---|---|
| Generate app | “Build a fleet vehicle reservation app” |
| Generate table + fields | “Add a table for fuel logs with date, gallons, cost” |
| Generate Flow | “When reservation approved, calendar invite host + driver” |
| Generate form layout | “Lay out the reservation form in 2 columns” |
| Generate ACL | “Drivers see only their reservations” |
| Generate dashboard | “Dashboard for fleet manager: utilization, cost, top drivers” |
| Suggest improvements | “Audit my app for best practices” |
8.2 How it works
Now Assist calls a fine-tuned LLM grounded with ServiceNow metadata (table schemas, role catalog, OOTB actions) to generate Update Set artifacts.
// Example: programmatic generation via API
var rm = new sn_ws.RESTMessageV2('NowAssistCreator', 'generateFlow');
rm.setStringParameter('app_scope', 'x_acme_visitor');
rm.setStringParameter('prompt',
'When visitor created, email host with approval link; on approve, generate QR badge');
var resp = JSON.parse(rm.execute().getBody() || '{}');
gs.info(JSON.stringify(resp.flow_definition));
§9 — Application Repository (Internal Marketplace)
9.1 What it is
Your private marketplace where teams publish and share apps across the org.
9.2 Lifecycle
Develop → Test in pre-prod → Publish to Repo → Version → Deploy to other instances
9.3 Versioning best practice
- Semantic: MAJOR.MINOR.PATCH
- Pre-release: 1.0.0-beta.1
- Document breaking changes
- Maintain compatibility for 2 versions back
§17 — Power User Playbook (App Engine)
17.1 Personas
| Persona | Primary actions |
|---|---|
| Citizen Developer | Build personal/team apps from templates |
| Department Power User | Build dept apps with limited scope |
| Pro Developer | Build cross-functional apps with full code |
| Platform Architect | Govern scopes, review patterns, set guardrails |
| App Owner (Business) | Define requirements, validate, train users |
| Center of Excellence (CoE) | Curate templates, audit apps, publish patterns |
17.2 Day-in-Life — Citizen Developer
- Open AES → “I want to build” → describe in plain English.
- AI proposes table + form + flow.
- Adjust fields visually (drag-drop).
- Preview in mobile + portal.
- Share with 5 colleagues.
- Iterate based on feedback.
17.3 Top 15 App Engine Scripts
1. AES app inventory + compliance scanner
var AESComplianceScanner = Class.create();
AESComplianceScanner.prototype = {
initialize: function {},
/* Scans all citizen-built apps and rates compliance /
scan: function {
var apps = new GlideRecord(‘sys_app’);
apps.addQuery(‘source’, ‘app_engine_studio’);
apps.addActiveQuery();
apps.query();
var results = [];
while (apps.next()) {
var report = this._auditApp(apps.getUniqueValue());
results.push({
app: apps.getValue(‘name’),
scope: apps.getValue(‘scope’),
score: report.score,
issues: report.issues
});
}
return results;
},
_auditApp: function (appSysId) {
var score = 100;
var issues = [];
// Check 1: explicit roles defined
var roles = new GlideAggregate(‘sys_user_role’);
roles.addQuery(‘sys_scope’, appSysId);
roles.addAggregate(‘COUNT’);
roles.query();
if (roles.next() && parseInt(roles.getAggregate(‘COUNT’), 10) === 0) {
score -= 20;
issues.push(‘no_explicit_roles’);
}
// Check 2: ACLs defined
var acls = new GlideAggregate(‘sys_security_acl’);
acls.addQuery(‘sys_scope’, appSysId);
acls.addAggregate(‘COUNT’);
acls.query();
if (acls.next() && parseInt(acls.getAggregate(‘COUNT’), 10) < 3) {
score -= 15;
issues.push(‘insufficient_acls’);
}
// Check 3: ATF tests exist
var atf = new GlideAggregate(‘sys_atf_test’);
atf.addQuery(‘sys_scope’, appSysId);
atf.addAggregate(‘COUNT’);
atf.query();
if (atf.next() && parseInt(atf.getAggregate(‘COUNT’), 10) === 0) {
score -= 25;
issues.push(‘no_atf_tests’);
}
return { score: Math.max(0, score), issues: issues };
},
type: ‘AESComplianceScanner’
};
2. App-level role provisioning
function provisionAppRoles(appScope, roleNames, userSysIds) {
roleNames.forEach(function (roleName) {
var roleId = _ensureRole(appScope, roleName);
userSysIds.forEach(function (userId) {
var has = new GlideRecord('sys_user_has_role');
has.addQuery('user', userId);
has.addQuery('role', roleId);
has.setLimit(1);
has.query();
if (!has.hasNext()) {
has.initialize();
has.setValue('user', userId);
has.setValue('role', roleId);
has.insert();
}
});
});
function _ensureRole(scope, name) {
var r = new GlideRecord(‘sys_user_role’);
r.addQuery(‘name’, scope + ‘.’ + name);
r.setLimit(1); r.query();
if (r.next()) return r.getUniqueValue();
r.initialize();
r.setValue(‘name’, scope + ‘.’ + name);
r.setValue(‘description’, ‘Auto-provisioned role for ’ + scope);
return r.insert();
}
}
3. App migration between scopes — copy artifacts to new scope while remapping refs.
4. Mass-update App Properties — for env-specific properties (DEV/UAT/PROD).
5. App health check API — returns last-modified, ATF coverage, error count, performance.
6. Audit log: who edited what in AES — Read sys_metadata_versioning filtered by app scope.
7. Citizen dev sandbox provisioning — create sub-scope per citizen dev.
8. Template generator — convert existing app into a template.
9. App engagement analytics — track usage per app from PA.
10. Cross-app dependency mapping — find which apps depend on which scopes/tables.
11-15. Quick recipes
| # | Pattern |
|---|---|
| 11 | Auto-add scoped app to Application Repo after passing ATF |
| 12 | Send weekly digest to CoE about new apps |
| 13 | Deprecation notice (apps unused 90+ days) |
| 14 | Component reusability tracker |
| 15 | License usage cost per app |
17.4 Common Templates
| Template | Use case |
|---|---|
| Asset Request | Internal asset booking (laptops, parking, rooms) |
| Approval Workflow | Generic approvals with N levels |
| Site Visit | Visitor mgmt, escort, badges |
| Inspection | Field checklist with photos, signatures |
| Survey | Custom surveys w/ scoring |
| Resource Booking | Conference rooms, equipment |
| Event Registration | Internal events / training |
| Project Tracker | Lightweight project mgmt |
| Issue Tracker | Bug tracking |
| Idea Box | Suggestion box w/ voting |
§18 — From-Scratch Implementation (Day 0 → Day 30)
18.1 Strategy (Day 0)
- Identify backlog of small apps (target: 10-20 apps Year 1)
- Define citizen dev program (training, certification, sandbox)
- Establish CoE (3-5 members)
- Guardrails: scope naming, role naming, max table size, security review
- Choose initial wave (3-5 high-impact, low-complexity)
18.2 Day-by-day
Day 1 — Plugin activation + AES navigation tour
Day 2-3 — CoE formation
- Charter
- Governance model (review board)
- Standards doc (naming, error handling, accessibility)
- Template library seed
Day 4-5 — Sandbox per citizen dev
- Dev instance with app_creator role
- Sub-scope per user (or per team)
- Update Set discipline
Day 6-7 — Curate templates (10 templates from §17.4)
Day 8-10 — Citizen Dev Wave 1 training
- 2-day workshop
- Build sample app together
- Q&A office hours
Day 11-15 — Wave 1 app development (3 apps)
- Daily 30-min stand-up
- CoE mentor pairing
- Code review against guardrails
Day 16-18 — Wave 1 deployment
- ATF coverage check (target ≥ 50% for citizen apps)
- Security review
- Move to UAT
- UAT scenarios
Day 19-20 — Wave 1 go-live + retro
Day 21-24 — Wave 2 starts (5 more apps)
Day 25 — Application Repository launch
- Publish wave 1 apps
- Versioning
- Catalog page
Day 26 — Mobile + Portal experiences for top apps
Day 27 — Now Assist for Creators enabled
- Train citizen devs on AI-assisted creation
Day 28 — Analytics dashboard for CoE
- App count, usage, error rate, engagement
Day 29 — Comms + scale-out plan
- Internal newsletter
- Showcase wave 1 apps
- Open call for wave 2 nominations
Day 30 — Operating cadence
- Monthly CoE board
- Quarterly hackathon
- Annual citizen dev awards
18.3 KPIs Month 1
| KPI | Target |
|---|---|
| Citizen devs trained | ≥ 10 |
| Apps launched | ≥ 3 |
| Apps in pipeline | ≥ 5 |
| App engagement (DAU) | ≥ 50 |
| ATF coverage average | ≥ 50% |
| CoE office hour attendance | ≥ 60% of citizens |
| Time-to-first-app (per dev) | ≤ 5 days |
§19 — Sign-off Checklist
- [ ] AES enabled + tested in pre-prod
- [ ] Scope naming convention published
- [ ] Role catalog standardized
- [ ] Template gallery seeded (≥ 10 templates)
- [ ] Guardrails documented (max table size, ACL min count, ATF min %)
- [ ] CoE charter signed
- [ ] Citizen dev training material AR + EN
- [ ] Application Repo configured
- [ ] Now Assist for Creators license confirmed
- [ ] Quarterly review cadence scheduled
§19 — CAD / App Engine / Citizen Dev Exam & Z-to-Hero Feature Labs (20 inline Q)
19.1 Z-to-Hero Feature Labs (10 labs)
| Lab | Feature |
|---|---|
| L1 | App Engine Studio (AES): create new app from scratch |
| L2 | Table + Forms designed in AES |
| L3 | Workflow Studio: build approval flow |
| L4 | Mobile Studio: applet for the new app |
| L5 | Service Portal Configurator widget |
| L6 | Now Assist for Creators: generate flow from prompt |
| L7 | Application Repository publish |
| L8 | Citizen Dev role assignment (Delegated Dev) |
| L9 | App permissions + ACLs auto-generation |
| L10 | App scan: best-practice + security check |
19.2 20 App Engine / CAD Practice Questions
- AES URL: A. /now/app-engine-studio/home | B. /$studio.do | C. /aes.do | D. None — Answer: A
- AES creates apps in scope: A. Scoped (auto x_) | B. Global | C. Random | D. None — Answer: A*
- Workflow Studio is: A. Modern flow engine (Process Automation Designer) | B. Legacy Workflow | C. Flow Designer alone | D. None — Answer: A
- Mobile Studio: A. Visual builder for Now Mobile applets | B. Native iOS/Android code | C. None | D. Random — Answer: A
- Service Portal Configurator: A. Visual page builder w/o code | B. SCSS editor | C. Random | D. None — Answer: A
- Now Assist for Creators: A. AI prompt → suggest flows/tables/widgets | B. None | C. Random | D. Manual — Answer: A
- Citizen Dev role: A. x_.user_dev or platform delegated_developer | B. admin | C. Random | D. None — Answer: A*
- App Repo location: A. ServiceNow Store + internal Application Repository | B. GitHub only | C. Random | D. None — Answer: A
- App template: A. Pre-built starter (Issue Tracker, Approval Request, etc.) | B. None | C. Random | D. Manual — Answer: A
- App permissions: A. Roles auto-created on table create (e.g., x_.user, x_.admin) | B. Manual only | C. Random | D. None — Answer: A
- App scan results categories: A. Code quality, security, performance, best practice | B. Just errors | C. Random | D. None — Answer: A
- AES vs Classic Studio: A. AES is no-code/low-code first; Classic Studio for full dev | B. Same | C. Random | D. None — Answer: A
- Decision Table in Workflow Studio: A. Data-driven rules as table rows | B. Just decision tree | C. Random | D. None — Answer: A
- Subflow: A. Reusable flow called from another | B. Same as Flow | C. Random | D. None — Answer: A
- Custom Action: A. Reusable action with inputs/outputs/script | B. Just script | C. Random | D. None — Answer: A
- Spoke: A. Bundle of actions for a 3rd-party (Slack, Jira, etc.) | B. Random | C. Just one action | D. None — Answer: A
- App publishing types: A. Internal (Application Repository) + Store (ServiceNow Marketplace) | B. One only | C. Random | D. None — Answer: A
- App version mgmt: A. Application versions tracked + dependency mgmt | B. Just one version | C. Random | D. None — Answer: A
- App testing: A. ATF + manual + app scan | B. Manual only | C. Random | D. None — Answer: A
- CAD certification scope: A. Tables, scripts, BR, CS, ACL, SP widgets, Catalog, Flow, ATF, Update Sets | B. Just tables | C. Random | D. None — Answer: A
19.3 What “Hero” looks like for App Engine
Owns Citizen Dev CoE. Publishes templates. Trains business builders. Reviews app submissions for quality + security. Drives 50+ apps to production in first year via App Repository. Passes CAD with ≥85%.
Hands-on Labs — مختبرات عملية
Step-by-step labs for PDI / Australia instance. Replace
{BASE}with your instance URL.
مختبرات خطوة بخطوة — استبدل{BASE}برابط نسختك.
-
Lab 1 — New scoped app / تطبيق scoped — Create app in {BASE}/now/app-engine-studio/home.
-
Lab 2 — Table & form / جدول ونموذج — Add table with fields; generate roles automatically.
-
Lab 3 — Workflow Studio flow / Flow — Build approval flow at {BASE}/now/workflow-studio/home.
-
Lab 4 — UI Builder page / صفحة UI — Create workspace list page at {BASE}/now/ui-builder.
-
Lab 5 — Mobile applet / تطبيق جوال — Build applet in {BASE}/now/mobile-studio/home.
-
Lab 6 — App Scan / فحص التطبيق — Run scan at {BASE}/now/app-scan/home; fix findings.
-
Lab 7 — Publish to Repository / نشر — Publish version to {BASE}/sys_repo_application_list.do.
-
Lab 8 — Delegated dev / مطور موكل — Assign citizen dev role via {BASE}/sys_delegated_development_list.do.
Best Practices — أفضل الممارسات
| Area | Best practice (EN) | أفضل ممارسة (AR) |
|---|---|---|
| Scope | Always scoped apps (x_*) — avoid global tables | تطبيقات scoped دائمًا |
| Security | Run App Scan before every publish | App Scan قبل كل نشر |
| Citizen dev | CoE governs templates and review | CoE يحكم القوالب والمراجعة |
| Upgrade | Track app versions and dependencies | تتبع الإصدارات والتبعيات |
Deployment Checklist — قائمة النشر
| # | Task (EN) | المهمة (AR) | Verify |
|---|---|---|---|
| 1 | App Engine / AES licensed | ترخيص AES | Active |
| 2 | Citizen Dev CoE & roles | CoE + أدوار | Delegated dev set |
| 3 | App templates published | قوالب | Builders use templates |
| 4 | App Scan policy | سياسة App Scan | No critical findings |
| 5 | Application Repository | Repository | Apps installable |
| 6 | Workflow Studio standards | معايير Flow | Reusable subflows |
| 7 | Mobile profiles (if needed) | Mobile | Applet works |
| 8 | Production promotion process | نشر إنتاج | Update Set / pipeline |
Direct URLs Quick Reference
| Page | Navigation | URL |
|---|---|---|
| App Engine Studio | All > App Engine | {BASE}/now/app-engine-studio/home |
| Workflow Studio | All > Process Automation | {BASE}/now/workflow-studio/home |
| Mobile Studio | All > Mobile Studio | {BASE}/now/mobile-studio/home |
| UI Builder | All > UI Builder | {BASE}/now/ui-builder |
| App Repository | All > Applications | {BASE}/sys_repo_application_list.do |
| Tables | All > System Definition | {BASE}/sys_db_object_list.do |
| SP Configurator | All > Service Portal | {BASE}/now/sp-configurator/home |
| App Scan | All > App Engine | {BASE}/now/app-scan/home |
| Delegated Development | All > Applications | {BASE}/sys_delegated_development_list.do |
| Guided Setup | All > Guided Setup | {BASE}/now/guided-setup |