Initial commit
This commit is contained in:
12
.claude-plugin/plugin.json
Normal file
12
.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"name": "sap-btp-build-work-zone-advanced",
|
||||||
|
"description": "Develops and administers SAP Build Work Zone digital workplace solutions. Covers workspaces, UI Integration Cards, content packages, Microsoft 365/Teams integration, and chatbots.",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"author": {
|
||||||
|
"name": "Zhongwei Li",
|
||||||
|
"email": "zhongweili@tubi.tv"
|
||||||
|
},
|
||||||
|
"skills": [
|
||||||
|
"./"
|
||||||
|
]
|
||||||
|
}
|
||||||
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# sap-btp-build-work-zone-advanced
|
||||||
|
|
||||||
|
Develops and administers SAP Build Work Zone digital workplace solutions. Covers workspaces, UI Integration Cards, content packages, Microsoft 365/Teams integration, and chatbots.
|
||||||
320
SKILL.md
Normal file
320
SKILL.md
Normal file
@@ -0,0 +1,320 @@
|
|||||||
|
---
|
||||||
|
name: sap-btp-build-work-zone-advanced
|
||||||
|
description: |
|
||||||
|
Develops and administers SAP Build Work Zone, advanced edition digital workplace solutions. Use when creating workspaces, workpages, and collaborative sites, developing UI Integration Cards in SAP Business Application Studio, building content packages and workspace templates, integrating with Microsoft 365/Teams/SharePoint/Google Drive, configuring chatbots and webhooks, implementing SCIM API user provisioning, setting up OData business records, managing themes and branding, configuring role-based access and SSO, troubleshooting deployment issues, or working with the Administration Console.
|
||||||
|
|
||||||
|
Keywords: SAP Build Work Zone advanced edition, digital workplace, UI Integration Cards, content packages, workspace templates, SAP Business Application Studio, SAP Conversational AI, SCIM API, OData, Microsoft Teams integration, SSO, theming, Administration Console
|
||||||
|
license: GPL-3.0
|
||||||
|
metadata:
|
||||||
|
version: "1.1.0"
|
||||||
|
last_verified: "2025-11-27"
|
||||||
|
---
|
||||||
|
|
||||||
|
# SAP Build Work Zone, Advanced Edition
|
||||||
|
|
||||||
|
This skill provides comprehensive guidance for implementing SAP Build Work Zone, advanced edition - a digital workplace platform for unified access to business applications, processes, and collaboration.
|
||||||
|
|
||||||
|
## When to Use This Skill
|
||||||
|
|
||||||
|
Use this skill when:
|
||||||
|
- Creating workspaces, workpages, and collaborative sites
|
||||||
|
- Developing UI Integration Cards in SAP Business Application Studio
|
||||||
|
- Building and deploying content packages
|
||||||
|
- Creating workspace templates
|
||||||
|
- Integrating with Microsoft 365, Teams, SharePoint, or Google Drive
|
||||||
|
- Configuring chatbots using SAP Conversational AI
|
||||||
|
- Implementing webhooks for event notifications
|
||||||
|
- Setting up SCIM API for user provisioning
|
||||||
|
- Configuring OData-based business records
|
||||||
|
- Managing themes and branding
|
||||||
|
- Configuring role-based access and SSO
|
||||||
|
- Working with the Administration Console
|
||||||
|
|
||||||
|
## Platform Overview
|
||||||
|
|
||||||
|
SAP Build Work Zone, advanced edition is a digital workplace platform that:
|
||||||
|
- Provides unified access to SAP and third-party business applications
|
||||||
|
- Enables collaborative workspaces with feeds, blogs, wikis, and forums
|
||||||
|
- Supports role-based navigation with Single Sign-On (SSO)
|
||||||
|
- Works across web browsers, mobile apps, and responsive web UI
|
||||||
|
- Integrates with cloud, hybrid, and on-premise applications
|
||||||
|
|
||||||
|
## Core Concepts
|
||||||
|
|
||||||
|
### Workspaces
|
||||||
|
Separate sections with dedicated pages and feeds for team communication and collaboration within specific user groups.
|
||||||
|
|
||||||
|
### Workpages
|
||||||
|
Customizable pages that can be configured with widgets, cards, and applications.
|
||||||
|
|
||||||
|
### UI Integration Cards
|
||||||
|
Design patterns displaying concise information in limited-space containers. Follow SAPUI5 card specifications (minimum version 1.87.0; newer versions supported and recommended for latest features).
|
||||||
|
|
||||||
|
### Content Packages
|
||||||
|
Collections of artifacts (cards, workflows, workspace templates) bundled in ZIP files for distribution.
|
||||||
|
|
||||||
|
### Workspace Templates
|
||||||
|
Pre-built frameworks enabling workspace creation with minimum modification.
|
||||||
|
|
||||||
|
## Development Environment Setup
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
1. SAP BTP subscription to SAP Build Work Zone, advanced edition
|
||||||
|
2. SAP Business Application Studio subscription
|
||||||
|
3. Workzone_Admin role collection assignment
|
||||||
|
4. Destination to content repository configured
|
||||||
|
|
||||||
|
### Dev Space Setup
|
||||||
|
```
|
||||||
|
1. Open SAP Business Application Studio
|
||||||
|
2. Create new dev space
|
||||||
|
3. Select "Development Tools for SAP Build Work Zone, Advanced Edition" extension
|
||||||
|
4. Start the dev space
|
||||||
|
```
|
||||||
|
|
||||||
|
## UI Integration Cards Development
|
||||||
|
|
||||||
|
### Creating a UI Card
|
||||||
|
|
||||||
|
1. Open SAP Business Application Studio
|
||||||
|
2. Select "New Project From Template"
|
||||||
|
3. Choose "UI Integration Card"
|
||||||
|
4. Configure:
|
||||||
|
- **Project Name**: Your identifier
|
||||||
|
- **Card Sample**: Template selection
|
||||||
|
- **NameSpace**: Used for Card ID (namespace.projectname)
|
||||||
|
- **Card Title/Subtitle**: Display text
|
||||||
|
- **Mobile Compatibility**: Enable for mobile support
|
||||||
|
|
||||||
|
### Card Types
|
||||||
|
- List Cards
|
||||||
|
- Object Cards
|
||||||
|
- Table Cards
|
||||||
|
- Timeline Cards
|
||||||
|
- Analytical Cards
|
||||||
|
- Calendar Cards
|
||||||
|
- Component Cards
|
||||||
|
|
||||||
|
For complete card development, see `references/ui-integration-cards.md`.
|
||||||
|
|
||||||
|
## Content Packages
|
||||||
|
|
||||||
|
### Supported Artifacts
|
||||||
|
- UI Integration Cards
|
||||||
|
- Workflows
|
||||||
|
- Workspace templates
|
||||||
|
- Exported workspace configurations
|
||||||
|
- Homepage configurations
|
||||||
|
|
||||||
|
### Package Types
|
||||||
|
- **Centrally-provided**: Auto-available to all customers, non-customizable
|
||||||
|
- **Local packages**: Custom packages uploaded by administrators
|
||||||
|
|
||||||
|
### Development Flow
|
||||||
|
```
|
||||||
|
Create in BAS → Build package → Deploy → Install in Admin Console
|
||||||
|
```
|
||||||
|
|
||||||
|
For complete content package guide, see `references/content-packages.md`.
|
||||||
|
|
||||||
|
## Workspace Templates
|
||||||
|
|
||||||
|
Templates enable users to create workspaces with predefined layouts and widgets.
|
||||||
|
|
||||||
|
### Creating Templates
|
||||||
|
1. Design workspace structure
|
||||||
|
2. Define widget layouts
|
||||||
|
3. Configure default settings
|
||||||
|
4. Package and deploy
|
||||||
|
|
||||||
|
For template development, see `references/workspace-templates.md`.
|
||||||
|
|
||||||
|
## Chatbot Integration
|
||||||
|
|
||||||
|
### Important Notice
|
||||||
|
**SAP Conversational AI is in maintenance mode since January 2023**. While existing chatbots may continue to function, SAP does not recommend creating new implementations. Consider alternative solutions for chatbot functionality.
|
||||||
|
|
||||||
|
### Options
|
||||||
|
1. **Custom chatbots**: Build using SAP Conversational AI ([https://cai.tools.sap/](https://cai.tools.sap/)) - ⚠️ Maintenance Mode
|
||||||
|
2. **Pre-built chatbot**: Fork and configure the SAP Build Work Zone chatbot - ⚠️ Not recommended for new projects
|
||||||
|
|
||||||
|
### Configuration Steps (for existing implementations)
|
||||||
|
1. Fork chatbot in SAP Conversational AI
|
||||||
|
2. Connect using SAP Jam Collaboration connector
|
||||||
|
3. Register OAuth client in Admin Console
|
||||||
|
4. Configure alias account for bot posting
|
||||||
|
5. Set up push notifications and webhooks
|
||||||
|
|
||||||
|
For chatbot configuration, see `references/chatbots.md`.
|
||||||
|
|
||||||
|
## API Reference
|
||||||
|
|
||||||
|
### SCIM API
|
||||||
|
|
||||||
|
**Endpoint**: `/api/v1/scim`
|
||||||
|
|
||||||
|
**Authentication**: 2-legged OAuth using "Workzone API Client"
|
||||||
|
|
||||||
|
**Rate Limits**:
|
||||||
|
| Limit Type | Value |
|
||||||
|
|------------|-------|
|
||||||
|
| Hourly limit | 10,000 requests/tenant |
|
||||||
|
| Burst limit | 200 requests/minute |
|
||||||
|
|
||||||
|
**Headers**:
|
||||||
|
- `X-RateLimit-Limit`: Maximum hourly requests
|
||||||
|
- `X-RateLimit-Remaining`: Available requests
|
||||||
|
- `X-RateLimit-Reset`: Seconds until reset
|
||||||
|
|
||||||
|
**Content-Type**: `application/json` (required for POST/PUT)
|
||||||
|
|
||||||
|
### OData API
|
||||||
|
|
||||||
|
SAP Build Work Zone uses OData v2 with v4 extensions.
|
||||||
|
|
||||||
|
**Format**: XML (AtomPub) or JSON
|
||||||
|
|
||||||
|
For complete API reference, see `references/api-reference.md`.
|
||||||
|
|
||||||
|
## Administration Console
|
||||||
|
|
||||||
|
Access via: User Actions menu → Administration
|
||||||
|
|
||||||
|
### Key Sections
|
||||||
|
- **Users**: Manage internal/external users, user lists
|
||||||
|
- **Authentication**: SAML IdP, OAuth clients, SSO
|
||||||
|
- **Theming**: Assign themes, customize email templates
|
||||||
|
- **Areas & Workspaces**: Home pages, workspace settings
|
||||||
|
- **Integrations**: Microsoft Teams, mobile apps, chatbots
|
||||||
|
- **Features**: Enable/disable site features
|
||||||
|
- **Compliance**: Content administration, monitoring
|
||||||
|
- **Analytics**: Usage reports, adoption metrics
|
||||||
|
|
||||||
|
## Feature Management
|
||||||
|
|
||||||
|
### Compliance Features
|
||||||
|
- **Compliance Monitor**: Flags content with compliance dictionary terms
|
||||||
|
- **Profanity Monitor**: Marks items with profanity violations
|
||||||
|
- **Unscannable Filter**: Flags non-scannable files
|
||||||
|
|
||||||
|
### Content Features
|
||||||
|
- File sharing, feed sharing
|
||||||
|
- Content rating
|
||||||
|
- Wikis, blogs, knowledge bases
|
||||||
|
- Video/audio uploads
|
||||||
|
- PDF viewing
|
||||||
|
|
||||||
|
### Integration Features
|
||||||
|
- API access
|
||||||
|
- Microsoft Teams integration
|
||||||
|
- Office 365 SharePoint integration
|
||||||
|
- Google Drive integration
|
||||||
|
|
||||||
|
## External Integrations
|
||||||
|
|
||||||
|
| Integration | Purpose |
|
||||||
|
|-------------|---------|
|
||||||
|
| Microsoft Teams | Collaboration, notifications |
|
||||||
|
| Office 365 SharePoint | Document sharing, sites |
|
||||||
|
| Google Drive | Cloud storage |
|
||||||
|
| SAP SuccessFactors | HR integration |
|
||||||
|
| SAP Cloud for Customer | CRM integration |
|
||||||
|
| SAP Task Center | Unified task management |
|
||||||
|
| SAP Build Process Automation | Workflow automation |
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
### Authentication
|
||||||
|
- SAML Identity Providers
|
||||||
|
- OAuth 2.0 clients
|
||||||
|
- Single Sign-On (SSO)
|
||||||
|
- Trusted Certificate Authorities
|
||||||
|
|
||||||
|
### Key Considerations
|
||||||
|
- Role-based access control
|
||||||
|
- HTTP security headers (clickjacking, XSS protection)
|
||||||
|
- Content provider security guidelines
|
||||||
|
- Audit logging for security events
|
||||||
|
|
||||||
|
For security configuration, see `references/security.md`.
|
||||||
|
|
||||||
|
## Webhooks
|
||||||
|
|
||||||
|
Track platform events and send notifications to third-party applications.
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
1. Define events to monitor
|
||||||
|
2. Configure callback URLs
|
||||||
|
3. Set up authentication tokens
|
||||||
|
4. Handle push notifications
|
||||||
|
|
||||||
|
## Theming and Branding
|
||||||
|
|
||||||
|
### Options
|
||||||
|
- Assign themes to site
|
||||||
|
- Customize email templates
|
||||||
|
- Local themes (partial UI coverage)
|
||||||
|
- Theme Manager for custom branding
|
||||||
|
|
||||||
|
## Reports and Analytics
|
||||||
|
|
||||||
|
### Available Reports
|
||||||
|
- Activity Summary (week/month)
|
||||||
|
- User Contribution
|
||||||
|
- Workspace Activity
|
||||||
|
- Content Views
|
||||||
|
- Compliance Report
|
||||||
|
- Kudo Details
|
||||||
|
- Search Summary
|
||||||
|
- Expertise Report
|
||||||
|
|
||||||
|
### Third-Party Analytics
|
||||||
|
Integration with external analytics platforms supported.
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Common Issues
|
||||||
|
| Issue | Solution |
|
||||||
|
|-------|----------|
|
||||||
|
| HTTP 503 | Service maintenance, retry later |
|
||||||
|
| Rate limit exceeded | Check X-RateLimit headers, wait for reset |
|
||||||
|
| OAuth authentication failure | Verify Workzone API Client credentials |
|
||||||
|
| Card not displaying | Check SAPUI5 version compatibility |
|
||||||
|
|
||||||
|
For troubleshooting guide, see `references/troubleshooting.md`.
|
||||||
|
|
||||||
|
## Bundled Resources
|
||||||
|
|
||||||
|
### Reference Documentation
|
||||||
|
- `references/ui-integration-cards.md` (331 lines) - Complete UI Integration Cards development guide
|
||||||
|
- `references/content-packages.md` (266 lines) - Content package creation and deployment
|
||||||
|
- `references/workspace-templates.md` (159 lines) - Workspace template development
|
||||||
|
- `references/chatbots.md` (297 lines) - Chatbot configuration (maintenance mode notice included)
|
||||||
|
- `references/api-reference.md` (306 lines) - SCIM and OData API documentation
|
||||||
|
- `references/security.md` (128 lines) - Security configuration best practices
|
||||||
|
- `references/administration.md` (299 lines) - Administration Console guide
|
||||||
|
- `references/auditing.md` (176 lines) - Audit and compliance features
|
||||||
|
- `references/mobile-app.md` (124 lines) - Mobile app configuration
|
||||||
|
- `references/notifications.md` (147 lines) - Notification system setup
|
||||||
|
- `references/troubleshooting.md` (124 lines) - Common error resolution
|
||||||
|
- `references/widgets.md` (213 lines) - Widget development guide
|
||||||
|
- `references/workspaces.md` (295 lines) - Workspace management
|
||||||
|
|
||||||
|
### Templates
|
||||||
|
- `templates/card-manifest.json` - UI Integration Card manifest template
|
||||||
|
- `templates/content-package-manifest.json` - Content package manifest template
|
||||||
|
- `templates/dt-configuration.js` - Deployment configuration template
|
||||||
|
- `templates/workspace-template-config.json` - Workspace template configuration
|
||||||
|
|
||||||
|
## Documentation Links
|
||||||
|
|
||||||
|
- **SAP Help Portal**: [https://help.sap.com/docs/build-work-zone-advanced-edition](https://help.sap.com/docs/build-work-zone-advanced-edition)
|
||||||
|
- **GitHub Docs**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
|
- **SAP API Hub**: [https://api.sap.com/](https://api.sap.com/) (search "SAP Cloud Portal Service")
|
||||||
|
- **OData API Docs**: [https://jam2.sapjam.com](https://jam2.sapjam.com)
|
||||||
|
- **SAPUI5 Card Explorer**: [https://ui5.sap.com/test-resources/sap/ui/integration/demokit/cardExplorer/](https://ui5.sap.com/test-resources/sap/ui/integration/demokit/cardExplorer/)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Last Updated**: 2025-11-27
|
||||||
|
**Documentation Version**: Based on SAP documentation as of November 2025
|
||||||
113
plugin.lock.json
Normal file
113
plugin.lock.json
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
{
|
||||||
|
"$schema": "internal://schemas/plugin.lock.v1.json",
|
||||||
|
"pluginId": "gh:secondsky/sap-skills:skills/sap-btp-build-work-zone-advanced",
|
||||||
|
"normalized": {
|
||||||
|
"repo": null,
|
||||||
|
"ref": "refs/tags/v20251128.0",
|
||||||
|
"commit": "205d39b1c5594e386088f4b0e3531f48b2b83634",
|
||||||
|
"treeHash": "0077323de402cd0bccef4989b50682e9a28c70da97d6fcd392b9e10347ce4eb1",
|
||||||
|
"generatedAt": "2025-11-28T10:28:11.336385Z",
|
||||||
|
"toolVersion": "publish_plugins.py@0.2.0"
|
||||||
|
},
|
||||||
|
"origin": {
|
||||||
|
"remote": "git@github.com:zhongweili/42plugin-data.git",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
|
||||||
|
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
|
||||||
|
},
|
||||||
|
"manifest": {
|
||||||
|
"name": "sap-btp-build-work-zone-advanced",
|
||||||
|
"description": "Develops and administers SAP Build Work Zone digital workplace solutions. Covers workspaces, UI Integration Cards, content packages, Microsoft 365/Teams integration, and chatbots.",
|
||||||
|
"version": "1.0.0"
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "README.md",
|
||||||
|
"sha256": "24afe4b0aa4675828df47fbb1f4db927e560e4f2b9a318fb95bf611f54ddbec1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "SKILL.md",
|
||||||
|
"sha256": "99c2a8373e2502135b964791250b64ae9b71591611a17e38b343ab1a9219a709"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "references/chatbots.md",
|
||||||
|
"sha256": "67b1ac20f1fd4875e81ab26d5d47e68d43cddae2bdd3b3818daa3d3ea3d6b581"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "references/notifications.md",
|
||||||
|
"sha256": "ede8df8eec21b4c1faa7e02ee280cd469f92dfc952d889b25f4c5b7059603447"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "references/mobile-app.md",
|
||||||
|
"sha256": "1296814f87f2f33132e071e3df4f8798602f497e1ba87afb987f1f7e6c763a8e"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "references/widgets.md",
|
||||||
|
"sha256": "b989193d5b64d3451c9c341d1ec1fa2cdc6c40988407923b3404a974001fe91e"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "references/troubleshooting.md",
|
||||||
|
"sha256": "c7480929ec335cee666e0d809cd2ed1ff438d4bc3e58a18f812dc1bc9341e8fa"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "references/workspaces.md",
|
||||||
|
"sha256": "701391f08bf6a411d6c23e3a650fcd38f213086ba073e20ef4423d446733493d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "references/workspace-templates.md",
|
||||||
|
"sha256": "c66c224688eafecf3fde5d37250fd2b17ddf1c430035b87a42d69765635f3179"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "references/auditing.md",
|
||||||
|
"sha256": "f39969b8adba8b857e038c82d18bb49d5745496a0535724e5b4f7b8245f316c4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "references/administration.md",
|
||||||
|
"sha256": "0c017a2c62956c41e28ee28ee9178dddbbe59295da2dd926951698a9c8fe35f6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "references/content-packages.md",
|
||||||
|
"sha256": "f065190d89ee67e94cf2a7d25665c757cc8b4892214007b5bb77bc7cb35593b4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "references/ui-integration-cards.md",
|
||||||
|
"sha256": "d772213514f6bb6170336029e32537a71340ea9f861ca2983c58187a4b44b48b"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "references/api-reference.md",
|
||||||
|
"sha256": "9a4787c5cbfd946be1357f4ac8943fe763f3b0a73c0550e63e149c2e58f5cdc8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "references/security.md",
|
||||||
|
"sha256": "5361fda09a71d1459f343dff11051344876a30ce74d428683f88937839f47c03"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".claude-plugin/plugin.json",
|
||||||
|
"sha256": "d27dda48eed49a7d36c359c73d2f868ed6d729cb0198b6d47383dddc282f21f8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "templates/content-package-manifest.json",
|
||||||
|
"sha256": "0b64a89d5b684e7063a5f655f6ea6b3b2ac7b194d2937beb357702964ac679d8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "templates/workspace-template-config.json",
|
||||||
|
"sha256": "3fa65d52813bb6935092dd489e4de575c02068001f5f5068772d6523ae7d8f36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "templates/dt-configuration.js",
|
||||||
|
"sha256": "a95e138458fecdf98aa29a3d23916fc86463969136c21f417c1b37bbe9f484d6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "templates/card-manifest.json",
|
||||||
|
"sha256": "0e165fd8c92eb9904ee08d5ef614141c8cf8dc48d487adfa05efc36e682a962f"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dirSha256": "0077323de402cd0bccef4989b50682e9a28c70da97d6fcd392b9e10347ce4eb1"
|
||||||
|
},
|
||||||
|
"security": {
|
||||||
|
"scannedAt": null,
|
||||||
|
"scannerVersion": null,
|
||||||
|
"flags": []
|
||||||
|
}
|
||||||
|
}
|
||||||
299
references/administration.md
Normal file
299
references/administration.md
Normal file
@@ -0,0 +1,299 @@
|
|||||||
|
# Administration Console Guide
|
||||||
|
|
||||||
|
Complete guide for administering SAP Build Work Zone, advanced edition through the Administration Console.
|
||||||
|
|
||||||
|
**Source**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The Administration Console provides centralized management for all aspects of SAP Build Work Zone, advanced edition including users, content, security, and integrations.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Core Administrative Areas
|
||||||
|
|
||||||
|
### Overview & Dashboard
|
||||||
|
|
||||||
|
Key information and metrics:
|
||||||
|
- License usage statistics
|
||||||
|
- Product version information
|
||||||
|
- Daily operational metrics
|
||||||
|
- Initial setup tasks
|
||||||
|
|
||||||
|
### User Management
|
||||||
|
|
||||||
|
#### Internal Users
|
||||||
|
- Add and edit user profiles
|
||||||
|
- Generate activity reports
|
||||||
|
- Grant admin privileges
|
||||||
|
- Manage user settings
|
||||||
|
|
||||||
|
#### External Users
|
||||||
|
- Configure external user access
|
||||||
|
- Manage non-company users
|
||||||
|
- Set access restrictions
|
||||||
|
|
||||||
|
#### User Lists
|
||||||
|
- Create imported user lists
|
||||||
|
- Invite multiple users to workspaces
|
||||||
|
- Configure dynamic user lists
|
||||||
|
- Set list attributes
|
||||||
|
|
||||||
|
#### Alias Accounts
|
||||||
|
- Create organizational representative accounts
|
||||||
|
- Configure system users for integrations
|
||||||
|
- Manage chatbot accounts
|
||||||
|
|
||||||
|
#### SCIM Provisioning
|
||||||
|
- Manage company administrators via API
|
||||||
|
- Configure automated user provisioning
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Authentication & Authorization
|
||||||
|
|
||||||
|
### SAML Configuration
|
||||||
|
|
||||||
|
#### Trusted Identity Providers (IDPs)
|
||||||
|
1. Navigate to Authentication > SAML Trusted IDPs
|
||||||
|
2. Add IdP metadata
|
||||||
|
3. Configure attribute mapping
|
||||||
|
4. Test SSO connection
|
||||||
|
|
||||||
|
#### Local Identity Provider
|
||||||
|
Configure for internal authentication needs
|
||||||
|
|
||||||
|
#### Local Service Provider
|
||||||
|
Setup for third-party integration
|
||||||
|
|
||||||
|
### Role Collections
|
||||||
|
|
||||||
|
| Role Collection | Purpose |
|
||||||
|
|-----------------|---------|
|
||||||
|
| Workzone_Admin | Full administration access |
|
||||||
|
| Workzone_User | Standard user access |
|
||||||
|
| Workzone_Area_Admin | Area administration |
|
||||||
|
| Workzone_External_User | External user access |
|
||||||
|
| Workzone_HR_Admin | HR integration administration |
|
||||||
|
|
||||||
|
### Role Types
|
||||||
|
|
||||||
|
| Type | Description |
|
||||||
|
|------|-------------|
|
||||||
|
| Default Roles | Auto-assigned during onboarding (cannot be removed) |
|
||||||
|
| Local Roles | Manually created for app access |
|
||||||
|
| Remote Roles | From external content providers |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Theming & Branding
|
||||||
|
|
||||||
|
### Theme Manager
|
||||||
|
- Assign existing themes
|
||||||
|
- Create custom themes
|
||||||
|
- Configure default theme
|
||||||
|
|
||||||
|
### Local Theme Designer
|
||||||
|
- Site-specific styling
|
||||||
|
- Custom CSS configuration
|
||||||
|
- Brand color settings
|
||||||
|
|
||||||
|
### Email Templates
|
||||||
|
- Customize notification appearance
|
||||||
|
- Configure email branding
|
||||||
|
- Set template content
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Area & Workspace Configuration
|
||||||
|
|
||||||
|
### Administrative Areas
|
||||||
|
- Create organizational groupings
|
||||||
|
- Configure area permissions
|
||||||
|
- Manage area content
|
||||||
|
|
||||||
|
### Home Page
|
||||||
|
- Design landing page
|
||||||
|
- Configure widgets and feeds
|
||||||
|
- Set announcements
|
||||||
|
- Manage quick links
|
||||||
|
|
||||||
|
### User Profiles
|
||||||
|
- Customize profile fields
|
||||||
|
- Configure profile visibility
|
||||||
|
- Set profile requirements
|
||||||
|
|
||||||
|
### Content Templates
|
||||||
|
- Blog templates
|
||||||
|
- Wiki templates
|
||||||
|
- Custom content types
|
||||||
|
|
||||||
|
### Workspace Templates
|
||||||
|
- Install prebuilt templates
|
||||||
|
- Create custom templates
|
||||||
|
- Manage template availability
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## UI Integration
|
||||||
|
|
||||||
|
### Content Packages
|
||||||
|
Location: UI Integration > Content Packages
|
||||||
|
|
||||||
|
- View available packages
|
||||||
|
- Install/uninstall packages
|
||||||
|
- Manage package versions
|
||||||
|
- Configure package content
|
||||||
|
|
||||||
|
### Cards
|
||||||
|
Enable UI Integration Cards for user pages:
|
||||||
|
- Configure card availability
|
||||||
|
- Manage card permissions
|
||||||
|
- Monitor card usage
|
||||||
|
|
||||||
|
### Widget Builders
|
||||||
|
Create custom HTML widgets:
|
||||||
|
- Define widget structure
|
||||||
|
- Configure widget settings
|
||||||
|
- Deploy custom widgets
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## External Integrations
|
||||||
|
|
||||||
|
### Microsoft Teams
|
||||||
|
- Configure Teams connection
|
||||||
|
- Set up SSO integration
|
||||||
|
- Manage channel mappings
|
||||||
|
|
||||||
|
### Mobile Apps
|
||||||
|
- Configure mobile settings
|
||||||
|
- Manage app distribution
|
||||||
|
- Set mobile policies
|
||||||
|
|
||||||
|
### External Solutions
|
||||||
|
- Configure third-party integrations
|
||||||
|
- Manage API connections
|
||||||
|
- Set integration permissions
|
||||||
|
|
||||||
|
### OAuth Clients
|
||||||
|
- Register OAuth clients
|
||||||
|
- Configure client scopes
|
||||||
|
- Manage client secrets
|
||||||
|
|
||||||
|
### Chatbot Configuration
|
||||||
|
- Enable chatbot launcher
|
||||||
|
- Configure bot connections
|
||||||
|
- Manage bot permissions
|
||||||
|
|
||||||
|
### Webhook Notifications
|
||||||
|
- Configure event triggers
|
||||||
|
- Set notification endpoints
|
||||||
|
- Manage webhook security
|
||||||
|
|
||||||
|
### Extensions Catalog
|
||||||
|
- Browse available extensions
|
||||||
|
- Install extensions
|
||||||
|
- Configure extension settings
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Feature Management
|
||||||
|
|
||||||
|
### Feature Enablement
|
||||||
|
|
||||||
|
Control platform features:
|
||||||
|
- Kudos customization
|
||||||
|
- Hashtags auto-completion
|
||||||
|
- Knowledge Base categories
|
||||||
|
- Forum settings
|
||||||
|
- Feed options
|
||||||
|
|
||||||
|
### Feature Settings
|
||||||
|
- Enable/disable features
|
||||||
|
- Configure feature behavior
|
||||||
|
- Set feature permissions
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Compliance & Security
|
||||||
|
|
||||||
|
### Terms of Service
|
||||||
|
- Configure external ToS
|
||||||
|
- Set custom ToS content
|
||||||
|
- Manage ToS acceptance
|
||||||
|
|
||||||
|
### Content Administration
|
||||||
|
- Review flagged content
|
||||||
|
- Manage content reports
|
||||||
|
- Configure moderation rules
|
||||||
|
|
||||||
|
### Compliance Dictionary
|
||||||
|
- Define compliance terms
|
||||||
|
- Configure detection rules
|
||||||
|
- Manage violations
|
||||||
|
|
||||||
|
### Profanity Monitor
|
||||||
|
- Enable profanity detection
|
||||||
|
- Configure word lists
|
||||||
|
- Manage flagged content
|
||||||
|
|
||||||
|
### Security Settings
|
||||||
|
- Configure HTTP headers
|
||||||
|
- Set session policies
|
||||||
|
- Manage access controls
|
||||||
|
|
||||||
|
### Audit Logging
|
||||||
|
- View audit reports
|
||||||
|
- Export audit data
|
||||||
|
- Configure log retention
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Analytics
|
||||||
|
|
||||||
|
### Usage Reports
|
||||||
|
- User activity metrics
|
||||||
|
- Content engagement stats
|
||||||
|
- Workspace analytics
|
||||||
|
- Adoption metrics
|
||||||
|
|
||||||
|
### Report Types
|
||||||
|
|
||||||
|
| Report | Description |
|
||||||
|
|--------|-------------|
|
||||||
|
| Activity Summary | Weekly/monthly activity |
|
||||||
|
| Company User Detail | User-level metrics |
|
||||||
|
| Compliance Report | Compliance status |
|
||||||
|
| Content Report | Content statistics |
|
||||||
|
|
||||||
|
### Third-Party Analytics
|
||||||
|
- Configure analytics integration
|
||||||
|
- Set tracking parameters
|
||||||
|
- Export analytics data
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
### Regular Maintenance
|
||||||
|
|
||||||
|
1. **Review user access** - Audit permissions quarterly
|
||||||
|
2. **Monitor compliance** - Check flagged content regularly
|
||||||
|
3. **Update themes** - Keep branding current
|
||||||
|
4. **Review integrations** - Verify external connections
|
||||||
|
|
||||||
|
### Security Recommendations
|
||||||
|
|
||||||
|
1. **Enable SSO** - Use SAML authentication
|
||||||
|
2. **Configure audit logging** - Track administrative actions
|
||||||
|
3. **Review OAuth clients** - Audit API access
|
||||||
|
4. **Set HTTP headers** - Enable security headers
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Documentation Links**:
|
||||||
|
- Administration: [https://help.sap.com/docs/build-work-zone-advanced-edition](https://help.sap.com/docs/build-work-zone-advanced-edition)
|
||||||
|
- GitHub: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
306
references/api-reference.md
Normal file
306
references/api-reference.md
Normal file
@@ -0,0 +1,306 @@
|
|||||||
|
# SAP Build Work Zone API Reference
|
||||||
|
|
||||||
|
Complete API reference for SCIM, OData, and Webhook APIs in SAP Build Work Zone, advanced edition.
|
||||||
|
|
||||||
|
**Source**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [API Documentation Resources](#api-documentation-resources)
|
||||||
|
- [SCIM API](#scim-api)
|
||||||
|
- [Overview](#overview-scim)
|
||||||
|
- [Rate Limits](#rate-limits)
|
||||||
|
- [Response Headers](#response-headers)
|
||||||
|
- [Content Type](#content-type)
|
||||||
|
- [User Filtering](#user-filtering)
|
||||||
|
- [SCIM Operations](#scim-operations)
|
||||||
|
- [User Lists](#user-lists)
|
||||||
|
- [Maintenance Windows](#maintenance-windows)
|
||||||
|
- [OData API](#odata-api)
|
||||||
|
- [Overview](#overview-odata)
|
||||||
|
- [Authentication](#authentication)
|
||||||
|
- [Key Endpoints](#key-endpoints)
|
||||||
|
- [Query Options](#query-options)
|
||||||
|
- [Business Records](#business-records)
|
||||||
|
- [Webhooks](#webhooks)
|
||||||
|
- [Overview](#overview-webhooks)
|
||||||
|
- [Webhook URL Format](#webhook-url-format)
|
||||||
|
- [Configuration](#configuration)
|
||||||
|
- [Event Types](#event-types)
|
||||||
|
- [Payload Structure](#payload-structure)
|
||||||
|
- [Chatbot API](#chatbot-api)
|
||||||
|
- [Available Template Variables](#available-template-variables)
|
||||||
|
- [Webhook Actions](#webhook-actions)
|
||||||
|
- [Create Workspace Example](#create-workspace-example)
|
||||||
|
- [Render Card Example](#render-card-example)
|
||||||
|
- [Authentication](#authentication-main)
|
||||||
|
- [OAuth 2.0 Setup](#oauth-20-setup)
|
||||||
|
- [Token Request](#token-request)
|
||||||
|
- [API Request](#api-request)
|
||||||
|
- [Alias Accounts](#alias-accounts)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## API Documentation Resources
|
||||||
|
|
||||||
|
| Resource | URL |
|
||||||
|
|----------|-----|
|
||||||
|
| SAP API Hub | [https://api.sap.com/](https://api.sap.com/) (SAP Cloud Portal Service) |
|
||||||
|
| OData API Docs | [https://jam2.sapjam.com/work_zone/ODataDocs/ui](https://jam2.sapjam.com/work_zone/ODataDocs/ui) |
|
||||||
|
| Webhook Reference | [https://jam2.sapjam.com/work_zone/ODataDocs/webhook_reference](https://jam2.sapjam.com/work_zone/ODataDocs/webhook_reference) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SCIM API
|
||||||
|
|
||||||
|
### Overview {#overview-scim}
|
||||||
|
|
||||||
|
SAP Build Work Zone implements SCIM 2.0 for user provisioning.
|
||||||
|
|
||||||
|
**Endpoint**: `/api/v1/scim`
|
||||||
|
|
||||||
|
**Authentication**: 2-legged OAuth using "Workzone API Client"
|
||||||
|
|
||||||
|
### Rate Limits
|
||||||
|
|
||||||
|
| Limit Type | Value |
|
||||||
|
|------------|-------|
|
||||||
|
| Hourly limit | 10,000 requests/tenant |
|
||||||
|
| Burst limit | 200 requests/minute |
|
||||||
|
|
||||||
|
### Response Headers
|
||||||
|
|
||||||
|
| Header | Description |
|
||||||
|
|--------|-------------|
|
||||||
|
| `X-RateLimit-Limit` | Maximum hourly requests |
|
||||||
|
| `X-RateLimit-Remaining` | Available requests |
|
||||||
|
| `X-RateLimit-Reset` | Seconds until reset |
|
||||||
|
|
||||||
|
### Content Type
|
||||||
|
|
||||||
|
All POST/PUT requests require:
|
||||||
|
```
|
||||||
|
Content-Type: application/json
|
||||||
|
```
|
||||||
|
|
||||||
|
### User Filtering
|
||||||
|
|
||||||
|
Supported filter: `SCIM.userName eq <value>`
|
||||||
|
|
||||||
|
### SCIM Operations
|
||||||
|
|
||||||
|
| Operation | Endpoint | Method |
|
||||||
|
|-----------|----------|--------|
|
||||||
|
| List Users | `/api/v1/scim/Users` | GET |
|
||||||
|
| Get User | `/api/v1/scim/Users/{id}` | GET |
|
||||||
|
| Create User | `/api/v1/scim/Users` | POST |
|
||||||
|
| Update User | `/api/v1/scim/Users/{id}` | PUT |
|
||||||
|
| Delete User | `/api/v1/scim/Users/{id}` | DELETE |
|
||||||
|
|
||||||
|
### User Lists
|
||||||
|
|
||||||
|
| Operation | Endpoint | Method |
|
||||||
|
|-----------|----------|--------|
|
||||||
|
| List User Lists | `/api/v1/scim/Groups` | GET |
|
||||||
|
| Get User List | `/api/v1/scim/Groups/{id}` | GET |
|
||||||
|
| Create User List | `/api/v1/scim/Groups` | POST |
|
||||||
|
| Update User List | `/api/v1/scim/Groups/{id}` | PUT |
|
||||||
|
|
||||||
|
### Maintenance Windows
|
||||||
|
|
||||||
|
During maintenance, API returns:
|
||||||
|
```
|
||||||
|
HTTP 503 Service Unavailable
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## OData API
|
||||||
|
|
||||||
|
### Overview {#overview-odata}
|
||||||
|
|
||||||
|
SAP Build Work Zone uses OData v2 protocol with support for OData v4 query syntax (e.g., advanced `$filter`, `$select` expressions).
|
||||||
|
|
||||||
|
**Protocol**: OData v2 (with v4 query operator extensions)
|
||||||
|
|
||||||
|
**Format**: XML (AtomPub) or JSON
|
||||||
|
|
||||||
|
**Base URL**: `/api/v1/OData`
|
||||||
|
|
||||||
|
### Authentication {#authentication}
|
||||||
|
|
||||||
|
Same OAuth flow as SCIM API.
|
||||||
|
|
||||||
|
### Key Endpoints
|
||||||
|
|
||||||
|
| Resource | Endpoint | Description |
|
||||||
|
|----------|----------|-------------|
|
||||||
|
| Groups | `/api/v1/OData/Groups` | Workspace management |
|
||||||
|
| Members | `/api/v1/OData/Members` | User management |
|
||||||
|
| ContentItems | `/api/v1/OData/ContentItems` | Content operations |
|
||||||
|
| Feeds | `/api/v1/OData/Feeds` | Feed operations |
|
||||||
|
| FeedEntries | `/api/v1/OData/FeedEntries` | Feed entries |
|
||||||
|
|
||||||
|
### Query Options
|
||||||
|
|
||||||
|
| Option | Example |
|
||||||
|
|--------|---------|
|
||||||
|
| $select | `$select=Id,Name` |
|
||||||
|
| $filter | `$filter=Name eq 'Value'` |
|
||||||
|
| $orderby | `$orderby=Created desc` |
|
||||||
|
| $top | `$top=10` |
|
||||||
|
| $skip | `$skip=20` |
|
||||||
|
| $expand | `$expand=Members` |
|
||||||
|
|
||||||
|
### Business Records
|
||||||
|
|
||||||
|
Configure OData annotations to display external business records:
|
||||||
|
|
||||||
|
1. Create OData metadata file with annotations
|
||||||
|
2. Register in Administration Console
|
||||||
|
3. Configure display annotations
|
||||||
|
4. Map to business record types
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Webhooks
|
||||||
|
|
||||||
|
### Overview {#overview-webhooks}
|
||||||
|
|
||||||
|
Track platform events and send notifications to external applications.
|
||||||
|
|
||||||
|
### Webhook URL Format
|
||||||
|
|
||||||
|
```
|
||||||
|
[https://<host-url>/api/v2/ai/webhook](https://<host-url>/api/v2/ai/webhook)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
1. Register webhook URL in Administration Console
|
||||||
|
2. Configure events to monitor
|
||||||
|
3. Set authentication tokens
|
||||||
|
4. Test webhook delivery
|
||||||
|
|
||||||
|
### Event Types
|
||||||
|
|
||||||
|
| Category | Events |
|
||||||
|
|----------|--------|
|
||||||
|
| Workspace | Created, updated, deleted |
|
||||||
|
| Content | Created, modified, deleted |
|
||||||
|
| User | Joined, left, updated |
|
||||||
|
| Feed | Posted, commented, liked |
|
||||||
|
|
||||||
|
### Payload Structure
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"action": "perform_actions",
|
||||||
|
"context": {
|
||||||
|
"senderId": "user_id"
|
||||||
|
},
|
||||||
|
"parameters": {
|
||||||
|
// Event-specific parameters
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Chatbot API
|
||||||
|
|
||||||
|
### Available Template Variables
|
||||||
|
|
||||||
|
When configuring chatbot webhooks, the following template variables are available:
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
|----------|-------------|
|
||||||
|
| `{{participant_data.jamId}}` | Current user's Jam/Work Zone ID |
|
||||||
|
| `{{participant_data.email}}` | Current user's email address |
|
||||||
|
| `{{participant_data.firstName}}` | Current user's first name |
|
||||||
|
| `{{participant_data.lastName}}` | Current user's last name |
|
||||||
|
| `{{conversation_id}}` | Current conversation identifier |
|
||||||
|
| `{{memory.variableName}}` | Custom memory variable from bot |
|
||||||
|
|
||||||
|
### Webhook Actions
|
||||||
|
|
||||||
|
| Action | Description |
|
||||||
|
|--------|-------------|
|
||||||
|
| `perform_actions` | Execute platform actions |
|
||||||
|
| `ui5_card` | Render UI Integration Cards |
|
||||||
|
|
||||||
|
### Create Workspace Example
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"action": "perform_actions",
|
||||||
|
"context": { "senderId": "{{participant_data.jamId}}" },
|
||||||
|
"parameters": {
|
||||||
|
"actionName": "create_workspace",
|
||||||
|
"name": "Workspace Name",
|
||||||
|
"is_private": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Render Card Example
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"action": "ui5_card",
|
||||||
|
"context": { "senderId": "{{participant_data.jamId}}" },
|
||||||
|
"parameters": {
|
||||||
|
"cardId": "sap.card.id",
|
||||||
|
"widgetType": "sapCard"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Authentication {#authentication-main}
|
||||||
|
|
||||||
|
### OAuth 2.0 Setup
|
||||||
|
|
||||||
|
1. Create OAuth client in Administration Console
|
||||||
|
2. Configure client credentials grant
|
||||||
|
3. Obtain access token
|
||||||
|
4. Include in Authorization header
|
||||||
|
|
||||||
|
### Token Request
|
||||||
|
|
||||||
|
```http
|
||||||
|
POST /oauth/token
|
||||||
|
Content-Type: application/x-www-form-urlencoded
|
||||||
|
|
||||||
|
grant_type=client_credentials
|
||||||
|
&client_id={client_id}
|
||||||
|
&client_secret={client_secret}
|
||||||
|
```
|
||||||
|
|
||||||
|
### API Request
|
||||||
|
|
||||||
|
```http
|
||||||
|
GET /api/v1/OData/Groups
|
||||||
|
Authorization: Bearer {access_token}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Alias Accounts
|
||||||
|
|
||||||
|
For system-level API access:
|
||||||
|
|
||||||
|
1. Create alias account in Administration Console
|
||||||
|
2. Navigate to API Access section
|
||||||
|
3. Add OAuth2 Access Token
|
||||||
|
4. Select OAuth client
|
||||||
|
5. Use token for automated API calls
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Documentation Links**:
|
||||||
|
- SAP API Hub: [https://api.sap.com/](https://api.sap.com/)
|
||||||
|
- OData Docs: [https://jam2.sapjam.com/work_zone/ODataDocs/ui](https://jam2.sapjam.com/work_zone/ODataDocs/ui)
|
||||||
|
- Webhook Reference: [https://jam2.sapjam.com/work_zone/ODataDocs/webhook_reference](https://jam2.sapjam.com/work_zone/ODataDocs/webhook_reference)
|
||||||
|
- SAP Help Portal: [https://help.sap.com/docs/build-work-zone-advanced-edition](https://help.sap.com/docs/build-work-zone-advanced-edition)
|
||||||
176
references/auditing.md
Normal file
176
references/auditing.md
Normal file
@@ -0,0 +1,176 @@
|
|||||||
|
# Auditing and Logging Guide
|
||||||
|
|
||||||
|
Complete guide for auditing and logging in SAP Build Work Zone, advanced edition.
|
||||||
|
|
||||||
|
**Source**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
SAP Build Work Zone logs security events across multiple functional areas for compliance and troubleshooting purposes.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Log Event Categories
|
||||||
|
|
||||||
|
### Assets
|
||||||
|
|
||||||
|
Tracks asset lifecycle events:
|
||||||
|
- Asset creation
|
||||||
|
- Asset modification
|
||||||
|
- Asset deletion
|
||||||
|
- Context changes
|
||||||
|
- Tenant changes
|
||||||
|
- Change details recorded
|
||||||
|
|
||||||
|
### CDM Store Service
|
||||||
|
|
||||||
|
Records data management events:
|
||||||
|
- Batch operations
|
||||||
|
- Data deletion
|
||||||
|
- Entity management
|
||||||
|
- Import operations
|
||||||
|
- Transport activities
|
||||||
|
|
||||||
|
### Content Package Manager
|
||||||
|
|
||||||
|
Logs content package lifecycle:
|
||||||
|
- Package installation
|
||||||
|
- Package upgrade
|
||||||
|
- Package uninstallation
|
||||||
|
- Tenant cleanup operations
|
||||||
|
|
||||||
|
### Content Repository
|
||||||
|
|
||||||
|
Monitors repository changes:
|
||||||
|
- Asset additions
|
||||||
|
- Asset removals
|
||||||
|
|
||||||
|
### OData Service
|
||||||
|
|
||||||
|
Security event logging:
|
||||||
|
- Unauthorized access attempts
|
||||||
|
- Access violations
|
||||||
|
|
||||||
|
### Provisioning Service
|
||||||
|
|
||||||
|
Documents provisioning events:
|
||||||
|
- Tenant offboarding operations
|
||||||
|
|
||||||
|
### Role Mapping
|
||||||
|
|
||||||
|
Tracks identity management:
|
||||||
|
- Role lifecycle management
|
||||||
|
- User lifecycle management
|
||||||
|
- Role assignments
|
||||||
|
- Role deletions
|
||||||
|
- User assignments
|
||||||
|
|
||||||
|
### Site Configuration & Storage
|
||||||
|
|
||||||
|
Records site changes:
|
||||||
|
- Configuration changes
|
||||||
|
- Site operations
|
||||||
|
- Settings modifications
|
||||||
|
|
||||||
|
### SPC Service
|
||||||
|
|
||||||
|
Logs provisioning tasks:
|
||||||
|
- Task creation
|
||||||
|
- Task deletion
|
||||||
|
- Status updates
|
||||||
|
|
||||||
|
### Work Zone HR Runtime Approuter
|
||||||
|
|
||||||
|
Captures security events:
|
||||||
|
- Origin validation failures
|
||||||
|
- HTTP method violations
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Log Entry Structure
|
||||||
|
|
||||||
|
Each log entry captures:
|
||||||
|
|
||||||
|
| Field | Description |
|
||||||
|
|-------|-------------|
|
||||||
|
| `by` | Trigger user (who made the change) |
|
||||||
|
| `tenant` | Tenant information |
|
||||||
|
| `timestamp` | Time of change |
|
||||||
|
| `operation` | Type and status of operation |
|
||||||
|
| `entity` | Entity identifiers and context |
|
||||||
|
| `old` | Before state (for modifications) |
|
||||||
|
| `new` | After state (for modifications) |
|
||||||
|
| `locale` | Locale information |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuration Diff Logging
|
||||||
|
|
||||||
|
Configuration changes are logged with:
|
||||||
|
- Site diff information
|
||||||
|
- Instance identifiers
|
||||||
|
- Before/after configuration values
|
||||||
|
- Enables audit trail reconstruction
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Accessing Logs
|
||||||
|
|
||||||
|
### Administration Console
|
||||||
|
|
||||||
|
Location: Administration Console → Compliance & Security → Audit Reports
|
||||||
|
|
||||||
|
### Log Export
|
||||||
|
|
||||||
|
- Export audit data for analysis
|
||||||
|
- Configure log retention periods
|
||||||
|
- Filter by event type
|
||||||
|
- Filter by date range
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Compliance Features
|
||||||
|
|
||||||
|
### Content Administration
|
||||||
|
|
||||||
|
- Review flagged content
|
||||||
|
- Manage content reports
|
||||||
|
- Configure moderation rules
|
||||||
|
|
||||||
|
### Compliance Dictionary
|
||||||
|
|
||||||
|
- Define compliance terms
|
||||||
|
- Configure detection rules
|
||||||
|
- Manage violations
|
||||||
|
|
||||||
|
### Profanity Monitoring
|
||||||
|
|
||||||
|
- Enable profanity detection
|
||||||
|
- Configure word lists
|
||||||
|
- Review flagged content
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
### Security Monitoring
|
||||||
|
|
||||||
|
1. Regularly review unauthorized access attempts
|
||||||
|
2. Monitor role assignment changes
|
||||||
|
3. Track configuration modifications
|
||||||
|
4. Set up alerts for critical events
|
||||||
|
|
||||||
|
### Compliance
|
||||||
|
|
||||||
|
1. Configure appropriate retention periods
|
||||||
|
2. Export logs for external analysis
|
||||||
|
3. Document access patterns
|
||||||
|
4. Review audit trails periodically
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Documentation Links**:
|
||||||
|
- Auditing: [https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/auditing-and-logging](https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/auditing-and-logging)
|
||||||
|
- GitHub: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
297
references/chatbots.md
Normal file
297
references/chatbots.md
Normal file
@@ -0,0 +1,297 @@
|
|||||||
|
# Chatbot Integration Guide
|
||||||
|
|
||||||
|
> **⚠️ DEPRECATION NOTICE**: SAP Conversational AI entered maintenance/sunset mode as of January 2023. Functionality may be limited or deprecated. Verify current support status before implementing custom chatbots. See [SAP Product Availability Matrix](https://support.sap.com/en/release-upgrade-maintenance/maintenance-information/product-availability-matrix.html) for lifecycle details. Consider SAP Build Apps or other alternatives for new implementations.
|
||||||
|
|
||||||
|
Complete guide for integrating and configuring chatbots in SAP Build Work Zone, advanced edition.
|
||||||
|
|
||||||
|
**Source**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/50-Chatbots](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/50-Chatbots)
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [Overview](#overview)
|
||||||
|
- [Built-in Capabilities](#built-in-capabilities)
|
||||||
|
- [Chatbot Types](#chatbot-types)
|
||||||
|
- [Implementation Process](#implementation-process)
|
||||||
|
- [Webhook Configuration](#webhook-configuration)
|
||||||
|
- [Chatbot Actions](#chatbot-actions)
|
||||||
|
- [Rendering Cards with Chatbots](#rendering-cards-with-chatbots)
|
||||||
|
- [SAP Conversational AI Integration](#sap-conversational-ai-integration)
|
||||||
|
- [Chatbot Launcher](#chatbot-launcher)
|
||||||
|
- [Fallback Handling](#fallback-handling)
|
||||||
|
- [Troubleshooting](#troubleshooting)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
Chatbots help users accomplish tasks through conversational interaction. They support custom training, actions, and card rendering within SAP Build Work Zone.
|
||||||
|
|
||||||
|
## Built-in Capabilities
|
||||||
|
|
||||||
|
Default chatbot features include:
|
||||||
|
- Workspace creation
|
||||||
|
- Leave request processing
|
||||||
|
- Business news delivery
|
||||||
|
- Content searching
|
||||||
|
- Entertainment (jokes, weather updates)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Chatbot Types
|
||||||
|
|
||||||
|
### SAP Build Work Zone Chatbot (Recommended)
|
||||||
|
|
||||||
|
Pre-built chatbots with built-in functionalities:
|
||||||
|
|
||||||
|
| Variant | Features |
|
||||||
|
|---------|----------|
|
||||||
|
| Full-featured | All capabilities enabled |
|
||||||
|
| Workspace Creation | Workspace management only |
|
||||||
|
| Business News | News delivery only |
|
||||||
|
| Search | Content search only |
|
||||||
|
| Leave Requests | Leave management only |
|
||||||
|
| Smart Talk | Conversational features |
|
||||||
|
|
||||||
|
### Custom Chatbots
|
||||||
|
|
||||||
|
Build independent chatbots using SAP Conversational AI platform:
|
||||||
|
- URL: [https://cai.tools.sap/](https://cai.tools.sap/)
|
||||||
|
- Custom training and intents
|
||||||
|
- Organization-specific actions
|
||||||
|
|
||||||
|
> **Note**: SAP Conversational AI is in maintenance mode since January 2023. Verify support status before starting new implementations.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Implementation Process
|
||||||
|
|
||||||
|
### Step 1: Fork Chatbot Repository
|
||||||
|
|
||||||
|
Development begins by copying a base chatbot repository:
|
||||||
|
- Creates independent branch for customization
|
||||||
|
- Can fork entire bots or specific intents only
|
||||||
|
|
||||||
|
### Step 2: OAuth Registration
|
||||||
|
|
||||||
|
Authorize chatbot to access APIs:
|
||||||
|
1. Navigate to Administration Console
|
||||||
|
2. Go to External Integrations > OAuth Clients
|
||||||
|
3. Register client credentials
|
||||||
|
4. Configure required scopes
|
||||||
|
|
||||||
|
### Step 3: Alias Account Setup
|
||||||
|
|
||||||
|
Create system user account for chatbot:
|
||||||
|
1. Go to User Management > Alias Accounts
|
||||||
|
2. Create new alias account
|
||||||
|
3. Configure permissions
|
||||||
|
4. Add OAuth2 Access Token
|
||||||
|
5. Link token to chatbot
|
||||||
|
|
||||||
|
### Step 4: Configure Push Notifications
|
||||||
|
|
||||||
|
Set up event-triggered notifications:
|
||||||
|
|
||||||
|
| Category | Events |
|
||||||
|
|----------|--------|
|
||||||
|
| Alias Account | Account-related events |
|
||||||
|
| Content | Content creation/modification |
|
||||||
|
| Workspace | Workspace activities |
|
||||||
|
| Forum | Discussion events |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Webhook Configuration
|
||||||
|
|
||||||
|
Webhooks enable chatbots to invoke SAP Build Work Zone services.
|
||||||
|
|
||||||
|
### Webhook URL Format
|
||||||
|
|
||||||
|
```
|
||||||
|
[https://<host-url>/api/v2/ai/webhook](https://<host-url>/api/v2/ai/webhook)
|
||||||
|
```
|
||||||
|
|
||||||
|
Example: `[https://dwpdev1.sapjam-integration.com/api/v2/ai/webhook`](https://dwpdev1.sapjam-integration.com/api/v2/ai/webhook`)
|
||||||
|
|
||||||
|
### Authorization
|
||||||
|
|
||||||
|
- Add OAuth token from Alias Account in Headers tab
|
||||||
|
- Token must have appropriate scopes for desired actions
|
||||||
|
|
||||||
|
### Available Template Variables
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
|----------|-------------|
|
||||||
|
| `{{participant_data.jamId}}` | Current user's Jam/Work Zone ID |
|
||||||
|
| `{{participant_data.email}}` | Current user's email address |
|
||||||
|
| `{{conversation_id}}` | Current conversation identifier |
|
||||||
|
|
||||||
|
### Payload Structure
|
||||||
|
|
||||||
|
All webhook payloads require three mandatory components:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"action": "perform_actions",
|
||||||
|
"context": {
|
||||||
|
"senderId": "{{participant_data.jamId}}"
|
||||||
|
},
|
||||||
|
"parameters": {
|
||||||
|
// Action-specific parameters
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Chatbot Actions
|
||||||
|
|
||||||
|
### Supported Actions
|
||||||
|
|
||||||
|
| Action | Purpose |
|
||||||
|
|--------|---------|
|
||||||
|
| `perform_actions` | Execute platform actions |
|
||||||
|
| `ui5_card` | Render UI Integration Cards |
|
||||||
|
| `create_workspace` | Create new workspace |
|
||||||
|
| `get_workspace_templates` | Retrieve available templates |
|
||||||
|
|
||||||
|
### Create Workspace Action
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"action": "perform_actions",
|
||||||
|
"context": {
|
||||||
|
"senderId": "{{participant_data.jamId}}"
|
||||||
|
},
|
||||||
|
"parameters": {
|
||||||
|
"actionName": "create_workspace",
|
||||||
|
"name": "Workspace Name",
|
||||||
|
"is_private": false,
|
||||||
|
"template": "template_id"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
| Parameter | Required | Description |
|
||||||
|
|-----------|----------|-------------|
|
||||||
|
| actionName | Yes | Fixed: "create_workspace" |
|
||||||
|
| name | Yes | AI-derived from user input |
|
||||||
|
| is_private | No | Privacy setting |
|
||||||
|
| template | No | Template ID to use |
|
||||||
|
|
||||||
|
### Get Workspace Templates Action
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"action": "perform_actions",
|
||||||
|
"context": {
|
||||||
|
"senderId": "{{participant_data.jamId}}"
|
||||||
|
},
|
||||||
|
"parameters": {
|
||||||
|
"actionName": "get_workspace_templates"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Rendering Cards with Chatbots
|
||||||
|
|
||||||
|
Chatbots can render UI Integration Cards for enhanced user experiences.
|
||||||
|
|
||||||
|
### Supported Card Types
|
||||||
|
|
||||||
|
- Leave request cards
|
||||||
|
- Business News cards
|
||||||
|
- Search result cards
|
||||||
|
- Custom cards
|
||||||
|
|
||||||
|
### Card Setup Process
|
||||||
|
|
||||||
|
1. **Upload Card**: Administration Console → UI Integration → Cards & Widgets → Upload Card
|
||||||
|
2. **Get Card ID**: Copy unique card identifier from Administration Console
|
||||||
|
3. **Configure Webhook**: Add card ID to chatbot payload
|
||||||
|
|
||||||
|
### Card Rendering Payload
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"action": "ui5_card",
|
||||||
|
"context": {
|
||||||
|
"senderId": "{{participant_data.jamId}}"
|
||||||
|
},
|
||||||
|
"parameters": {
|
||||||
|
"cardId": "sap.dwp.test.card.searchResult",
|
||||||
|
"widgetType": "sapCard"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
| Parameter | Required | Values |
|
||||||
|
|-----------|----------|--------|
|
||||||
|
| cardId | Yes | Unique card identifier |
|
||||||
|
| widgetType | No | "sapCard" or "sapWidget" (default) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SAP Conversational AI Integration
|
||||||
|
|
||||||
|
> **Note**: SAP Conversational AI entered maintenance mode in January 2023. This section is provided for existing implementations only.
|
||||||
|
|
||||||
|
### Connector Setup
|
||||||
|
|
||||||
|
1. Access SAP Conversational AI platform
|
||||||
|
2. Use built-in "SAP Jam Collaboration" connector
|
||||||
|
3. Configure connection to SAP Build Work Zone
|
||||||
|
|
||||||
|
### Configuration Steps
|
||||||
|
|
||||||
|
1. Go to Build > [Your Bot] > Webhook Configuration
|
||||||
|
2. Enter webhook URL
|
||||||
|
3. Add OAuth token in Headers
|
||||||
|
4. Configure payload in Body tab
|
||||||
|
|
||||||
|
### Configuration Location
|
||||||
|
|
||||||
|
Administration Console > External Integrations > Chatbot Configuration
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Chatbot Launcher
|
||||||
|
|
||||||
|
### Enabling Chatbot
|
||||||
|
|
||||||
|
1. Configure chatbot in Administration Console
|
||||||
|
2. Enable Chatbot Launcher feature
|
||||||
|
3. Chatbot icon appears in bottom-right corner
|
||||||
|
|
||||||
|
### User Access
|
||||||
|
|
||||||
|
- Available on most pages (except Applications page)
|
||||||
|
- Multiple bots can be configured
|
||||||
|
- Users select preferred bot from list
|
||||||
|
|
||||||
|
### Interface Controls
|
||||||
|
|
||||||
|
| Control | Function |
|
||||||
|
|---------|----------|
|
||||||
|
| Switch | Change between configured bots |
|
||||||
|
| Fullscreen | Toggle fullscreen mode |
|
||||||
|
| Close | Close chatbot window |
|
||||||
|
| Send | Submit message (Ctrl+Enter / Cmd+Enter) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Fallback Handling
|
||||||
|
|
||||||
|
When chatbot cannot understand a request:
|
||||||
|
- Returns fallback message
|
||||||
|
- Indicates incomprehension
|
||||||
|
- Suggests alternative phrasing
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Documentation Links**:
|
||||||
|
- Chatbots: [https://help.sap.com/docs/build-work-zone-advanced-edition](https://help.sap.com/docs/build-work-zone-advanced-edition)
|
||||||
|
- SAP Conversational AI: [https://cai.tools.sap/](https://cai.tools.sap/) (sunset/maintenance mode since Jan 2023)
|
||||||
|
- GitHub: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/50-Chatbots](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/50-Chatbots)
|
||||||
266
references/content-packages.md
Normal file
266
references/content-packages.md
Normal file
@@ -0,0 +1,266 @@
|
|||||||
|
# Content Packages Development Guide
|
||||||
|
|
||||||
|
Complete guide for creating, managing, and deploying content packages in SAP Build Work Zone, advanced edition.
|
||||||
|
|
||||||
|
**Source**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/30-ContentPackages](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/30-ContentPackages)
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [Overview](#overview)
|
||||||
|
- [Package Types](#package-types)
|
||||||
|
- [Global Content Packages](#global-content-packages)
|
||||||
|
- [Local Content Packages](#local-content-packages)
|
||||||
|
- [Supported Content Items](#supported-content-items)
|
||||||
|
- [Creating a Content Package](#creating-a-content-package)
|
||||||
|
- [Package Manifest](#package-manifest)
|
||||||
|
- [Deploying Content Packages](#deploying-content-packages)
|
||||||
|
- [Package Management](#package-management)
|
||||||
|
- [Updating Content Packages](#updating-content-packages)
|
||||||
|
- [Project Structure](#project-structure)
|
||||||
|
- [Post-Creation Actions](#post-creation-actions)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
Content packages are collections of content artifacts bundled in a ZIP file for distribution and installation. They enable packaging and deploying UI Integration Cards, workspace templates, workflows, home pages, and workspaces.
|
||||||
|
|
||||||
|
## Package Types
|
||||||
|
|
||||||
|
### Global Content Packages
|
||||||
|
|
||||||
|
Pre-built packages available to all SAP Build Work Zone customers:
|
||||||
|
|
||||||
|
- Available without manual upload
|
||||||
|
- Require administrator installation
|
||||||
|
- Cannot be customized or downloaded
|
||||||
|
- Sourced from SAP or third-party providers
|
||||||
|
|
||||||
|
**Examples**:
|
||||||
|
- Employee Onboarding
|
||||||
|
- HR Content from SuccessFactors
|
||||||
|
- Insights: Change Management
|
||||||
|
|
||||||
|
### Local Content Packages
|
||||||
|
|
||||||
|
Customer-developed packages:
|
||||||
|
|
||||||
|
- Developed internally
|
||||||
|
- Require manual upload
|
||||||
|
- Can be downloaded and customized
|
||||||
|
- Require administrator installation
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Supported Content Items
|
||||||
|
|
||||||
|
Content packages can include:
|
||||||
|
|
||||||
|
| Item Type | Description |
|
||||||
|
|-----------|-------------|
|
||||||
|
| UI Integration Cards | SAPUI5 cards for data display |
|
||||||
|
| Workflows | Business process automation |
|
||||||
|
| Workspace Templates | Reusable workspace blueprints |
|
||||||
|
| Home Pages | Pre-configured landing pages |
|
||||||
|
| Workspaces | Complete workspace exports |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Creating a Content Package
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
- SAP Business Application Studio subscription
|
||||||
|
- Dev space with "Development Tools for SAP Build Work Zone, Advanced Edition" extension
|
||||||
|
- Destination to content repository configured
|
||||||
|
- Workzone_Admin role collection
|
||||||
|
|
||||||
|
### Step 1: Create Project
|
||||||
|
|
||||||
|
1. Open SAP Business Application Studio
|
||||||
|
2. Select "New Project From Template"
|
||||||
|
3. Choose "Content Package" → "Start"
|
||||||
|
4. Complete Project Details form
|
||||||
|
|
||||||
|
**Alternative**: Use command `Content Package: Create Content Package Project`
|
||||||
|
|
||||||
|
### Step 2: Configure Project Details
|
||||||
|
|
||||||
|
| Field | Description |
|
||||||
|
|-------|-------------|
|
||||||
|
| Project Name | Custom identifier for project |
|
||||||
|
| Namespace | Generates Content Package ID: `<namespace>.<project_name>` |
|
||||||
|
| Title | Display title |
|
||||||
|
| Subtitle | Display subtitle |
|
||||||
|
| Content Samples | Toggle to include sample artifacts |
|
||||||
|
|
||||||
|
### Step 3: Add Content Items
|
||||||
|
|
||||||
|
Add artifacts to the package:
|
||||||
|
- UI Integration Cards
|
||||||
|
- Workspace templates
|
||||||
|
- Workflows
|
||||||
|
- Other supported content
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Package Manifest
|
||||||
|
|
||||||
|
### Basic Structure
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"_version": "1.0.0",
|
||||||
|
"sap.package": {
|
||||||
|
"id": "com.company.mypackage",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"title": "My Content Package",
|
||||||
|
"description": "Package description",
|
||||||
|
"vendor": "Company Name",
|
||||||
|
"icon": "sap-icon://package"
|
||||||
|
},
|
||||||
|
"contents": {
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"id": "namespace.cardname",
|
||||||
|
"type": "card",
|
||||||
|
"src": "cards/cardname"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"workspaceTemplates": [
|
||||||
|
{
|
||||||
|
"id": "namespace.templatename",
|
||||||
|
"type": "workspaceTemplate",
|
||||||
|
"src": "templates/templatename"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Destination Prerequisites
|
||||||
|
|
||||||
|
For remote system integration, add prerequisites section:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"sap.package": {
|
||||||
|
"id": "com.company.mypackage",
|
||||||
|
"prerequisites": {
|
||||||
|
"destinations": [
|
||||||
|
{
|
||||||
|
"name": "MyDestination",
|
||||||
|
"document": "[https://documentation.url"](https://documentation.url")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SecondDestination"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Important**: Destinations must be configured in BTP Cockpit Destinations screen before deployment.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Deploying Content Packages
|
||||||
|
|
||||||
|
### Method 1: Direct Deployment
|
||||||
|
|
||||||
|
1. Right-click project in explorer
|
||||||
|
2. Select "Deploy to SAP Build Work Zone"
|
||||||
|
3. Package deploys directly to target system
|
||||||
|
|
||||||
|
### Method 2: Manual Upload
|
||||||
|
|
||||||
|
1. Right-click project
|
||||||
|
2. Select "Package"
|
||||||
|
3. Download generated ZIP file
|
||||||
|
4. Upload in Administration Console → UI Integration → Content Packages
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Package Management
|
||||||
|
|
||||||
|
### Administration Console
|
||||||
|
|
||||||
|
Location: **UI Integration > Content Packages**
|
||||||
|
|
||||||
|
### Package Statuses
|
||||||
|
|
||||||
|
| Status | Description |
|
||||||
|
|--------|-------------|
|
||||||
|
| Ready to Install | Package uploaded, not installed |
|
||||||
|
| Installed | Package active in system |
|
||||||
|
| Upgrade Available | Newer version available |
|
||||||
|
|
||||||
|
### Management Features
|
||||||
|
|
||||||
|
- Search packages by name
|
||||||
|
- Filter by provider source
|
||||||
|
- Filter by installation status
|
||||||
|
- View package contents
|
||||||
|
- Install/uninstall packages
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Updating Content Packages
|
||||||
|
|
||||||
|
### Version Management
|
||||||
|
|
||||||
|
1. Increment version in manifest
|
||||||
|
2. Update content items as needed
|
||||||
|
3. Redeploy package
|
||||||
|
4. Install upgrade in Administration Console
|
||||||
|
|
||||||
|
### Update Workflow
|
||||||
|
|
||||||
|
1. Open existing project
|
||||||
|
2. Modify content or configuration
|
||||||
|
3. Update version number
|
||||||
|
4. Deploy updated package
|
||||||
|
|
||||||
|
### Best Practices
|
||||||
|
|
||||||
|
- Use semantic versioning (major.minor.patch)
|
||||||
|
- Document changes in package description
|
||||||
|
- Test in development before production
|
||||||
|
- Maintain backward compatibility when possible
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
content-package-project/
|
||||||
|
├── manifest.json # Package manifest
|
||||||
|
├── cards/
|
||||||
|
│ └── cardname/
|
||||||
|
│ ├── manifest.json # Card manifest
|
||||||
|
│ └── dt/
|
||||||
|
│ └── configuration.js
|
||||||
|
├── templates/
|
||||||
|
│ └── templatename/
|
||||||
|
│ └── template.json
|
||||||
|
└── workflows/
|
||||||
|
└── workflowname/
|
||||||
|
└── workflow.json
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Post-Creation Actions
|
||||||
|
|
||||||
|
| Action | Description |
|
||||||
|
|--------|-------------|
|
||||||
|
| Update | Modify package artifacts |
|
||||||
|
| Deploy | Push to target environment |
|
||||||
|
| Delete | Remove via right-click context menu |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Documentation Links**:
|
||||||
|
- Content Packages: [https://help.sap.com/docs/build-work-zone-advanced-edition](https://help.sap.com/docs/build-work-zone-advanced-edition)
|
||||||
|
- GitHub: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/30-ContentPackages](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/30-ContentPackages)
|
||||||
124
references/mobile-app.md
Normal file
124
references/mobile-app.md
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
# SAP Build Work Zone Mobile App Guide
|
||||||
|
|
||||||
|
Complete guide for the SAP Build Work Zone, advanced edition mobile application.
|
||||||
|
|
||||||
|
**Source**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The mobile app provides access to SAP Build Work Zone features on iOS and Android devices.
|
||||||
|
|
||||||
|
## Platform Requirements
|
||||||
|
|
||||||
|
| Platform | Minimum Version |
|
||||||
|
|----------|-----------------|
|
||||||
|
| iOS | 13 or later (iPhone/iPad) |
|
||||||
|
| Android | 7.x or later |
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Active account in SAP Build Work Zone, advanced edition
|
||||||
|
- Network connectivity to SAP Build Work Zone instance
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Core Features
|
||||||
|
|
||||||
|
### Workspace Management
|
||||||
|
|
||||||
|
- Access all assigned workspaces
|
||||||
|
- Comment with tagging and likes
|
||||||
|
- Invite users to workspaces
|
||||||
|
- View workspace member information
|
||||||
|
|
||||||
|
### Content & Documents
|
||||||
|
|
||||||
|
- Download files from workspaces
|
||||||
|
- Upload files to workspaces
|
||||||
|
- Browse various content types
|
||||||
|
- Access Knowledge Base
|
||||||
|
|
||||||
|
### Search
|
||||||
|
|
||||||
|
- Search for workspaces
|
||||||
|
- Search for people
|
||||||
|
- Search for content
|
||||||
|
- Keyword-based search matching web application
|
||||||
|
|
||||||
|
### Communication
|
||||||
|
|
||||||
|
- View and post to feeds
|
||||||
|
- Receive notifications
|
||||||
|
- Access inbox functionality
|
||||||
|
- View and manage tasks
|
||||||
|
|
||||||
|
### Task Management
|
||||||
|
|
||||||
|
- Display tasks
|
||||||
|
- Create new tasks
|
||||||
|
- Edit existing tasks
|
||||||
|
|
||||||
|
### Profile Management
|
||||||
|
|
||||||
|
- View personal profile
|
||||||
|
- Access workspace member profiles
|
||||||
|
- View contact details
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Security Features
|
||||||
|
|
||||||
|
### Passcode Protection
|
||||||
|
|
||||||
|
- Set up device passcode
|
||||||
|
- Configure passcode requirements
|
||||||
|
|
||||||
|
### Biometric Authentication
|
||||||
|
|
||||||
|
- Fingerprint authentication (supported devices)
|
||||||
|
- Face scan authentication (supported devices)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
### Language Settings
|
||||||
|
|
||||||
|
- Default: Device operating system language
|
||||||
|
- Configurable in app settings
|
||||||
|
|
||||||
|
### Web Browser Integration
|
||||||
|
|
||||||
|
- "My Workspace" accessible via built-in browser
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Administration
|
||||||
|
|
||||||
|
### Mobile Apps Configuration
|
||||||
|
|
||||||
|
Location: Administration Console → External Integrations → Mobile Apps
|
||||||
|
|
||||||
|
### Configuration Options
|
||||||
|
|
||||||
|
- Enable/disable mobile access
|
||||||
|
- Configure mobile policies
|
||||||
|
- Manage app distribution settings
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Building Custom Mobile Apps
|
||||||
|
|
||||||
|
For organizations requiring customized mobile applications:
|
||||||
|
|
||||||
|
1. Access SAP documentation for custom mobile app development
|
||||||
|
2. Configure custom branding
|
||||||
|
3. Deploy through enterprise app stores
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Documentation Links**:
|
||||||
|
- Mobile App: [https://help.sap.com/docs/build-work-zone-advanced-edition](https://help.sap.com/docs/build-work-zone-advanced-edition)
|
||||||
|
- GitHub: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
147
references/notifications.md
Normal file
147
references/notifications.md
Normal file
@@ -0,0 +1,147 @@
|
|||||||
|
# Notifications Guide
|
||||||
|
|
||||||
|
Complete guide for configuring and managing notifications in SAP Build Work Zone, advanced edition.
|
||||||
|
|
||||||
|
**Source**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
SAP Build Work Zone provides multiple notification mechanisms to keep users informed about important updates, invitations, and approval requests.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Notification Types
|
||||||
|
|
||||||
|
### Bell Notifications
|
||||||
|
|
||||||
|
- No setup required
|
||||||
|
- Alerts for important updates
|
||||||
|
- Invitation notifications
|
||||||
|
- Approval request notifications
|
||||||
|
- Accessible from top navigation bar
|
||||||
|
|
||||||
|
### Email Notifications
|
||||||
|
|
||||||
|
Configured through: User Actions Menu → Settings → Advanced Settings → Email
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Email Notification Configuration
|
||||||
|
|
||||||
|
### Settings Tabs
|
||||||
|
|
||||||
|
#### Notifications Tab
|
||||||
|
|
||||||
|
Select events for email notifications:
|
||||||
|
- Activity that involves you
|
||||||
|
- Daily Summary Emails
|
||||||
|
- System notifications
|
||||||
|
|
||||||
|
#### Workspace Notifications Tab
|
||||||
|
|
||||||
|
- Configure frequency for all workspaces
|
||||||
|
- Individual workspace notification settings
|
||||||
|
- Override global settings per workspace
|
||||||
|
|
||||||
|
#### Collaboration Tab
|
||||||
|
|
||||||
|
- Update home feed preferences
|
||||||
|
- Select sender email address
|
||||||
|
- Configure collaboration alerts
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Mention Notifications
|
||||||
|
|
||||||
|
### @mention
|
||||||
|
|
||||||
|
Notify specific users:
|
||||||
|
- Context-aware filtering
|
||||||
|
- Workspace members
|
||||||
|
- All users (based on permissions)
|
||||||
|
- Inline mention in content
|
||||||
|
|
||||||
|
### @@notify
|
||||||
|
|
||||||
|
Notify multiple users simultaneously:
|
||||||
|
- Workspace members notification
|
||||||
|
- Followers notification
|
||||||
|
- Bulk notification capability
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Notification Categories
|
||||||
|
|
||||||
|
| Category | Description |
|
||||||
|
|----------|-------------|
|
||||||
|
| Social Updates | Mentions, replies, likes |
|
||||||
|
| Invitations | Workspace invitations, event invitations |
|
||||||
|
| Requests | Join workspace, content approval |
|
||||||
|
| Tasks | Assignments, reminders, due dates |
|
||||||
|
| Informational | Featured status, access grants |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Webhook Notifications
|
||||||
|
|
||||||
|
### Configuration Location
|
||||||
|
|
||||||
|
Administration Console → External Integrations → Webhook-based Notifications
|
||||||
|
|
||||||
|
### Webhook Events
|
||||||
|
|
||||||
|
Configure webhooks for:
|
||||||
|
- Content events
|
||||||
|
- Workspace events
|
||||||
|
- User events
|
||||||
|
- System events
|
||||||
|
|
||||||
|
### Webhook Setup
|
||||||
|
|
||||||
|
1. Navigate to External Integrations
|
||||||
|
2. Configure webhook endpoint URL
|
||||||
|
3. Select events to trigger
|
||||||
|
4. Configure authentication
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Push Notifications
|
||||||
|
|
||||||
|
### Chatbot Push Notifications
|
||||||
|
|
||||||
|
Configure event-triggered notifications for chatbots:
|
||||||
|
|
||||||
|
| Category | Events |
|
||||||
|
|----------|--------|
|
||||||
|
| Alias Account | Account-related events |
|
||||||
|
| Content | Content creation/modification |
|
||||||
|
| Workspace | Workspace activities |
|
||||||
|
| Forum | Discussion events |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
### User Experience
|
||||||
|
|
||||||
|
1. Configure appropriate notification frequency
|
||||||
|
2. Avoid notification overload
|
||||||
|
3. Use @mention for targeted notifications
|
||||||
|
4. Leverage daily summaries for non-urgent updates
|
||||||
|
|
||||||
|
### Administration
|
||||||
|
|
||||||
|
1. Review notification policies
|
||||||
|
2. Configure default notification settings
|
||||||
|
3. Monitor webhook reliability
|
||||||
|
4. Test notification delivery
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Documentation Links**:
|
||||||
|
- Notifications: [https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/about-notifications](https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/about-notifications)
|
||||||
|
- Notification Service Integration: [https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/integrating-with-central-services](https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/integrating-with-central-services)
|
||||||
|
- SAP Learning - Notifications: [https://learning.sap.com/learning-journeys/developing-with-sap-extension-suite](https://learning.sap.com/learning-journeys/developing-with-sap-extension-suite) (search "notifications")
|
||||||
|
- GitHub: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
135
references/security.md
Normal file
135
references/security.md
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
# SAP Build Work Zone Security Guide
|
||||||
|
|
||||||
|
Security configuration for SAP Build Work Zone, advanced edition.
|
||||||
|
|
||||||
|
**Source**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [Authentication Methods](#authentication-methods)
|
||||||
|
- [SAML Identity Providers](#saml-identity-providers)
|
||||||
|
- [OAuth Clients](#oauth-clients)
|
||||||
|
- [Single Sign-On (SSO)](#single-sign-on-sso)
|
||||||
|
- [Access Control](#access-control)
|
||||||
|
- [Role Collections](#role-collections)
|
||||||
|
- [Workspace Permissions](#workspace-permissions)
|
||||||
|
- [HTTP Security Headers](#http-security-headers)
|
||||||
|
- [Recommended Headers](#recommended-headers)
|
||||||
|
- [Example Configuration](#example-configuration)
|
||||||
|
- [Configuration Location](#configuration-location)
|
||||||
|
- [Compliance Features](#compliance-features)
|
||||||
|
- [Compliance Monitor](#compliance-monitor)
|
||||||
|
- [Profanity Monitor](#profanity-monitor)
|
||||||
|
- [Content Administration](#content-administration)
|
||||||
|
- [Audit Logging](#audit-logging)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Authentication Methods
|
||||||
|
|
||||||
|
### SAML Identity Providers
|
||||||
|
|
||||||
|
Configure trusted SAML IdPs for SSO:
|
||||||
|
|
||||||
|
1. Navigate to Administration Console
|
||||||
|
2. Go to Authentication > SAML Trusted IdPs
|
||||||
|
3. Add IdP metadata
|
||||||
|
|
||||||
|
### OAuth Clients
|
||||||
|
|
||||||
|
Register OAuth clients for API access:
|
||||||
|
|
||||||
|
1. Go to Authentication > OAuth Clients
|
||||||
|
2. Create new client
|
||||||
|
3. Configure scopes and permissions
|
||||||
|
|
||||||
|
### Single Sign-On (SSO)
|
||||||
|
|
||||||
|
SSO is enabled through:
|
||||||
|
- SAML federation
|
||||||
|
- SAP Cloud Identity Services
|
||||||
|
- Corporate IdP integration
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Access Control
|
||||||
|
|
||||||
|
### Role Collections
|
||||||
|
|
||||||
|
Key roles:
|
||||||
|
- `Workzone_Admin` - Full administration
|
||||||
|
- `Workzone_User` - Standard access
|
||||||
|
- `Workzone_HR_Admin` - HR integration
|
||||||
|
|
||||||
|
### Workspace Permissions
|
||||||
|
|
||||||
|
- Owner
|
||||||
|
- Admin
|
||||||
|
- Member
|
||||||
|
- Viewer
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## HTTP Security Headers
|
||||||
|
|
||||||
|
Configure security headers to protect against common web vulnerabilities.
|
||||||
|
|
||||||
|
### Recommended Headers
|
||||||
|
|
||||||
|
| Header | Value | Protection |
|
||||||
|
|--------|-------|------------|
|
||||||
|
| X-Frame-Options | SAMEORIGIN | Clickjacking |
|
||||||
|
| Content-Security-Policy | default-src 'self' | XSS, content injection |
|
||||||
|
| X-Content-Type-Options | nosniff | MIME-type sniffing |
|
||||||
|
| X-XSS-Protection | 1; mode=block | Cross-site scripting |
|
||||||
|
| Strict-Transport-Security | max-age=31536000 | Protocol downgrade |
|
||||||
|
|
||||||
|
### Example Configuration
|
||||||
|
|
||||||
|
```
|
||||||
|
X-Frame-Options: SAMEORIGIN
|
||||||
|
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'
|
||||||
|
X-Content-Type-Options: nosniff
|
||||||
|
X-XSS-Protection: 1; mode=block
|
||||||
|
Strict-Transport-Security: max-age=31536000; includeSubDomains
|
||||||
|
```
|
||||||
|
|
||||||
|
### Configuration Location
|
||||||
|
|
||||||
|
Security headers are typically configured at:
|
||||||
|
- BTP Application Router (xs-app.json)
|
||||||
|
- SAP Cloud Connector
|
||||||
|
- Load balancer/reverse proxy level
|
||||||
|
|
||||||
|
> **Note**: For API security including OAuth flows and token handling, see `references/api-reference.md`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Compliance Features
|
||||||
|
|
||||||
|
### Compliance Monitor
|
||||||
|
Flags content matching compliance dictionary terms.
|
||||||
|
|
||||||
|
### Profanity Monitor
|
||||||
|
Detects and flags profanity violations.
|
||||||
|
|
||||||
|
### Content Administration
|
||||||
|
Review and manage flagged content.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Audit Logging
|
||||||
|
|
||||||
|
Security events logged include:
|
||||||
|
- Authentication attempts
|
||||||
|
- Permission changes
|
||||||
|
- Content modifications
|
||||||
|
- Administrative actions
|
||||||
|
|
||||||
|
For detailed audit logging configuration, see `references/auditing.md`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Documentation Links**:
|
||||||
|
- Security Guide: [https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/security](https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/security)
|
||||||
|
- SAP Cloud Identity: [https://help.sap.com/docs/cloud-identity-services](https://help.sap.com/docs/cloud-identity-services)
|
||||||
125
references/troubleshooting.md
Normal file
125
references/troubleshooting.md
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
# SAP Build Work Zone Troubleshooting Guide
|
||||||
|
|
||||||
|
Common issues and solutions for SAP Build Work Zone, advanced edition.
|
||||||
|
|
||||||
|
**Source**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [API Errors](#api-errors)
|
||||||
|
- [HTTP 503 - Service Unavailable](#http-503---service-unavailable)
|
||||||
|
- [HTTP 429 - Too Many Requests](#http-429---too-many-requests)
|
||||||
|
- [OAuth Authentication Failure](#oauth-authentication-failure)
|
||||||
|
- [Card Issues](#card-issues)
|
||||||
|
- [Card Not Displaying](#card-not-displaying)
|
||||||
|
- [Card Deployment Failed](#card-deployment-failed)
|
||||||
|
- [Workspace Issues](#workspace-issues)
|
||||||
|
- [Cannot Create Workspace](#cannot-create-workspace)
|
||||||
|
- [Missing Content](#missing-content)
|
||||||
|
- [Performance Issues](#performance-issues)
|
||||||
|
- [Slow Page Load](#slow-page-load)
|
||||||
|
- [Integration Issues](#integration-issues)
|
||||||
|
- [Microsoft Teams Connection Failed](#microsoft-teams-connection-failed)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## API Errors
|
||||||
|
|
||||||
|
### HTTP 503 - Service Unavailable
|
||||||
|
|
||||||
|
**Cause**: Service maintenance or system overload
|
||||||
|
|
||||||
|
**Solution**: Wait and retry after a few minutes
|
||||||
|
|
||||||
|
### HTTP 429 - Too Many Requests
|
||||||
|
|
||||||
|
**Cause**: Rate limit exceeded
|
||||||
|
|
||||||
|
**Solution**:
|
||||||
|
1. Check `X-RateLimit-Remaining` header
|
||||||
|
2. Wait for `X-RateLimit-Reset` seconds
|
||||||
|
3. Implement exponential backoff
|
||||||
|
|
||||||
|
### OAuth Authentication Failure
|
||||||
|
|
||||||
|
**Cause**: Invalid or expired credentials
|
||||||
|
|
||||||
|
**Solution**:
|
||||||
|
1. Verify Workzone API Client credentials
|
||||||
|
2. Check OAuth token expiration
|
||||||
|
3. Regenerate client secret if needed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Card Issues
|
||||||
|
|
||||||
|
### Card Not Displaying
|
||||||
|
|
||||||
|
**Causes**:
|
||||||
|
- SAPUI5 version incompatibility
|
||||||
|
- Invalid manifest.json
|
||||||
|
- Missing destinations
|
||||||
|
|
||||||
|
**Solutions**:
|
||||||
|
1. Verify SAPUI5 version (1.87.0+)
|
||||||
|
2. Validate card manifest
|
||||||
|
3. Check destination configuration
|
||||||
|
|
||||||
|
### Card Deployment Failed
|
||||||
|
|
||||||
|
**Causes**:
|
||||||
|
- Missing permissions
|
||||||
|
- Invalid package structure
|
||||||
|
|
||||||
|
**Solutions**:
|
||||||
|
1. Verify Workzone_Admin role
|
||||||
|
2. Check project structure
|
||||||
|
3. Review deployment logs
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Workspace Issues
|
||||||
|
|
||||||
|
### Cannot Create Workspace
|
||||||
|
|
||||||
|
**Cause**: Permission restrictions
|
||||||
|
|
||||||
|
**Solution**: Check workspace creation settings in Features
|
||||||
|
|
||||||
|
### Missing Content
|
||||||
|
|
||||||
|
**Cause**: Permission or visibility settings
|
||||||
|
|
||||||
|
**Solution**: Verify content permissions and user access
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Integration Issues
|
||||||
|
|
||||||
|
### Microsoft Teams Connection Failed
|
||||||
|
|
||||||
|
**Causes**:
|
||||||
|
- Invalid OAuth configuration
|
||||||
|
- Tenant mismatch
|
||||||
|
|
||||||
|
**Solutions**:
|
||||||
|
1. Verify Azure AD app registration
|
||||||
|
2. Check tenant configuration
|
||||||
|
3. Review consent permissions
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Performance Issues
|
||||||
|
|
||||||
|
### Slow Page Load
|
||||||
|
|
||||||
|
**Solutions**:
|
||||||
|
1. Reduce number of cards per page
|
||||||
|
2. Optimize card data queries
|
||||||
|
3. Enable CDN for static content
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Documentation Links**:
|
||||||
|
- Troubleshooting Guide: [https://help.sap.com/docs/build-work-zone-advanced-edition](https://help.sap.com/docs/build-work-zone-advanced-edition)
|
||||||
|
- SAP Samples: [https://github.com/SAP-samples/build-workzone-integration](https://github.com/SAP-samples/build-workzone-integration)
|
||||||
344
references/ui-integration-cards.md
Normal file
344
references/ui-integration-cards.md
Normal file
@@ -0,0 +1,344 @@
|
|||||||
|
# UI Integration Cards Development Guide
|
||||||
|
|
||||||
|
Complete guide for developing UI Integration Cards in SAP Build Work Zone, advanced edition.
|
||||||
|
|
||||||
|
**Source**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/20-UIIntegrationCards](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/20-UIIntegrationCards)
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [Overview](#overview)
|
||||||
|
- [Prerequisites](#prerequisites)
|
||||||
|
- [Creating a UI Card](#creating-a-ui-card)
|
||||||
|
- [Step 1: Open SAP Business Application Studio](#step-1-open-sap-business-application-studio)
|
||||||
|
- [Step 2: Create New Project](#step-2-create-new-project)
|
||||||
|
- [Step 3: Configure Project](#step-3-configure-project)
|
||||||
|
- [Step 4: Develop Card](#step-4-develop-card)
|
||||||
|
- [Card Types](#card-types)
|
||||||
|
- [Card Manifest Structure](#card-manifest-structure)
|
||||||
|
- [Context Values](#context-values)
|
||||||
|
- [Available Context Paths](#available-context-paths)
|
||||||
|
- [Using Context in Cards](#using-context-in-cards)
|
||||||
|
- [Card Interactions](#card-interactions)
|
||||||
|
- [Page Context Parameters](#page-context-parameters)
|
||||||
|
- [updateContext Action](#updatecontext-action)
|
||||||
|
- [Design-Time Module](#design-time-module)
|
||||||
|
- [File Location](#file-location)
|
||||||
|
- [Configuration Structure](#configuration-structure)
|
||||||
|
- [Form Item Properties](#form-item-properties)
|
||||||
|
- [Dropdown List Configuration](#dropdown-list-configuration)
|
||||||
|
- [Deploying Cards](#deploying-cards)
|
||||||
|
- [Prerequisites](#prerequisites-1)
|
||||||
|
- [Method 1: Direct Deployment](#method-1-direct-deployment)
|
||||||
|
- [Method 2: Package and Manual Upload](#method-2-package-and-manual-upload)
|
||||||
|
- [Updating Cards](#updating-cards)
|
||||||
|
- [Mobile Support](#mobile-support)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
UI Integration Cards are design patterns that display concise information in limited-space containers. They follow SAPUI5 specifications (version 1.87.0+).
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- SAP Business Application Studio subscription
|
||||||
|
- Dev space with "Development Tools for SAP Build Work Zone, Advanced Edition" extension
|
||||||
|
- Destination to content repository configured (for direct deployment)
|
||||||
|
- Workzone_Admin role collection
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Creating a UI Card
|
||||||
|
|
||||||
|
### Step 1: Open SAP Business Application Studio
|
||||||
|
|
||||||
|
Access your dev space with the Work Zone extension enabled.
|
||||||
|
|
||||||
|
### Step 2: Create New Project
|
||||||
|
|
||||||
|
1. Select "New Project From Template"
|
||||||
|
2. Choose "UI Integration Card"
|
||||||
|
3. Click Next
|
||||||
|
|
||||||
|
**Alternative**: Use command line via View → Find Command → "UI Integration Card: Create Card Project"
|
||||||
|
|
||||||
|
### Step 3: Configure Project
|
||||||
|
|
||||||
|
| Field | Description |
|
||||||
|
|-------|-------------|
|
||||||
|
| Project Name | Your identifier |
|
||||||
|
| Card Sample | Select from available templates |
|
||||||
|
| Namespace | Used for Card ID (namespace.projectname) |
|
||||||
|
| Card Title | Display title |
|
||||||
|
| Card Subtitle | Display subtitle |
|
||||||
|
| Mobile Compatibility | Enable for mobile app support |
|
||||||
|
|
||||||
|
### Step 4: Develop Card
|
||||||
|
|
||||||
|
Edit the card manifest and source files in the project structure.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Card Types
|
||||||
|
|
||||||
|
| Type | Use Case |
|
||||||
|
|------|----------|
|
||||||
|
| List Card | Display list of items |
|
||||||
|
| Object Card | Display single object details |
|
||||||
|
| Table Card | Tabular data display |
|
||||||
|
| Timeline Card | Chronological events |
|
||||||
|
| Analytical Card | Charts and analytics |
|
||||||
|
| Calendar Card | Calendar events |
|
||||||
|
| Component Card | Custom SAPUI5 components |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Card Manifest Structure
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"_version": "1.52.0",
|
||||||
|
"sap.app": {
|
||||||
|
"id": "namespace.cardname",
|
||||||
|
"type": "card",
|
||||||
|
"title": "Card Title",
|
||||||
|
"applicationVersion": { "version": "1.0.0" },
|
||||||
|
"dataSources": {
|
||||||
|
"mainService": {
|
||||||
|
"uri": "/odata/service",
|
||||||
|
"type": "OData",
|
||||||
|
"settings": { "odataVersion": "2.0" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sap.card": {
|
||||||
|
"type": "List",
|
||||||
|
"designtime": "dt/configuration",
|
||||||
|
"configuration": {
|
||||||
|
"destinations": {
|
||||||
|
"myDestination": { "name": "DestinationName" }
|
||||||
|
},
|
||||||
|
"parameters": {
|
||||||
|
"maxItems": { "value": 5, "type": "integer" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"header": {
|
||||||
|
"title": "Card Title",
|
||||||
|
"subTitle": "Card Subtitle",
|
||||||
|
"icon": { "src": "sap-icon://list" }
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"data": {
|
||||||
|
"request": {
|
||||||
|
"url": "{{destinations.myDestination}}/EntitySet",
|
||||||
|
"parameters": { "$top": "{parameters>/maxItems/value}" }
|
||||||
|
},
|
||||||
|
"path": "/d/results"
|
||||||
|
},
|
||||||
|
"item": {
|
||||||
|
"title": "{Title}",
|
||||||
|
"description": "{Description}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Context Values
|
||||||
|
|
||||||
|
Cards can access host environment information using the `sap.workzone` context.
|
||||||
|
|
||||||
|
### Available Context Paths
|
||||||
|
|
||||||
|
| Path | Description |
|
||||||
|
|------|-------------|
|
||||||
|
| `sap.workzone/currentUser/id` | Current user's ID |
|
||||||
|
| `sap.workzone/currentUser/name` | Current user's name |
|
||||||
|
| `sap.workzone/currentUser/email` | Current user's email |
|
||||||
|
| `sap.workzone/currentCompany/id` | Company ID |
|
||||||
|
| `sap.workzone/currentCompany/name` | Company name |
|
||||||
|
| `sap.workzone/currentWorkspace/id` | Current workspace ID |
|
||||||
|
| `sap.workzone/currentWorkspace/name` | Current workspace name |
|
||||||
|
|
||||||
|
### Using Context in Cards
|
||||||
|
|
||||||
|
**Binding Syntax**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"userId": {
|
||||||
|
"value": "{context>sap.workzone/currentUser/id}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Programmatic Access**:
|
||||||
|
```javascript
|
||||||
|
// Get card instance
|
||||||
|
var oCard = this.getOwnerComponent().getCard();
|
||||||
|
// Get host instance
|
||||||
|
var oHost = oCard.getHostInstance();
|
||||||
|
// Get context value (returns Promise)
|
||||||
|
oHost.getContextValue("sap.workzone/currentUser/id").then(function(value) {
|
||||||
|
console.log("User ID:", value);
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Card Interactions
|
||||||
|
|
||||||
|
Cards on the same workpage can interact through a shared page context.
|
||||||
|
|
||||||
|
### Page Context Parameters
|
||||||
|
|
||||||
|
- All parameters in page context are available to cards during initialization
|
||||||
|
- When any card modifies a context parameter, all cards on the page refresh
|
||||||
|
- Users select card parameters through site context configuration
|
||||||
|
|
||||||
|
### updateContext Action
|
||||||
|
|
||||||
|
The `updateContext` action enables card-to-card communication:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"sap.card": {
|
||||||
|
"content": {
|
||||||
|
"item": {
|
||||||
|
"actions": [{
|
||||||
|
"type": "Custom",
|
||||||
|
"enabled": true,
|
||||||
|
"parameters": {
|
||||||
|
"method": "updateContext",
|
||||||
|
"parameters": {
|
||||||
|
"selectedId": "{Id}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Design-Time Module
|
||||||
|
|
||||||
|
The design-time module enables card configuration in the Work Zone editor.
|
||||||
|
|
||||||
|
### File Location
|
||||||
|
|
||||||
|
Place at: `dt/configuration.js`
|
||||||
|
|
||||||
|
Register in manifest.json:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"sap.card": {
|
||||||
|
"designtime": "dt/configuration"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Configuration Structure
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
sap.ui.define(["sap/ui/integration/Designtime"], function (Designtime) {
|
||||||
|
"use strict";
|
||||||
|
return function () {
|
||||||
|
return new Designtime({
|
||||||
|
form: { items: {} },
|
||||||
|
preview: { modes: "Abstract" }
|
||||||
|
});
|
||||||
|
};
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
### Form Item Properties
|
||||||
|
|
||||||
|
| Property | Type | Description |
|
||||||
|
|----------|------|-------------|
|
||||||
|
| `manifestpath` | string | Path to manifest value to edit |
|
||||||
|
| `type` | string | string, integer, number, date, datetime, boolean, string[] |
|
||||||
|
| `label` | string | Display label (supports i18n) |
|
||||||
|
| `defaultValue` | any | Fallback when manifest empty |
|
||||||
|
| `required` | boolean | Marks field with asterisk |
|
||||||
|
| `visible` | boolean | Controls visibility (default: true) |
|
||||||
|
| `translatable` | boolean | Enables translation mode |
|
||||||
|
| `cols` | 1 or 2 | Layout control (default: 2) |
|
||||||
|
| `allowDynamicValues` | boolean | Permits context value binding |
|
||||||
|
| `allowSettings` | boolean | Allows admin modifications |
|
||||||
|
|
||||||
|
### Dropdown List Configuration
|
||||||
|
|
||||||
|
**Static Data**:
|
||||||
|
```javascript
|
||||||
|
"values": {
|
||||||
|
"data": {
|
||||||
|
"json": { "values": [{ "text": "Option 1", "key": "opt1" }] }
|
||||||
|
},
|
||||||
|
"path": "/values",
|
||||||
|
"item": { "text": "{text}", "key": "{key}" }
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Request Data**:
|
||||||
|
```javascript
|
||||||
|
"values": {
|
||||||
|
"data": { "request": { "url": "./dt/listdata.json" } },
|
||||||
|
"path": "/values",
|
||||||
|
"item": { "text": "{text}", "key": "{key}" }
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Deploying Cards
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
- SAP Business Application Studio and target system in same subaccount
|
||||||
|
- Token-exchange destination configured (for direct deployment)
|
||||||
|
|
||||||
|
### Method 1: Direct Deployment
|
||||||
|
|
||||||
|
1. Right-click manifest.json
|
||||||
|
2. Select "UI Integration Card: Deploy to SAP Build Work Zone, advanced edition"
|
||||||
|
3. Card deploys directly to target system
|
||||||
|
|
||||||
|
**Note**: For initial deployments, clear content destination in File → Settings → Open Preference → UIcarddk
|
||||||
|
|
||||||
|
### Method 2: Package and Manual Upload
|
||||||
|
|
||||||
|
1. Right-click manifest.json
|
||||||
|
2. Select "UI Integration Card: Package"
|
||||||
|
3. Download generated `<card-id>.zip` file
|
||||||
|
4. Upload manually in Administration Console → UI Integration → Cards & Widgets
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Updating Cards
|
||||||
|
|
||||||
|
1. Open card project in SAP Business Application Studio
|
||||||
|
2. Modify manifest.json or source files
|
||||||
|
3. Access preview via built-in editor
|
||||||
|
4. Redeploy using preferred method
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Mobile Support
|
||||||
|
|
||||||
|
Enable mobile compatibility to allow cards in:
|
||||||
|
- SAP Build Work Zone mobile app
|
||||||
|
- Mobile responsive web UI
|
||||||
|
- iOS and Android devices
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Documentation Links**:
|
||||||
|
- SAPUI5 Card Explorer: [https://ui5.sap.com/test-resources/sap/ui/integration/demokit/cardExplorer/](https://ui5.sap.com/test-resources/sap/ui/integration/demokit/cardExplorer/)
|
||||||
|
- GitHub: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/20-UIIntegrationCards](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/20-UIIntegrationCards)
|
||||||
|
- SAP Help Portal: [https://help.sap.com/docs/build-work-zone-advanced-edition](https://help.sap.com/docs/build-work-zone-advanced-edition)
|
||||||
222
references/widgets.md
Normal file
222
references/widgets.md
Normal file
@@ -0,0 +1,222 @@
|
|||||||
|
# Widgets Development Guide
|
||||||
|
|
||||||
|
Complete guide for using and configuring widgets in SAP Build Work Zone, advanced edition.
|
||||||
|
|
||||||
|
**Source**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [Overview](#overview)
|
||||||
|
- [Widget Management](#widget-management)
|
||||||
|
- [Adding Widgets](#adding-widgets)
|
||||||
|
- [Widget Operations](#widget-operations)
|
||||||
|
- [Standard Widget Types](#standard-widget-types)
|
||||||
|
- [Content Display Widgets](#content-display-widgets)
|
||||||
|
- [Interactive Widgets](#interactive-widgets)
|
||||||
|
- [Additional Widgets](#additional-widgets)
|
||||||
|
- [Widget Styling](#widget-styling)
|
||||||
|
- [Style Options](#style-options)
|
||||||
|
- [Image Widget Sizes](#image-widget-sizes)
|
||||||
|
- [Widget Limitations](#widget-limitations)
|
||||||
|
- [Widget Configuration](#widget-configuration)
|
||||||
|
- [Common Settings](#common-settings)
|
||||||
|
- [Widget-Specific Settings](#widget-specific-settings)
|
||||||
|
- [Custom Widgets](#custom-widgets)
|
||||||
|
- [Widget Builder](#widget-builder)
|
||||||
|
- [Custom Widget Use Cases](#custom-widget-use-cases)
|
||||||
|
- [Best Practices](#best-practices)
|
||||||
|
- [Widget Selection](#widget-selection)
|
||||||
|
- [Widget Organization](#widget-organization)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
Widgets are containers for various content types such as video, feeds, photos, and many other content types. They are added to workpages using the workpage editor.
|
||||||
|
|
||||||
|
## Widget Management
|
||||||
|
|
||||||
|
### Adding Widgets
|
||||||
|
|
||||||
|
1. Open workpage in edit mode
|
||||||
|
2. Select widget type from palette
|
||||||
|
3. Configure widget content
|
||||||
|
4. Adjust style and layout settings
|
||||||
|
5. Save changes
|
||||||
|
|
||||||
|
### Widget Operations
|
||||||
|
|
||||||
|
- Insert widgets
|
||||||
|
- Remove widgets
|
||||||
|
- Edit widget content
|
||||||
|
- Reposition widgets
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Standard Widget Types (9 Official)
|
||||||
|
|
||||||
|
The following widgets are officially documented in SAP Build Work Zone, advanced edition:
|
||||||
|
|
||||||
|
### Content Display Widgets
|
||||||
|
|
||||||
|
| Widget | Description |
|
||||||
|
|--------|-------------|
|
||||||
|
| Text | Rich text content display |
|
||||||
|
| Image | Display single image with optional links |
|
||||||
|
| Feed | Activity feeds from workspaces |
|
||||||
|
| Content | Document/file display |
|
||||||
|
| Forum | Discussion threads and topics |
|
||||||
|
| Knowledge Base | Knowledge articles and wikis |
|
||||||
|
|
||||||
|
### Interactive Widgets
|
||||||
|
|
||||||
|
| Widget | Description |
|
||||||
|
|--------|-------------|
|
||||||
|
| Action | Quick action buttons |
|
||||||
|
| Event | Calendar events display |
|
||||||
|
| UI Integration Cards | SAPUI5-based data cards |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Additional Widgets (Widget Builder/Custom)
|
||||||
|
|
||||||
|
The following widgets may be available via Widget Builder or as custom extensions. Verify availability in your tenant:
|
||||||
|
|
||||||
|
| Widget | Availability |
|
||||||
|
|--------|-------------|
|
||||||
|
| Multimedia | Custom/Widget Builder |
|
||||||
|
| Slideshow | Custom/Widget Builder |
|
||||||
|
| Poll | Custom/Widget Builder |
|
||||||
|
| Search | Custom/Widget Builder |
|
||||||
|
| People | Custom/Widget Builder |
|
||||||
|
| Workspaces | Custom/Widget Builder |
|
||||||
|
| Recommendation | Custom/Widget Builder |
|
||||||
|
| Recent Items | Custom/Widget Builder |
|
||||||
|
| Tag Cloud | Custom/Widget Builder |
|
||||||
|
| Name | Custom/Widget Builder |
|
||||||
|
| Business Record | Requires external integration |
|
||||||
|
| Notification | Custom/Widget Builder |
|
||||||
|
| Rotating Banner | Custom/Widget Builder |
|
||||||
|
| Tool Content | Custom/Widget Builder |
|
||||||
|
| External Content | Custom/Widget Builder |
|
||||||
|
| Application Group | Custom/Widget Builder |
|
||||||
|
|
||||||
|
> **Note**: Widget availability depends on your SAP Build Work Zone edition and configuration. Check Administration Console → UI Integration for available widgets in your tenant.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Widget Styling
|
||||||
|
|
||||||
|
### Style Options
|
||||||
|
|
||||||
|
| Option | Description |
|
||||||
|
|--------|-------------|
|
||||||
|
| Follow page setting | Inherit page styling |
|
||||||
|
| Card style | Colors, borders, rounded corners |
|
||||||
|
| Without card styling | Transparent background |
|
||||||
|
| Custom color | Text widget specific |
|
||||||
|
|
||||||
|
### Image Widget Sizes
|
||||||
|
|
||||||
|
Recommended widths for optimal quality:
|
||||||
|
|
||||||
|
| Columns | Recommended Width |
|
||||||
|
|---------|------------------|
|
||||||
|
| 1 | 188 pixels |
|
||||||
|
| 2 | 396 pixels |
|
||||||
|
| 3 | 604 pixels |
|
||||||
|
| 4 | 812 pixels |
|
||||||
|
| 5 | 1020 pixels |
|
||||||
|
| 6 | 1180 pixels |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Widget Limitations
|
||||||
|
|
||||||
|
### Feed Widget
|
||||||
|
- Only ONE feed widget per workpage
|
||||||
|
- Additional feeds require separate workpages
|
||||||
|
|
||||||
|
### Performance Considerations
|
||||||
|
- Limit total widgets per page
|
||||||
|
- Consider mobile performance
|
||||||
|
- Optimize image sizes
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Widget Configuration
|
||||||
|
|
||||||
|
### Common Settings
|
||||||
|
|
||||||
|
All widgets share common configuration options:
|
||||||
|
- Title/header
|
||||||
|
- Visibility settings
|
||||||
|
- Size/dimensions
|
||||||
|
- Border/spacing
|
||||||
|
|
||||||
|
### Widget-Specific Settings
|
||||||
|
|
||||||
|
Each widget type has unique configuration:
|
||||||
|
|
||||||
|
**Image Widget**:
|
||||||
|
- Image source
|
||||||
|
- Alt text
|
||||||
|
- Link destination
|
||||||
|
- Size constraints
|
||||||
|
|
||||||
|
**Text Widget**:
|
||||||
|
- Rich text formatting
|
||||||
|
- Background color
|
||||||
|
- Text alignment
|
||||||
|
- Link embedding
|
||||||
|
|
||||||
|
**Feed Widget**:
|
||||||
|
- Feed source
|
||||||
|
- Display count
|
||||||
|
- Refresh interval
|
||||||
|
- Filter options
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Custom Widgets
|
||||||
|
|
||||||
|
### Widget Builder
|
||||||
|
|
||||||
|
Administrators can create custom HTML widgets:
|
||||||
|
|
||||||
|
1. Navigate to Administration Console
|
||||||
|
2. Go to UI Integration > Widget Builders
|
||||||
|
3. Create new widget definition
|
||||||
|
4. Configure HTML/CSS/JS
|
||||||
|
5. Deploy widget
|
||||||
|
|
||||||
|
### Custom Widget Use Cases
|
||||||
|
|
||||||
|
- Embed external dashboards
|
||||||
|
- Custom data visualizations
|
||||||
|
- Third-party integrations
|
||||||
|
- Branded content displays
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
### Widget Selection
|
||||||
|
|
||||||
|
1. **Match content to widget** - Use appropriate widget for content type
|
||||||
|
2. **Consider audience** - Select widgets users need
|
||||||
|
3. **Balance density** - Don't overcrowd pages
|
||||||
|
4. **Test responsiveness** - Verify mobile display
|
||||||
|
|
||||||
|
### Widget Organization
|
||||||
|
|
||||||
|
1. **Logical grouping** - Related widgets together
|
||||||
|
2. **Visual hierarchy** - Important content prominent
|
||||||
|
3. **Consistent styling** - Maintain design consistency
|
||||||
|
4. **Accessibility** - Consider all users
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Documentation Links**:
|
||||||
|
- Widgets: [https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/about-widgets](https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/about-widgets)
|
||||||
|
- GitHub: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
159
references/workspace-templates.md
Normal file
159
references/workspace-templates.md
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
# Workspace Templates Development Guide
|
||||||
|
|
||||||
|
Complete guide for creating and deploying workspace templates in SAP Build Work Zone, advanced edition.
|
||||||
|
|
||||||
|
**Source**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/40-WorkspaceTemplates](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/40-WorkspaceTemplates)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
Workspace templates are reusable blueprints that enable users to create workspaces for various business scenarios with minimum modification. They promote consistency and efficiency across organizations.
|
||||||
|
|
||||||
|
## Purpose and Benefits
|
||||||
|
|
||||||
|
- **Operational Efficiency**: Create workspaces without starting from scratch
|
||||||
|
- **Standardization**: Consistent workspace structure across organization
|
||||||
|
- **Flexibility**: Accommodate specific business needs
|
||||||
|
- **Reusability**: Deploy same template multiple times
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Template Components
|
||||||
|
|
||||||
|
Workspace templates can include:
|
||||||
|
|
||||||
|
| Component | Description |
|
||||||
|
|-----------|-------------|
|
||||||
|
| Workpages | Pre-configured pages with layouts |
|
||||||
|
| Widgets | Pre-placed content containers |
|
||||||
|
| Settings | Default workspace configuration |
|
||||||
|
| Permissions | Role-based access defaults |
|
||||||
|
| Branding | Theme and styling settings |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Creating a Workspace Template
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
- SAP Business Application Studio subscription
|
||||||
|
- Dev space with "Development Tools for SAP Build Work Zone, Advanced Edition" extension
|
||||||
|
- Destination to content repository configured
|
||||||
|
- Workzone_Admin role collection
|
||||||
|
|
||||||
|
### Step 1: Create Project
|
||||||
|
|
||||||
|
1. Open SAP Business Application Studio
|
||||||
|
2. Select "New Project From Template"
|
||||||
|
3. Choose "Workspace Template"
|
||||||
|
4. Click Next
|
||||||
|
|
||||||
|
### Step 2: Configure Template
|
||||||
|
|
||||||
|
Define template properties:
|
||||||
|
- Template name
|
||||||
|
- Template description
|
||||||
|
- Default workspace settings
|
||||||
|
|
||||||
|
### Step 3: Design Template Structure
|
||||||
|
|
||||||
|
Configure the workspace structure:
|
||||||
|
- Add workpages
|
||||||
|
- Configure page layouts
|
||||||
|
- Add widget placeholders
|
||||||
|
- Set default permissions
|
||||||
|
|
||||||
|
### Step 4: Deploy Template
|
||||||
|
|
||||||
|
1. Right-click project in explorer
|
||||||
|
2. Select "Deploy to SAP Build Work Zone"
|
||||||
|
3. Verify in Administration Console
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Template Configuration
|
||||||
|
|
||||||
|
### Workspace Settings
|
||||||
|
|
||||||
|
Define default settings for workspaces created from template:
|
||||||
|
|
||||||
|
- Workspace type (public/private)
|
||||||
|
- Member permissions
|
||||||
|
- Feature enablement
|
||||||
|
- Notification settings
|
||||||
|
|
||||||
|
### Page Layouts
|
||||||
|
|
||||||
|
Configure workpage layouts:
|
||||||
|
- Section structure
|
||||||
|
- Column configuration (1-6 columns)
|
||||||
|
- Widget placement
|
||||||
|
|
||||||
|
### Widget Defaults
|
||||||
|
|
||||||
|
Pre-configure widgets:
|
||||||
|
- Widget types
|
||||||
|
- Default content
|
||||||
|
- Styling options
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Managing Templates
|
||||||
|
|
||||||
|
### Administration Console
|
||||||
|
|
||||||
|
Templates are managed in:
|
||||||
|
- **Area & Workspace Configuration > Workspace Templates**
|
||||||
|
|
||||||
|
### Template Operations
|
||||||
|
|
||||||
|
| Operation | Description |
|
||||||
|
|-----------|-------------|
|
||||||
|
| Install | Activate template for use |
|
||||||
|
| Update | Deploy new version |
|
||||||
|
| Disable | Remove from available templates |
|
||||||
|
| Delete | Remove template entirely |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Using Templates
|
||||||
|
|
||||||
|
### Creating Workspace from Template
|
||||||
|
|
||||||
|
1. Navigate to Workspaces menu
|
||||||
|
2. Select "Create Workspace"
|
||||||
|
3. Choose template from list
|
||||||
|
4. Customize as needed
|
||||||
|
5. Create workspace
|
||||||
|
|
||||||
|
### Template Customization
|
||||||
|
|
||||||
|
Users can modify template defaults when creating workspaces:
|
||||||
|
- Change workspace name/description
|
||||||
|
- Adjust permissions
|
||||||
|
- Modify page layouts
|
||||||
|
- Add/remove widgets
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
### Design Guidelines
|
||||||
|
|
||||||
|
1. **Keep templates focused** - One template per use case
|
||||||
|
2. **Use descriptive names** - Clear purpose identification
|
||||||
|
3. **Document customization points** - Guide users on modifications
|
||||||
|
4. **Test thoroughly** - Verify all components work
|
||||||
|
|
||||||
|
### Version Management
|
||||||
|
|
||||||
|
- Increment version for updates
|
||||||
|
- Maintain backward compatibility
|
||||||
|
- Document changes between versions
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Documentation Links**:
|
||||||
|
- Workspace Templates: [https://help.sap.com/docs/build-work-zone-advanced-edition](https://help.sap.com/docs/build-work-zone-advanced-edition)
|
||||||
|
- GitHub: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/40-WorkspaceTemplates](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced/tree/main/docs/40-WorkspaceTemplates)
|
||||||
294
references/workspaces.md
Normal file
294
references/workspaces.md
Normal file
@@ -0,0 +1,294 @@
|
|||||||
|
# Workspaces and Workpages Guide
|
||||||
|
|
||||||
|
Complete guide for creating and managing workspaces and workpages in SAP Build Work Zone, advanced edition.
|
||||||
|
|
||||||
|
**Source**: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [Workspaces Overview](#workspaces-overview)
|
||||||
|
- [Workspace Features](#workspace-features)
|
||||||
|
- [Workspace Roles](#workspace-roles)
|
||||||
|
- [Navigation and Organization](#navigation-and-organization)
|
||||||
|
- [Administrative Areas](#administrative-areas)
|
||||||
|
- [Sub-Workspaces](#sub-workspaces)
|
||||||
|
- [Creating Workspaces](#creating-workspaces)
|
||||||
|
- [Workpages](#workpages)
|
||||||
|
- [Layout Structure](#layout-structure)
|
||||||
|
- [Workpage Editor](#workpage-editor)
|
||||||
|
- [Workspace Settings](#workspace-settings)
|
||||||
|
- [Business Records Integration](#business-records-integration)
|
||||||
|
- [Best Practices](#best-practices)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Workspaces Overview
|
||||||
|
|
||||||
|
A workspace is a collaborative environment designed to encourage users to share and communicate about specific subjects, projects, events, goals, or teams.
|
||||||
|
|
||||||
|
## Workspace Features
|
||||||
|
|
||||||
|
- Dedicated pages and feeds
|
||||||
|
- Member management
|
||||||
|
- Content sharing
|
||||||
|
- Task collaboration
|
||||||
|
- Business record integration
|
||||||
|
- Sub-workspaces for nested organization
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Workspace Roles
|
||||||
|
|
||||||
|
| Role | Permissions |
|
||||||
|
|------|-------------|
|
||||||
|
| Owner | Full control, created automatically for workspace creator |
|
||||||
|
| Administrator | Manage members, settings, content |
|
||||||
|
| Member | Participate, create content, collaborate |
|
||||||
|
| Viewer | Read-only access |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Navigation and Organization
|
||||||
|
|
||||||
|
### Workspaces Menu
|
||||||
|
|
||||||
|
Users can access:
|
||||||
|
- Recently viewed workspaces
|
||||||
|
- Favorite workspaces
|
||||||
|
- All available workspaces
|
||||||
|
- Managed workspaces (filter)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Administrative Areas
|
||||||
|
|
||||||
|
Administrative areas provide organizational grouping for workspaces.
|
||||||
|
|
||||||
|
### Definition
|
||||||
|
|
||||||
|
A designated space for subject matter experts to manage content and interact within their lines of business.
|
||||||
|
|
||||||
|
### Role Structure
|
||||||
|
|
||||||
|
| Role | Scope |
|
||||||
|
|------|-------|
|
||||||
|
| Company Administrator | Full platform access |
|
||||||
|
| Area Administrator | Limited to specific area |
|
||||||
|
|
||||||
|
### Creating Administrative Areas
|
||||||
|
|
||||||
|
1. Navigate to Administration Console
|
||||||
|
2. Select "New Area"
|
||||||
|
3. Configure area settings
|
||||||
|
4. Assign area administrators
|
||||||
|
5. Define which settings area admins can modify
|
||||||
|
|
||||||
|
### Area Operations
|
||||||
|
|
||||||
|
- **Ordering**: Drag areas to reorder display position
|
||||||
|
- **Navigation**: Access via Action menu → "Go To Area"
|
||||||
|
- **Deletion**: Removes area; workspaces retained but dissociated
|
||||||
|
|
||||||
|
### Permission Configuration
|
||||||
|
|
||||||
|
Control which administrative functions are available to area administrators at area creation time.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Sub-Workspaces
|
||||||
|
|
||||||
|
Sub-workspaces enable nested workspace organization.
|
||||||
|
|
||||||
|
### Creation Requirements
|
||||||
|
|
||||||
|
- Only workspace administrators can create sub-workspaces
|
||||||
|
- Add "Sub-Workspaces" navigation tab to enable
|
||||||
|
|
||||||
|
### Membership Rules
|
||||||
|
|
||||||
|
| Rule | Description |
|
||||||
|
|------|-------------|
|
||||||
|
| Subset | Sub-workspace members must be main workspace members |
|
||||||
|
| Automatic Removal | Removing from main workspace removes from sub-workspaces |
|
||||||
|
| Automatic Addition | Inviting to sub-workspace adds to main workspace |
|
||||||
|
|
||||||
|
### Administration
|
||||||
|
|
||||||
|
- Delegate sub-workspace administration to other members
|
||||||
|
- Promote members to sub-workspace administrators
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
When creating sub-workspaces:
|
||||||
|
- Select workspace template
|
||||||
|
- Configure settings same as main workspace
|
||||||
|
- Maintain consistent structure
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Creating Workspaces
|
||||||
|
|
||||||
|
### From Scratch
|
||||||
|
|
||||||
|
1. Navigate to Workspaces menu
|
||||||
|
2. Select "Create Workspace"
|
||||||
|
3. Configure settings:
|
||||||
|
- Name and description
|
||||||
|
- Privacy settings
|
||||||
|
- Member permissions
|
||||||
|
4. Create workspace
|
||||||
|
|
||||||
|
### From Template
|
||||||
|
|
||||||
|
1. Navigate to Workspaces menu
|
||||||
|
2. Select "Create Workspace"
|
||||||
|
3. Choose template
|
||||||
|
4. Customize as needed
|
||||||
|
5. Create workspace
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Workpages
|
||||||
|
|
||||||
|
### Overview
|
||||||
|
|
||||||
|
Workpages are pages within workspaces where users add content. They use a grid layout with sections containing up to six columns.
|
||||||
|
|
||||||
|
### Layout Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
Workpage
|
||||||
|
├── Section 1
|
||||||
|
│ ├── Column 1 (widgets)
|
||||||
|
│ ├── Column 2 (widgets)
|
||||||
|
│ └── ...up to 6 columns
|
||||||
|
├── Section 2
|
||||||
|
│ └── ...
|
||||||
|
└── ...
|
||||||
|
```
|
||||||
|
|
||||||
|
### Creating Workpages
|
||||||
|
|
||||||
|
1. Navigate to workspace
|
||||||
|
2. Select "Add Page"
|
||||||
|
3. Choose template or blank layout
|
||||||
|
4. Configure sections and columns
|
||||||
|
5. Add widgets and content
|
||||||
|
6. Publish or save as draft
|
||||||
|
|
||||||
|
### Nested Workpages
|
||||||
|
|
||||||
|
Workpages can be nested hierarchically:
|
||||||
|
- Exist in site menus
|
||||||
|
- Nest under other workpages
|
||||||
|
- Create logical content grouping
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Workpage Editor
|
||||||
|
|
||||||
|
### Capabilities
|
||||||
|
|
||||||
|
- Add apps, cards, and widgets
|
||||||
|
- Configure sections and columns
|
||||||
|
- Adjust widget settings
|
||||||
|
- Design styling options
|
||||||
|
|
||||||
|
### Content Options
|
||||||
|
|
||||||
|
- UI Integration Cards
|
||||||
|
- Widgets (24 types)
|
||||||
|
- Applications
|
||||||
|
- Custom content
|
||||||
|
|
||||||
|
### Publishing Options
|
||||||
|
|
||||||
|
| Option | Description |
|
||||||
|
|--------|-------------|
|
||||||
|
| Publish | Make visible to workspace members |
|
||||||
|
| Save as Draft | Save for later completion |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Workspace Settings
|
||||||
|
|
||||||
|
### Privacy Settings
|
||||||
|
|
||||||
|
| Type | Description |
|
||||||
|
|------|-------------|
|
||||||
|
| Public | Visible to all users |
|
||||||
|
| Private | Visible to members only |
|
||||||
|
| Secret | Hidden from non-members |
|
||||||
|
|
||||||
|
### Member Management
|
||||||
|
|
||||||
|
- Add/remove members
|
||||||
|
- Assign roles
|
||||||
|
- Configure permissions
|
||||||
|
- Manage invitations
|
||||||
|
|
||||||
|
### Feature Enablement
|
||||||
|
|
||||||
|
Enable/disable workspace features:
|
||||||
|
- Feeds
|
||||||
|
- Content creation
|
||||||
|
- Forums
|
||||||
|
- Knowledge base
|
||||||
|
- Events
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Business Records Integration
|
||||||
|
|
||||||
|
If integrated with external business systems (e.g., SAP Cloud for Customer):
|
||||||
|
|
||||||
|
### Supported Record Types
|
||||||
|
- Accounts
|
||||||
|
- Opportunities
|
||||||
|
- Service tickets
|
||||||
|
|
||||||
|
### Capabilities
|
||||||
|
- Browse and search records
|
||||||
|
- Create dedicated workspaces for records
|
||||||
|
- Feature records in workspaces
|
||||||
|
- Post comments and create tasks
|
||||||
|
- Tag and like records
|
||||||
|
|
||||||
|
### Access Requirements
|
||||||
|
Users must have appropriate access rights in integrated external systems.
|
||||||
|
|
||||||
|
### External User Limitations
|
||||||
|
External users may:
|
||||||
|
- View records in authorized workspaces
|
||||||
|
- Comment on records
|
||||||
|
- Feature records in workspaces
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
### Workspace Design
|
||||||
|
|
||||||
|
1. **Clear purpose** - Define workspace goal
|
||||||
|
2. **Logical structure** - Organize workpages logically
|
||||||
|
3. **Appropriate permissions** - Limit access as needed
|
||||||
|
4. **Active moderation** - Maintain content quality
|
||||||
|
|
||||||
|
### Workpage Design
|
||||||
|
|
||||||
|
1. **Grid efficiency** - Use appropriate column counts
|
||||||
|
2. **Widget organization** - Group related content
|
||||||
|
3. **Mobile consideration** - Test on mobile devices
|
||||||
|
4. **Performance** - Limit widgets per page
|
||||||
|
|
||||||
|
### Sub-Workspace Usage
|
||||||
|
|
||||||
|
1. **Clear hierarchy** - Logical parent-child relationships
|
||||||
|
2. **Appropriate scope** - Don't over-nest
|
||||||
|
3. **Consistent membership** - Align with main workspace
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Documentation Links**:
|
||||||
|
- Workspaces: [https://help.sap.com/docs/build-work-zone-advanced-edition](https://help.sap.com/docs/build-work-zone-advanced-edition)
|
||||||
|
- GitHub: [https://github.com/SAP-docs/sap-btp-build-work-zone-advanced](https://github.com/SAP-docs/sap-btp-build-work-zone-advanced)
|
||||||
87
templates/card-manifest.json
Normal file
87
templates/card-manifest.json
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
{
|
||||||
|
"_version": "1.52.0",
|
||||||
|
"_comment": "UI Integration Card manifest template for SAP Build Work Zone",
|
||||||
|
"sap.app": {
|
||||||
|
"id": "{{namespace}}.{{cardName}}",
|
||||||
|
"type": "card",
|
||||||
|
"title": "{{Card Title}}",
|
||||||
|
"subTitle": "{{Card Subtitle}}",
|
||||||
|
"applicationVersion": {
|
||||||
|
"version": "1.0.0"
|
||||||
|
},
|
||||||
|
"dataSources": {
|
||||||
|
"_comment": "Note: This dataSources section documents the OData service metadata. Actual data fetching uses the destinations configuration in sap.card below.",
|
||||||
|
"mainService": {
|
||||||
|
"uri": "{{OData Service URL}}",
|
||||||
|
"type": "OData",
|
||||||
|
"settings": {
|
||||||
|
"odataVersion": "2.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sap.ui": {
|
||||||
|
"technology": "UI5",
|
||||||
|
"icons": {
|
||||||
|
"icon": "sap-icon://card"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sap.card": {
|
||||||
|
"type": "List",
|
||||||
|
"designtime": "dt/configuration",
|
||||||
|
"configuration": {
|
||||||
|
"destinations": {
|
||||||
|
"_comment": "Destinations are resolved at runtime via SAP BTP destination service",
|
||||||
|
"myDestination": {
|
||||||
|
"name": "{{Destination Name}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"parameters": {
|
||||||
|
"maxItems": {
|
||||||
|
"value": 5,
|
||||||
|
"type": "integer",
|
||||||
|
"label": "Maximum Items"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"header": {
|
||||||
|
"title": "{{Card Title}}",
|
||||||
|
"subTitle": "{{Card Subtitle}}",
|
||||||
|
"icon": {
|
||||||
|
"src": "sap-icon://list"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"text": "{= ${count} + ' items'}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"data": {
|
||||||
|
"_comment": "Data is fetched using the destination reference, not the dataSources URI",
|
||||||
|
"request": {
|
||||||
|
"url": "{{destinations.myDestination}}/{{EntitySet}}",
|
||||||
|
"parameters": {
|
||||||
|
"$top": "{parameters>/maxItems/value}",
|
||||||
|
"$orderby": "{{OrderByField}} desc"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"path": "/d/results"
|
||||||
|
},
|
||||||
|
"item": {
|
||||||
|
"title": "{{{TitleField}}}",
|
||||||
|
"description": "{{{DescriptionField}}}",
|
||||||
|
"icon": {
|
||||||
|
"src": "sap-icon://product"
|
||||||
|
},
|
||||||
|
"actions": [
|
||||||
|
{
|
||||||
|
"type": "Navigation",
|
||||||
|
"parameters": {
|
||||||
|
"url": "{{Navigation URL}}/{{{IdField}}}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"maxItems": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
44
templates/content-package-manifest.json
Normal file
44
templates/content-package-manifest.json
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"_version": "1.0.0",
|
||||||
|
"sap.package": {
|
||||||
|
"id": "{{company}}.{{packageName}}",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"title": "{{Package Title}}",
|
||||||
|
"description": "{{Package description}}",
|
||||||
|
"vendor": "{{Company Name}}",
|
||||||
|
"icon": "sap-icon://package"
|
||||||
|
},
|
||||||
|
"contents": {
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"id": "{{namespace}}.{{cardName}}",
|
||||||
|
"type": "card",
|
||||||
|
"src": "cards/{{cardName}}"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"workspaceTemplates": [
|
||||||
|
{
|
||||||
|
"id": "{{namespace}}.{{templateName}}",
|
||||||
|
"type": "workspaceTemplate",
|
||||||
|
"src": "templates/{{templateName}}"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"workflows": [
|
||||||
|
{
|
||||||
|
"id": "{{namespace}}.{{workflowName}}",
|
||||||
|
"type": "workflow",
|
||||||
|
"src": "workflows/{{workflowName}}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"minSAPUI5Version": "1.87.0"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"keywords": [
|
||||||
|
"{{keyword1}}",
|
||||||
|
"{{keyword2}}"
|
||||||
|
],
|
||||||
|
"category": "{{Category}}"
|
||||||
|
}
|
||||||
|
}
|
||||||
112
templates/dt-configuration.js
Normal file
112
templates/dt-configuration.js
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
/**
|
||||||
|
* UI Integration Card Design-time Configuration
|
||||||
|
*
|
||||||
|
* This file defines the configuration editor for the card,
|
||||||
|
* allowing users to customize card settings in the Work Zone editor.
|
||||||
|
*
|
||||||
|
* Place this file at: dt/configuration.js in your card project
|
||||||
|
*
|
||||||
|
* Documentation: https://ui5.sap.com/#/topic/5b46b03f024542ba802d99d67bc1a3f4
|
||||||
|
*/
|
||||||
|
sap.ui.define(["sap/ui/integration/Designtime"], function (Designtime) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
return Designtime.extend("{{namespace}}.{{cardName}}.dt.Configuration", {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create the card configuration form
|
||||||
|
*/
|
||||||
|
create: function () {
|
||||||
|
return {
|
||||||
|
form: {
|
||||||
|
items: {
|
||||||
|
// General Settings Group
|
||||||
|
generalGroup: {
|
||||||
|
type: "group",
|
||||||
|
label: "General Settings"
|
||||||
|
},
|
||||||
|
title: {
|
||||||
|
manifestpath: "/sap.card/header/title",
|
||||||
|
type: "string",
|
||||||
|
label: "Card Title",
|
||||||
|
description: "Title displayed in the card header",
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
subTitle: {
|
||||||
|
manifestpath: "/sap.card/header/subTitle",
|
||||||
|
type: "string",
|
||||||
|
label: "Card Subtitle",
|
||||||
|
description: "Subtitle displayed below the title"
|
||||||
|
},
|
||||||
|
|
||||||
|
// Data Settings Group
|
||||||
|
dataGroup: {
|
||||||
|
type: "group",
|
||||||
|
label: "Data Settings"
|
||||||
|
},
|
||||||
|
destination: {
|
||||||
|
manifestpath: "/sap.card/configuration/destinations/myDestination/name",
|
||||||
|
type: "destination",
|
||||||
|
label: "Data Destination",
|
||||||
|
description: "Select the destination for data retrieval"
|
||||||
|
},
|
||||||
|
maxItems: {
|
||||||
|
manifestpath: "/sap.card/configuration/parameters/maxItems/value",
|
||||||
|
type: "integer",
|
||||||
|
label: "Maximum Items",
|
||||||
|
description: "Maximum number of items to display",
|
||||||
|
visualization: {
|
||||||
|
type: "Slider",
|
||||||
|
settings: {
|
||||||
|
min: 1,
|
||||||
|
max: 20
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Display Settings Group
|
||||||
|
displayGroup: {
|
||||||
|
type: "group",
|
||||||
|
label: "Display Settings"
|
||||||
|
},
|
||||||
|
showIcon: {
|
||||||
|
manifestpath: "/sap.card/content/item/icon/visible",
|
||||||
|
type: "boolean",
|
||||||
|
label: "Show Item Icons",
|
||||||
|
description: "Display icons next to list items"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Context values available from SAP Build Work Zone
|
||||||
|
// Note: Verify these paths against your tenant's Host API using getContextValue()
|
||||||
|
// Available context keys may vary by Work Zone version and configuration
|
||||||
|
context: {
|
||||||
|
"sap.workzone": {
|
||||||
|
currentUser: {
|
||||||
|
id: {
|
||||||
|
label: "Current User ID",
|
||||||
|
description: "Unique identifier of the logged-in user"
|
||||||
|
},
|
||||||
|
firstName: {
|
||||||
|
label: "Current User First Name",
|
||||||
|
description: "First name of the logged-in user"
|
||||||
|
},
|
||||||
|
lastName: {
|
||||||
|
label: "Current User Last Name",
|
||||||
|
description: "Last name of the logged-in user"
|
||||||
|
},
|
||||||
|
email: {
|
||||||
|
label: "Current User Email",
|
||||||
|
description: "Email address of the logged-in user"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Note: currentCompany and currentWorkspace context values
|
||||||
|
// should be verified against your tenant's Host API.
|
||||||
|
// Use oHost.getContextValue("sap.workzone/...") to check availability.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
112
templates/workspace-template-config.json
Normal file
112
templates/workspace-template-config.json
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
{
|
||||||
|
"_version": "1.0.0",
|
||||||
|
"sap.workspaceTemplate": {
|
||||||
|
"id": "{{namespace}}.{{templateName}}",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"title": "{{Template Title}}",
|
||||||
|
"description": "{{Template description for workspace creation}}",
|
||||||
|
"icon": "sap-icon://collaborate"
|
||||||
|
},
|
||||||
|
"workspace": {
|
||||||
|
"name": "{{Default Workspace Name}}",
|
||||||
|
"description": "{{Default Workspace Description}}",
|
||||||
|
"privacy": "public",
|
||||||
|
"features": {
|
||||||
|
"feeds": true,
|
||||||
|
"contentCreation": true,
|
||||||
|
"forums": true,
|
||||||
|
"knowledgeBase": true,
|
||||||
|
"events": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pages": [
|
||||||
|
{
|
||||||
|
"id": "overview",
|
||||||
|
"title": "Overview",
|
||||||
|
"isDefault": true,
|
||||||
|
"layout": {
|
||||||
|
"sections": [
|
||||||
|
{
|
||||||
|
"columns": 2,
|
||||||
|
"widgets": [
|
||||||
|
{
|
||||||
|
"type": "Feed",
|
||||||
|
"column": 1,
|
||||||
|
"settings": {
|
||||||
|
"title": "Recent Activity"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "People",
|
||||||
|
"column": 2,
|
||||||
|
"settings": {
|
||||||
|
"title": "Team Members"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"columns": 3,
|
||||||
|
"widgets": [
|
||||||
|
{
|
||||||
|
"type": "Content",
|
||||||
|
"column": 1,
|
||||||
|
"settings": {
|
||||||
|
"title": "Documents"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Event",
|
||||||
|
"column": 2,
|
||||||
|
"settings": {
|
||||||
|
"title": "Upcoming Events"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "RecentItems",
|
||||||
|
"column": 3,
|
||||||
|
"settings": {
|
||||||
|
"title": "Recent Items"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "resources",
|
||||||
|
"title": "Resources",
|
||||||
|
"layout": {
|
||||||
|
"sections": [
|
||||||
|
{
|
||||||
|
"columns": 1,
|
||||||
|
"widgets": [
|
||||||
|
{
|
||||||
|
"type": "KnowledgeBase",
|
||||||
|
"column": 1,
|
||||||
|
"settings": {
|
||||||
|
"title": "Knowledge Base"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"defaultRoles": [
|
||||||
|
{
|
||||||
|
"role": "Admin",
|
||||||
|
"description": "Full workspace administration"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "Member",
|
||||||
|
"description": "Standard member access"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "Viewer",
|
||||||
|
"description": "Read-only access"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user