Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 9 additions & 12 deletions src/lib/layouts/Sidebar.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,7 @@
};

export type NavParent = {
backlink: string;
label: string;
icon: string;
href: string;
};

Expand Down Expand Up @@ -48,19 +46,18 @@
</button>
<div class="aw-side-nav-scroll">
{#if parent}
<section style:padding-bottom="16px" style:border-bottom="1px solid #232325">
<a class="aw-side-nav-button" href={parent.backlink}>
<section
style:padding-bottom="16px"
style:border-bottom="1px solid #232325"
style:display="flex"
style:align-items="baseline"
>
<a href={parent.href}>
<span class="icon-cheveron-left" aria-hidden="true" />
<span class="aw-caption-400">Back</span>
</a>
<a
class="aw-side-nav-button"
href={parent.href}
class:is-selected={$page.url?.pathname === parent.href}

<span class="aw-eyebrow" style:width="100%" style:text-align="center">{parent.label}</span
>
<span class={parent.icon} aria-hidden="true" />
<span class="aw-caption-500">{parent.label}</span>
</a>
</section>
{/if}
{#each navigation as navGroup}
Expand Down
15 changes: 11 additions & 4 deletions src/routes/docs/advanced/integration/+layout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,20 @@
import Sidebar, { type NavParent, type NavTree } from '$lib/layouts/Sidebar.svelte';

const parent: NavParent = {
backlink: '/docs',
href: '/docs/advanced/integration',
label: 'Integration',
icon: 'icon-puzzle'
href: '/docs',
label: 'Integration'
};

const navigation: NavTree = [
{
label: 'Getting started',
items: [
{
label: 'Overview',
href: '/docs/advanced/integration'
}
]
},
{
label: 'Guides',
items: []
Expand Down
29 changes: 2 additions & 27 deletions src/routes/docs/advanced/integration/+page.markdoc
Original file line number Diff line number Diff line change
@@ -1,33 +1,8 @@
---
layout: article
title: Migrations
title: Integration
description: Learn how to migrate your projects from other vendors to Appwrite Cloud or how to move from self-hosting to Cloud and the other way around using Appwrite Migrations service.
difficulty: beginner
readtime: 5
---

If you're looking to migrate existing projects to Appwrite, Migrations can help you make the move more quickly. You can move your app from Firebase, Supabase, Nhost, and even move between self-hosted and Cloud projects using Migrations. You can also use Migrations to move between two self-hosted instances or even to duplicate projects on the same instance. Migrations will automatically move accounts, database documents, and storage files from one source to another.

## Sources {% #sources %}

Appwrite supports multiple source destinations for migrating your data. You can transfer data from these sources to a new or existing Appwrite project. Resources marked as 'enabled' are migrated automatically. Resources marked as 'partial' can be migrated but with limitations or caveats; please refer to the guide for each source to learn more. Resources marked as 'manual' require manual migration.

| Source | Users | Databases | Documents | Files | Functions |
|--------|-------|-----------|-----------|-------|-----------|
| [Firebase](/docs/advanced/migrations/firebase) | enabled | enabled | partial | enabled | manual |
| [Supabase](/docs/advanced/migrations/supabase) | enabled | enabled | partial | enabled | manual |
| [Nhost](/docs/advanced/migrations/nhost) | enabled | enabled | partial | enabled | manual |
| [Cloud](/docs/advanced/migrations/cloud) | enabled | enabled | enabled | enabled | enabled |
| [Self hosted](/docs/advanced/migrations/self-hosted) | enabled | enabled | enabled | enabled | enabled |

## Limitations {% #limitations %}

Migrations cannot transfer all data perfectly, so certain fields, such as `$createdAt` and `$updatedAt`, may not be transferred.
More information can be found on the migration page for each source.

Migrations help you jump-start your move, but because each product is unique, complex databases and product unique features like functions might need to be migrated manually.
We also recommend you carefully **validate permissions and data integrity** when moving between platforms.

## Charges {% #charges %}

When you migrate data from another source to Appwrite Cloud, the resource usage during the migration will not count towards your Appwrite Cloud usage charges. However, your source vendor may have data transfer charges. The same is true for moving data between self-hosted Appwrite instances hosted on different cloud providers.
Integration
15 changes: 11 additions & 4 deletions src/routes/docs/advanced/migrations/+layout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,20 @@
import Sidebar, { type NavParent, type NavTree } from '$lib/layouts/Sidebar.svelte';

const parent: NavParent = {
backlink: '/docs',
href: '/docs/advanced/migrations',
label: 'Migrations',
icon: 'icon-refresh'
href: '/docs',
label: 'Migrations'
};

const navigation: NavTree = [
{
label: 'Getting started',
items: [
{
label: 'Overview',
href: '/docs/advanced/migrations'
}
]
},
{
label: 'Guides',
items: [
Expand Down
2 changes: 1 addition & 1 deletion src/routes/docs/advanced/migrations/firebase/+page.markdoc
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ To begin migrating to Appwrite, follow these steps.

1. Add the platforms for your [Web](#), [Flutter](#), [Android](#), and [iOS](#) apps. Appwrite will reject requests from unknown web, Flutter, and mobile apps to protect from malicious attacks. You app **must be added as a platform** for Appwrite to accept requests.

1. Remember to [add appropriate permissions](/docs/platform/permissions) to the migrated resources to protect user data and privacy.
1. Remember to [add appropriate permissions](/docs/advanced/platform/permissions) to the migrated resources to protect user data and privacy.

1. Migrate functions manually, by [pick a runtime](#) and [learn to develop Appwrite Functions](#).

Expand Down
2 changes: 1 addition & 1 deletion src/routes/docs/advanced/migrations/nhost/+page.markdoc
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Before migrating to Appwrite make sure you've read the [migration overview](/doc

1. Add the platforms for your [Web](#), [Flutter](#), [Android](#), and [iOS](#) apps. Appwrite will reject requests from unknown web, Flutter, and mobile apps to protect from malicious attacks. You app **must be added as a platform** for Appwrite to accept requests.

1. Remember to [add appropriate permissions](/docs/platform/permissions) to the migrated resources to protect user data and privacy.
1. Remember to [add appropriate permissions](/docs/advanced/platform/permissions) to the migrated resources to protect user data and privacy.

1. Migrate functions manually, by [pick a runtime](#) and [learn to develop Appwrite Functions](#).

Expand Down
2 changes: 1 addition & 1 deletion src/routes/docs/advanced/migrations/supabase/+page.markdoc
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Before migrating to Appwrite make sure you've read the [migration overview](/doc

1. Add the platforms for your [Web](#), [Flutter](#), [Android](#), and [iOS](#) apps. Appwrite will reject requests from unknown web, Flutter, and mobile apps to protect from malicious attacks. You app **must be added as a platform** for Appwrite to accept requests.

1. Remember to [add appropriate permissions](/docs/platform/permissions) to the migrated resources to protect user data and privacy.
1. Remember to [add appropriate permissions](/docs/advanced/platform/permissions) to the migrated resources to protect user data and privacy.

1. Migrate functions manually, by [pick a runtime](#) and [learn to develop Appwrite Functions](#).

Expand Down
46 changes: 41 additions & 5 deletions src/routes/docs/advanced/platform/+layout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,52 @@
import Sidebar, { type NavParent, type NavTree } from '$lib/layouts/Sidebar.svelte';

const parent: NavParent = {
backlink: '/docs',
href: '/docs/advanced/platform',
label: 'Platform',
icon: 'icon-play'
href: '/docs',
label: 'Platform'
};

const navigation: NavTree = [
{
label: 'Getting started',
items: [
{
label: 'Overview',
href: '/docs/advanced/platform'
}
]
},
{
label: 'Guides',
items: []
items: [
{
label: 'API keys',
href: '/docs/advanced/platform/api-keys'
},
{
label: 'Custom domains',
href: '/docs/advanced/platform/custom-domains'
},
{
label: 'Events',
href: '/docs/advanced/platform/events'
},
{
label: 'Response codes',
href: '/docs/advanced/platform/response-codes'
},
{
label: 'Permissions',
href: '/docs/advanced/platform/permissions'
},
{
label: 'Rate limits',
href: '/docs/advanced/platform/rate-limits'
},
{
label: 'Webhooks',
href: '/docs/advanced/platform/webhooks'
}
]
}
];
</script>
Expand Down
31 changes: 27 additions & 4 deletions src/routes/docs/advanced/platform/+page.markdoc
Original file line number Diff line number Diff line change
@@ -1,9 +1,32 @@
---
layout: article
title: Platform
description: Learn how to migrate your projects from other vendors to Appwrite Cloud or how to move from self-hosting to Cloud and the other way around using Appwrite Migrations service.
difficulty: beginner
readtime: 5
description: Description for SEO.
---

If you're looking to migrate existing projects to Appwrite, Migrations can help you make the move more quickly. You can move your app from Firebase, Supabase, Nhost, and even move between self-hosted and Cloud projects using Migrations. You can also use Migrations to move between two self-hosted instances or even to duplicate projects on the same instance. Migrations will automatically move accounts, database documents, and storage files from one source to another.
Appwrite is a development platform designed to adapt you unique use cases.
Appwrite provides features that help you maintain, scale, and integrate Appwrite with other platforms.

## API keys {% #api-keys %}

[Learn more about API keys {% icon icon="cheveron-right" /%}](#)

## Custom domains {% #custom-domains %}

[Learn more about custom domains {% icon icon="cheveron-right" /%}](#)

## Events {% #events %}

[Learn more about events {% icon icon="cheveron-right" /%}](#)

## Response codes {% #response-codes %}

[Learn more about response codes {% icon icon="cheveron-right" /%}](#)

## Permissions {% #permissions %}

[Learn more about permissions {% icon icon="cheveron-right" /%}](#)

## Rate limits {% #rate-limits %}

[Learn more about permissions {% icon icon="cheveron-right" /%}](#)
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Placeholder SEO.

Appwrite provides a variety of events that allows your application to react to changes as they happen.
A event will fire when a change occurs in your Appwrite project, like when a new user registers or a new file is uploaded to Appwrite.
You can subscribe to these events to with Appwrite [Functions](/docs/products/functions), [Realtime](/docs/products/apis), or [Webhooks](/docs/platform/webhooks).
You can subscribe to these events to with Appwrite [Functions](/docs/products/functions), [Realtime](/docs/products/apis), or [Webhooks](/docs/advanced/platform/webhooks).

You can subscribe to events for specific resources using their ID or subscribe to changes of all resources of the same type by using a wildcard character * instead of an ID.
You can also filter for events of specific actions like create, update, or delete.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ If you create a resource using a Server SDK or the Appwrite Console without expl

## Server Integration

Server integrations can be used for increased flexibility. When using a Server SDK in combination with the proper [API key scopes](/docs/platform/api-keys#scopes), you can have any type of access to any of your project resources regardless of their permissions.
Server integrations can be used for increased flexibility. When using a Server SDK in combination with the proper [API key scopes](/docs/advanced/platform/api-keys#scopes), you can have any type of access to any of your project resources regardless of their permissions.

Using the server integration flexibility, you can change resource permissions, share resources between different users and teams, or edit and delete them without any limitations.

Expand Down
54 changes: 49 additions & 5 deletions src/routes/docs/advanced/self-hosting/+layout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,60 @@
import Sidebar, { type NavParent, type NavTree } from '$lib/layouts/Sidebar.svelte';

const parent: NavParent = {
backlink: '/docs',
href: '/docs/advanced/self-hosting',
label: 'Self-hosting',
icon: 'icon-server'
href: '/docs',
label: 'Self-hosting'
};

const navigation: NavTree = [
{
label: 'Getting started',
items: [
{
label: 'Overview',
href: '/docs/advanced/self-hosting'
},
{
label: 'Installation',
href: '/docs/advanced/self-hosting/installation'
}
]
},
{
label: 'Guides',
items: []
items: [
{
label: 'Update',
href: '/docs/advanced/self-hosting/update'
},
{
label: 'Debug',
href: '/docs/advanced/self-hosting/debug'
},
{
label: 'E-Mail',
href: '/docs/advanced/self-hosting/email'
},
{
label: 'Functions',
href: '/docs/advanced/self-hosting/functions'
},
{
label: 'Production',
href: '/docs/advanced/self-hosting/production'
},
{
label: 'SMS',
href: '/docs/advanced/self-hosting/sms'
},
{
label: 'Storage',
href: '/docs/advanced/self-hosting/storage'
},
{
label: 'TLS Certificates',
href: '/docs/advanced/self-hosting/tls-certificates'
}
]
}
];
</script>
Expand Down
Loading