Apps
Apps are the foundation of EmberBlocks. Each app is a self-contained internal tool that can connect to databases, display data through views, and enable users to interact with your data through actions.
What is an App?
Section titled “What is an App?”An App is your container for building a complete internal tool. Think of it as a project that holds everything needed for a specific use case:
- Database connections to your PostgreSQL databases
- Views (pages) containing your UI components
- Actions for CRUD operations and navigation
- User access controls to manage who can see and edit
Creating an App
Section titled “Creating an App”To create a new app:
- Navigate to your dashboard
- Click the Create App button
- Fill in the app details:
| Field | Required | Description |
|---|---|---|
| Name | Yes | The display name for your app |
| Description | No | A brief description of what your app does |
| Icon | No | Select an icon from the icon library |
| Theme Color | No | Choose a color theme for your app |
After creation, you’ll be taken to the app editor where you can start building.
App Structure
Section titled “App Structure”Every app has four main areas, accessible from the navigation tabs:
Layout Tab
Section titled “Layout Tab”Build your app’s user interface:
- Views Sidebar - Manage your pages and folders
- Component Palette - Drag components onto your canvas
- Canvas - Design your view layout
- Settings Panel - Configure selected components
Data Tab
Section titled “Data Tab”Connect and configure your data sources:
- Connections - Add PostgreSQL database connections
- Tables - Select and configure tables from your databases
Actions Tab
Section titled “Actions Tab”Create reusable operations:
- Define CRUD actions (Create, Update, Delete)
- Set up navigation between views
- Configure notification messages
Users Tab
Section titled “Users Tab”Manage access to your app:
- Members - Invite users and manage their access
- Roles - Create custom roles with specific permissions
- External - Connect to an external user table for additional user data
App Settings
Section titled “App Settings”Access app settings through the app info menu (click the app icon in the header):
General Settings
Section titled “General Settings”- Name - Update your app’s display name
- Description - Add or edit the app description
- Icon - Change the app icon
- Theme Color - Modify the color theme
URL Slug
Section titled “URL Slug”Each app has a unique URL-friendly slug:
- Auto-generated from the app name (e.g., “Car Rental” becomes
car-rental) - Used in the app URL:
app.emberblocks.com/car-rental - Can be customized for cleaner URLs
Publishing Your App
Section titled “Publishing Your App”Apps have two states:
Draft Mode
Section titled “Draft Mode”- Where you build and test your app
- Changes are saved automatically
- Only visible to users with editor access (Admin or roles with “Edit App & Invite Users” permission)
Published Mode
Section titled “Published Mode”- The version your users see
- Requires explicit publishing to update
- Supports version history and rollback
Publishing Workflow
Section titled “Publishing Workflow”- Build your app in draft mode
- Test using the Preview button
- Click Publish when ready
- Add optional publish notes
- Your users now see the new version
Version History
Section titled “Version History”EmberBlocks maintains a history of all published versions:
- View all previous versions
- See who published each version and when
- Roll back to any previous version if needed
- Add notes to document changes
User Access
Section titled “User Access”Control who can access your app through roles:
| Role | Access Level |
|---|---|
| Admin | Full access including billing, user management, and app deletion |
| Editor | Can edit the app, manage views, and invite users |
| User | Can only access the published app |
Custom Roles
Section titled “Custom Roles”Create custom roles with optional editor permissions:
- Roles with “Edit App & Invite Users” enabled get editor access
- Roles without this permission only see the published app
- Users can be assigned different roles in different apps
Best Practices
Section titled “Best Practices”Naming Conventions
Section titled “Naming Conventions”- Use clear, descriptive names that indicate the app’s purpose
- Example: “Inventory Tracker” rather than “App 1”
Organization
Section titled “Organization”- Group related views into folders
- Use consistent naming for views and components
- Add descriptions to complex actions
Access Control
Section titled “Access Control”- Start with restrictive permissions and add as needed
- Use custom roles for teams with specific access needs
- Regularly review and update user access
Next Steps
Section titled “Next Steps”Now that you understand apps, explore: