Skip to content

Commit 1074dd0

Browse files
Copilotcbaker6
andauthored
docs: Enhance cohesiveness of Parse-Swift tutorial documentation (#259)
* Initial plan * Add cross-references between related tutorials Co-authored-by: cbaker6 <8621344+cbaker6@users.noreply.github.com> * Improve chapter organization and fix grammar in server-side tutorials Co-authored-by: cbaker6 <8621344+cbaker6@users.noreply.github.com> * Add Next Steps sections to additional tutorials Co-authored-by: cbaker6 <8621344+cbaker6@users.noreply.github.com> * Add Next Steps to Analytics, Config, Operations, and SwiftUI Custom ViewModel tutorials Co-authored-by: cbaker6 <8621344+cbaker6@users.noreply.github.com> * add images for each chapter * Update alt text for chapter images to be descriptive and accessible Co-authored-by: cbaker6 <8621344+cbaker6@users.noreply.github.com> * Update version --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: cbaker6 <8621344+cbaker6@users.noreply.github.com> Co-authored-by: Corey Baker <coreyearleon@icloud.com>
1 parent 9444226 commit 1074dd0

36 files changed

Lines changed: 187 additions & 85 deletions

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Parse-Swift Changelog
33

44
### main
5-
[Full Changelog](https://github.com/netreconlab/Parse-Swift/compare/6.0.4...main), [Documentation](https://swiftpackageindex.com/netreconlab/Parse-Swift/main/documentation/parseswift)
5+
[Full Changelog](https://github.com/netreconlab/Parse-Swift/compare/6.0.6...main), [API Documentation](https://swiftpackageindex.com/netreconlab/Parse-Swift/main/documentation/parseswift), [Tutorial Documentation](https://netreconlab.github.io/Parse-Swift/release/tutorials/parseswift/)
66
* _Contributing to this repo? Add info about your change here to be included in the next release_
77

88
### 6.0.4

Sources/ParseSwift/Documentation.docc/ACL.tutorial

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
Before starting this tutorial, complete the <doc:Your-First-Object> tutorial to learn how to initialize Parse and create ParseObject models.
88

9-
@Image(source: parse-logo.png, alt: "Parse logo")
9+
@Image(source: chapter-security.png, alt: "Shield with ACL grid showing read/write permissions for different roles")
1010
}
1111

1212
@Section(title: "Understanding Access Control Lists") {
@@ -184,7 +184,7 @@
184184
@Step {
185185
**Best Practice 3: Use roles for scalable permissions**
186186

187-
Instead of granting permissions to individual users on every object, create roles for common permission groups. This makes it easier to manage permissions as your app grows.
187+
Instead of granting permissions to individual users on every object, create roles for common permission groups. This makes it easier to manage permissions as your app grows. For more advanced role-based security and managing complex relationships, see <doc:Roles-and-Relations>.
188188

189189
@Code(name: "YourApp.swift", file: 05-acl-12-role-based.swift)
190190
}

Sources/ParseSwift/Documentation.docc/Analytics.tutorial

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
> Note: This tutorial assumes you have already completed <doc:Your-First-Object> and have initialized the Parse SDK. If you haven't done so, please refer to the "Initialize Parse and check server health" section in that tutorial.
88

9-
@Image(source: parse-logo.png, alt: "Parse logo")
9+
@Image(source: chapter-cloud.png, alt: "Cloud with function symbol, config gear, and analytics graph representing cloud features")
1010
}
1111

1212
@Section(title: "Understanding Parse Analytics") {
@@ -152,6 +152,12 @@
152152

153153
@Code(name: "Analytics.swift", file: 16-analytics-18-privacy.swift)
154154
}
155+
156+
@Step {
157+
**Next Steps**
158+
159+
Analytics helps you understand user behavior. Combine it with <doc:Cloud-Code> to process analytics data server-side, or use <doc:Config> to enable/disable features based on analytics insights.
160+
}
155161
}
156162
}
157163
}

Sources/ParseSwift/Documentation.docc/Cloud Code.tutorial

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
> Note: This tutorial assumes you have already completed <doc:Your-First-Object> and have initialized the Parse SDK. If you haven't done so, please refer to the "Initialize Parse and check server health" section in that tutorial.
88

9-
@Image(source: parse-logo.png, alt: "Parse logo")
9+
@Image(source: chapter-cloud.png, alt: "Cloud with function symbol, config gear, and analytics graph representing cloud features")
1010
}
1111

1212
@Section(title: "Understanding Cloud Code") {
@@ -215,6 +215,12 @@
215215

216216
@Code(name: "YourApp.swift", file: 10-cloud-code-23-use-jobs.swift)
217217
}
218+
219+
@Step {
220+
**Next Steps: Server-Side Cloud Features**
221+
222+
This tutorial covered calling Cloud Code from client applications. For server-side operations, explore <doc:Cloud-Hook-Functions> and <doc:Cloud-Hook-Triggers> to learn how to manage webhooks, or <doc:Cloud-Schemas> for programmatic schema management. For sending push notifications from your server, see <doc:Cloud-Push-Notifications>.
223+
}
218224
}
219225
}
220226
}

Sources/ParseSwift/Documentation.docc/Cloud Hook Functions.tutorial

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22
@Intro(title: "Cloud Hook Functions") {
33
Learn how to manage Parse Cloud Hook Functions programmatically from Swift for server-side operations.
44

5-
Cloud Hook Functions enable you to register webhooks that Parse Server calls when specific cloud functions are invoked. This tutorial covers creating, updating, fetching, and deleting Hook Functions. Hook Functions are useful for integrating Parse Server with external services, implementing custom business logic outside your Parse Server, or creating microservice architectures.
5+
Cloud Hook Functions enable you to register webhooks that Parse Server calls when specific cloud functions are invoked. This tutorial covers creating, updating, fetching, and deleting Hook Functions. Hook Functions are useful for integrating Parse Server with external services, implementing custom business logic outside your Parse Server, or creating microservice architectures. To learn how to call Cloud Functions from client applications, see <doc:Cloud-Code>.
66

77
> Warning: This tutorial demonstrates server-level operations that require the use of the Parse Server primary key. **Never** use the primary key in client applications. Only use these APIs from secure, server-side Swift environments such as [ParseServerSwift](https://github.com/netreconlab/parse-server-swift), Vapor, Kitura, or other backend frameworks.
88

99
> Note: This tutorial assumes you have already completed <doc:Your-First-Object> and have initialized the Parse SDK. If you haven't done so, please refer to the "Initialize Parse and check server health" section in that tutorial.
1010

11-
@Image(source: parse-logo.png, alt: "Parse logo")
11+
@Image(source: chapter-server.png, alt: "Server with database schema grid and webhook arrows representing server-side operations")
1212
}
1313

1414
@Section(title: "Understanding Cloud Hook Functions") {
1515
@ContentAndMedia {
16-
Cloud Hook Functions provide a way to execute external webhooks when Parse Cloud Functions are invoked. It is recommended to use [ParseServerSwift](https://github.com/netreconlab/parse-server-swift) for using ParseSwift on a server.
16+
Cloud Hook Functions provide a way to execute external webhooks when Parse Cloud Functions are invoked. We recommend using [ParseServerSwift](https://github.com/netreconlab/parse-server-swift) for using Parse-Swift on a server.
1717

1818
Instead of implementing all your business logic directly in Parse Server Cloud Code, Hook Functions allow you to delegate function execution to external services. When a Cloud Function with a registered hook is called, Parse Server makes an HTTP request to your webhook URL with the function parameters. This enables microservice architectures, integration with third-party services, and flexible deployment strategies.
1919
}

Sources/ParseSwift/Documentation.docc/Cloud Hook Triggers.tutorial

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88

99
> Note: This tutorial assumes you have already completed <doc:Your-First-Object> and have initialized the Parse SDK. If you haven't done so, please refer to the "Initialize Parse and check server health" section in that tutorial.
1010

11-
@Image(source: parse-logo.png, alt: "Parse logo")
11+
@Image(source: chapter-server.png, alt: "Server with database schema grid and webhook arrows representing server-side operations")
1212
}
1313

1414
@Section(title: "Understanding Cloud Hook Triggers") {
1515
@ContentAndMedia {
16-
Cloud Hook Triggers call external webhooks in response to database events on Parse Server. It is recommended to use [ParseServerSwift](https://github.com/netreconlab/parse-server-swift) for using ParseSwift on a server.
16+
Cloud Hook Triggers call external webhooks in response to database events on Parse Server. We recommend using [ParseServerSwift](https://github.com/netreconlab/parse-server-swift) for using Parse-Swift on a server.
1717

1818
When a database event occurs (such as saving or deleting an object), Parse Server can automatically send HTTP POST requests to your webhook endpoint. This enables event-driven architectures, allowing you to react to database changes by calling external services, logging events, sending notifications, or performing any custom logic in your own web services.
1919
}

Sources/ParseSwift/Documentation.docc/Cloud Push Notifications.tutorial

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
> Note: This tutorial assumes you have already completed <doc:Your-First-Object> and <doc:Installation>. You should have initialized the Parse SDK and understand how to work with ParseInstallation objects.
1010

11-
@Image(source: parse-logo.png, alt: "Parse logo")
11+
@Image(source: chapter-push.png, alt: "Mobile device with notification bell and broadcast waves representing push notifications")
1212
}
1313

1414
@Section(title: "Understanding Cloud Push Notifications") {

Sources/ParseSwift/Documentation.docc/Cloud Schemas.tutorial

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88

99
> Note: This tutorial assumes you have already completed <doc:Your-First-Object> and have initialized the Parse SDK. If you haven't done so, please refer to the "Initialize Parse and check server health" section in that tutorial.
1010

11-
@Image(source: parse-logo.png, alt: "Parse logo")
11+
@Image(source: chapter-server.png, alt: "Server with database schema grid and webhook arrows representing server-side operations")
1212
}
1313

1414
@Section(title: "Understanding Cloud Schemas") {
1515
@ContentAndMedia {
16-
Cloud Schemas provide programmatic control over your Parse Server database structure. It is recommended to use [ParseServerSwift](https://github.com/netreconlab/parse-server-swift) for using ParseSwift on a server.
16+
Cloud Schemas provide programmatic control over your Parse Server database structure. We recommend using [ParseServerSwift](https://github.com/netreconlab/parse-server-swift) for using Parse-Swift on a server.
1717

1818
Instead of manually creating schemas through the Parse Dashboard, you can define and manage them using Swift code. This is essential for automated deployments, version control of database structures, and implementing complex security rules. ParseSchema allows you to define data types, add fields, set permissions, and create indexes programmatically.
1919
}

Sources/ParseSwift/Documentation.docc/Config.tutorial

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
> Note: This tutorial assumes you have already completed <doc:Your-First-Object> and have initialized the Parse SDK. If you haven't done so, please refer to the "Initialize Parse and check server health" section in that tutorial.
88

9-
@Image(source: parse-logo.png, alt: "Parse logo")
9+
@Image(source: chapter-cloud.png, alt: "Cloud with function symbol, config gear, and analytics graph representing cloud features")
1010
}
1111

1212
@Section(title: "Understanding Parse Config") {
@@ -220,6 +220,12 @@
220220

221221
@Code(name: "ConfigManager.swift", file: 14-config-18-notifications.swift)
222222
}
223+
224+
@Step {
225+
**Next Steps**
226+
227+
Config provides dynamic app behavior without updates. Use it with <doc:Cloud-Code> to manage configuration server-side, or combine it with <doc:Analytics> to enable features based on user behavior data.
228+
}
223229
}
224230
}
225231
}

Sources/ParseSwift/Documentation.docc/Custom ObjectId.tutorial

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
Before starting this tutorial, complete the <doc:Your-First-Object> tutorial to learn the basics of creating and working with ParseObjects.
88

9-
@Image(source: parse-logo.png, alt: "Parse logo")
9+
@Image(source: chapter-getting-started.png, alt: "Foundation building blocks representing ParseObjects as the foundation of data storage")
1010
}
1111

1212
@Section(title: "Understanding Custom ObjectIds") {

0 commit comments

Comments
 (0)