Skip to content

Commit

Permalink
More broken links fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
flovilmart committed Apr 6, 2017
1 parent 843317b commit ff561b9
Show file tree
Hide file tree
Showing 44 changed files with 111 additions and 111 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Then run webpack and Jekyll:
npm start
```

Finally, open http://localhost:4000/docs/ in your web browser.
Finally, open http://localhost:4000/ in your web browser.

-----

Expand Down
2 changes: 1 addition & 1 deletion _includes/android/analytics.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ ParseAnalytics.trackAppOpenedInBackground(getIntent());

Graphs and breakdowns of your statistics are accessible from your app's Dashboard.

Further analytics are available around push notification delivery and open rates. Take a look at the [Tracking Pushes and App Opens subsection](/docs/android/guide#push-notifications-tracking-pushes-and-app-opens) of our Push Guide for more detailed information on handling notification payloads and push-related callbacks.
Further analytics are available around push notification delivery and open rates. Take a look at the [Tracking Pushes and App Opens subsection]({{ site.baseUrl }}/android/guide/#tracking-pushes-and-app-openss) of our Push Guide for more detailed information on handling notification payloads and push-related callbacks.

## Custom Analytics

Expand Down
2 changes: 1 addition & 1 deletion _includes/android/files.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,6 @@ file.saveInBackground(new SaveCallback() {
});
```

You can delete files that are referenced by objects using the [REST API](/docs/rest/guide/#files-deleting-files). You will need to provide the master key in order to be allowed to delete a file.
You can delete files that are referenced by objects using the [REST API]({{ site.baseUrl }}/rest/guide/#files-deleting-files). You will need to provide the master key in order to be allowed to delete a file.

If your files are not referenced by any object in your app, it is not possible to delete them through the REST API. You may request a cleanup of unused files in your app's Settings page. Keep in mind that doing so may break functionality which depended on accessing unreferenced files through their URL property. Files that are currently associated with an object will not be affected.
16 changes: 8 additions & 8 deletions _includes/android/push-notifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

Push notifications are a great way to keep your users engaged and informed about your app. You can reach your entire user base quickly and effectively. This guide will help you through the setup process and the general usage of Parse to send push notifications.

If you haven't installed the SDK yet, [head over to the Push QuickStart](/docs/parse-server/guide/#push-notifications-quick-start) to get our SDK up and running.
If you haven't installed the SDK yet, [head over to the Push QuickStart]({{ site.baseUrl }}/parse-server/guide/#push-notifications-quick-start) to get our SDK up and running.

## Setting Up Push

If you want to start using push, start by completing the [Android Push Notifications QuickStart Guide](/docs/parse-server/guide/#push-notifications-quick-start) to learn how to configure your app and send your first push notification. Come back to this guide afterwards to learn more about the push features offered by Parse.
If you want to start using push, start by completing the [Android Push Notifications QuickStart Guide]({{ site.baseUrl }}/parse-server/guide/#push-notifications-quick-start) to learn how to configure your app and send your first push notification. Come back to this guide afterwards to learn more about the push features offered by Parse.

The Parse library provides push notifications using Google Cloud Messaging (GCM) if Google Play Services are available. Learn more about Google Play Services [here](https://developers.google.com/android/guides/overview).

Expand Down Expand Up @@ -66,7 +66,7 @@ The Parse Android SDK will avoid making unnecessary requests. If a `ParseInstall

There are two ways to send push notifications using Parse: [channels](#push-notifications-using-channels) and [advanced targeting](#push-notifications-using-advanced-targeting). Channels offer a simple and easy to use model for sending pushes, while advanced targeting offers a more powerful and flexible model. Both are fully compatible with each other and will be covered in this section.

Sending notifications is often done from the Parse.com push console, the [REST API](/docs/rest/guide#push-notifications-sending-pushes) or from [Cloud Code](/docs/js/guide#push-notifications-sending-pushes). However, push notifications can also be triggered by the existing client SDKs. If you decide to send notifications from the client SDKs, you will need to set **Client Push Enabled** in the Push Notifications settings of your Parse app.
Sending notifications is often done from the Parse.com push console, the [REST API]({{ site.baseUrl }}/rest/guide#push-notifications-sending-pushes) or from [Cloud Code]({{ site.baseUrl }}/js/guide#push-notifications-sending-pushes). However, push notifications can also be triggered by the existing client SDKs. If you decide to send notifications from the client SDKs, you will need to set **Client Push Enabled** in the Push Notifications settings of your Parse app.

However, be sure you understand that enabling Client Push can lead to a security vulnerability in your app, as outlined [on our blog](http://blog.parse.com/2014/09/03/the-dangerous-world-of-client-push/). We recommend that you enable Client Push for testing purposes only, and move your push notification logic into Cloud Code when your app is ready to go into production.

Expand Down Expand Up @@ -319,11 +319,11 @@ wpPush.sendPushInBackground();

## Scheduling Pushes

Sending scheduled push notifications is not currently supported by the Android SDK. Take a look at the [REST API](/docs/rest/guide#push-notifications-scheduling-pushes), [JavaScript SDK](/docs/js/guide#push-notifications-scheduling-pushes) or the push console on your Parse Dashboard.
Sending scheduled push notifications is not currently supported by the Android SDK. Take a look at the [REST API]({{ site.baseUrl }}/rest/guide#push-notifications-scheduling-pushes), [JavaScript SDK]({{ site.baseUrl }}/js/guide#push-notifications-scheduling-pushes) or the push console on your Parse Dashboard.

## Receiving Pushes

Make sure you've gone through the [Android Push QuickStart](/docs/parse-server/guide/#push-notifications-quick-start) to set up your app to receive pushes.
Make sure you've gone through the [Android Push QuickStart]({{ site.baseUrl }}/parse-server/guide/#push-notifications-quick-start) to set up your app to receive pushes.

When a push notification is received, the “title” is displayed in the status bar and the “alert” is displayed alongside the “title” when the user expands the notification drawer. If you choose to subclass `com.parse.ParsePushBroadcastReceiver`, be sure to replace that name with your class' name in the registration.

Expand Down Expand Up @@ -472,7 +472,7 @@ Basically, you will need to run the same push query you're using for your target

#### Debugging using the REST API

The REST API is quite easy to use for this sort of purpose as you can easily recreate the push query using the information provided in your push notification logs. If you look closely at the “Full Target” value in your push campaign log item, you may notice that it matches the query format for a REST API query. You can grab an example of what a [REST API query](/docs/rest#queries-constraints) over `ParseInstallation`s would look like from the REST API docs. Don't forget to use the `X-Parse-Master-Key` header to ensure that the Master Key is used to run this query.
The REST API is quite easy to use for this sort of purpose as you can easily recreate the push query using the information provided in your push notification logs. If you look closely at the “Full Target” value in your push campaign log item, you may notice that it matches the query format for a REST API query. You can grab an example of what a [REST API query]({{ site.baseUrl }}/rest#queries-constraints) over `ParseInstallation`s would look like from the REST API docs. Don't forget to use the `X-Parse-Master-Key` header to ensure that the Master Key is used to run this query.

```bash
# Query over installations
Expand Down Expand Up @@ -508,9 +508,9 @@ You can check the Push Delivery Report for the cause of failed deliveries: Misma

If everything looks great so far, but push notifications are not showing up on your phone, there are a few more things you can check.

* [Upgrade to the latest SDK](/docs/downloads). This documentation covers the push API introduced in the 1.7.0 version of the Android Parse SDK. Please upgrade if you are getting compiler errors following these instructions.
* [Upgrade to the latest SDK]({{ site.baseUrl }}/downloads). This documentation covers the push API introduced in the 1.7.0 version of the Android Parse SDK. Please upgrade if you are getting compiler errors following these instructions.
* Make sure you are using the correct `packageName` in your `AndroidManifest.xml`.
* Make sure you have the correct permissions listed in your `AndroidManifest.xml` file, as outlined in the [Android Push Quickstart](/docs/parse-server/guide/#push-notifications-quick-start). If you are using a a custom receiver, be sure you have registered it in the Manifest file with the correct `android:name` property and the proper intent filters.
* Make sure you have the correct permissions listed in your `AndroidManifest.xml` file, as outlined in the [Android Push Quickstart]({{ site.baseUrl }}/parse-server/guide/#push-notifications-quick-start). If you are using a a custom receiver, be sure you have registered it in the Manifest file with the correct `android:name` property and the proper intent filters.
* Make sure you've used the correct App ID and client key, and that `Parse.initialize()` is being called. `Parse.initialize()` lets the service know which application it is listening for; this code must be in your `Application.onCreate` rather than `Activity.onCreate` for a particular `Activity`, so that any activation technique will know how to use Parse.
* Check that the push registration call is being called successfully. Your device must successfully register a ParseInstallation object with a valid GCM Registration id in the "deviceToken" field, if using GCM.
* Check that the device is set to accept push notifications from your app.
Expand Down
2 changes: 1 addition & 1 deletion _includes/android/users.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ This call will asynchronously create a new user in your Parse App. Before it doe

Note that we used the `signUpInBackground` method, not the `saveInBackground` method. New `ParseUser`s should always be created using the `signUpInBackground` (or `signUp`) method. Subsequent updates to a user can be done by calling `save`.

The `signUpInBackground` method comes in various flavors, with the ability to pass back errors, and also synchronous versions. As usual, we highly recommend using the asynchronous versions when possible, so as not to block the UI in your app. You can read more about these specific methods in our [API docs](/docs/android/).
The `signUpInBackground` method comes in various flavors, with the ability to pass back errors, and also synchronous versions. As usual, we highly recommend using the asynchronous versions when possible, so as not to block the UI in your app. You can read more about these specific methods in our [API docs]({{ site.baseUrl }}/android/).

If a signup isn't successful, you should read the error object that is returned. The most likely case is that the username or email has already been taken by another user. You should clearly communicate this to your users, and ask them try a different username.

Expand Down
2 changes: 1 addition & 1 deletion _includes/arduino/cloud-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Cloud Functions allow you to run custom app logic in the Parse Cloud. This is especially useful for running complex app logic in the cloud so that you can reduce the memory footprint of your code on the IoT device. In a Cloud Function, you can query/save Parse data, send push notifications, and log analytics events.

You write your Cloud Code in JavaScript using the Parse JavaScript SDK. We provide a command-line tool to help you deploy your Cloud Code. See our [Cloud Code guide](/docs/cloud_code_guide) for details.
You write your Cloud Code in JavaScript using the Parse JavaScript SDK. We provide a command-line tool to help you deploy your Cloud Code. See our [Cloud Code guide]({{ site.baseUrl }}/cloud_code_guide) for details.

For example, you define a Cloud Function as below.

Expand Down
6 changes: 3 additions & 3 deletions _includes/arduino/objects.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ del.send();

## Data Types

So far we've used values with type `string`, `double`, and `bool`. The Parse Arduino SDK also supports `GeoPoint`s (latitude and longitude). In addition, you can set values on objects via JSON and be able to represent Arrays, Objects, Dates, and more. Read more about representing these types as JSON in the [REST API guide](/docs/rest#objects-types).
So far we've used values with type `string`, `double`, and `bool`. The Parse Arduino SDK also supports `GeoPoint`s (latitude and longitude). In addition, you can set values on objects via JSON and be able to represent Arrays, Objects, Dates, and more. Read more about representing these types as JSON in the [REST API guide]({{ site.baseUrl }}/rest#objects-types).

Overall, the following types are allowed for each field in your object:

Expand Down Expand Up @@ -112,6 +112,6 @@ create.addJSONValue("emptyField", "null");
create.send();
```

We do not recommend storing large pieces of binary data like images or documents in a `ParseObject`. `ParseObject`s should not exceed 128 kilobytes in size. We recommend you use `ParseFile`s to store images, documents, and other types of files. You can do so by instantiating a `ParseFile` object and setting it on a field. See the [Files section in the REST documentation](/docs/rest#files) for more details.
We do not recommend storing large pieces of binary data like images or documents in a `ParseObject`. `ParseObject`s should not exceed 128 kilobytes in size. We recommend you use `ParseFile`s to store images, documents, and other types of files. You can do so by instantiating a `ParseFile` object and setting it on a field. See the [Files section in the REST documentation]({{ site.baseUrl }}/rest#files) for more details.

For more information about how Parse handles data, check out our documentation on [Data](/docs/rest#data).
For more information about how Parse handles data, check out our documentation on [Data]({{ site.baseUrl }}/rest#data).
2 changes: 1 addition & 1 deletion _includes/arduino/push-notifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,4 @@ if (Parse.pushAvailable()) {

## Sending Pushes

There are many ways to send a push notification. It's possible to send from the Arduino SDK via a call to the REST API, but you'll most likely be sending from another environment. [Read here for more information on how to send pushes](/docs/rest#push-notifications).
There are many ways to send a push notification. It's possible to send from the Arduino SDK via a call to the REST API, but you'll most likely be sending from another environment. [Read here for more information on how to send pushes]({{ site.baseUrl }}/rest#push-notifications).
2 changes: 1 addition & 1 deletion _includes/arduino/requests.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ ParseResponse response = Parse.sendRequest("POST", "/1/users", "{\"username\":\"

In this case, the response will contain the objectId of the created user, assuming it was created successfully.

Head on over to the [REST API documentation](/docs/rest) to discover what's possible. For each code sample, you can switch it to cURL to see what the endpoint and payload would look like.
Head on over to the [REST API documentation]({{ site.baseUrl }}/rest) to discover what's possible. For each code sample, you can switch it to cURL to see what the endpoint and payload would look like.
4 changes: 2 additions & 2 deletions _includes/arduino/users.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

At the core of many apps, there is a notion of user accounts that lets users access their information in a secure manner. In our other SDKs, we provide a specialized user class that automatically handles much of the functionality required for user account management. Users are a special class of Parse Objects and has all the same features, such as flexible schema, automatic persistence, and a key value interface.

The Arduino SDK does not provide methods to directly sign in as a user. If you want to have the Arduino device act on behalf of a user, you will need to [create a Session through a companion app](/docs/ios#sessions) or another Parse SDK and pass a Restricted Session to the device. You can read more about users in our [REST API](/docs/rest#users) or one of our other [SDK guides](/docs).
The Arduino SDK does not provide methods to directly sign in as a user. If you want to have the Arduino device act on behalf of a user, you will need to [create a Session through a companion app]({{ site.baseUrl }}/ios#sessions) or another Parse SDK and pass a Restricted Session to the device. You can read more about users in our [REST API]({{ site.baseUrl }}/rest#users) or one of our other [SDK guides](/docs).

## Setting a Session

Expand All @@ -16,4 +16,4 @@ From then on, the device will act on behalf of the user.

## Security

Parse uses ACLs to make sure objects can be accessed by users who are authorized with access. When creating objects, you can set the ACL field of the object to restrict access to a set of users. Read about this and more in the [REST API documentation](/docs/rest#users-security).
Parse uses ACLs to make sure objects can be accessed by users who are authorized with access. When creating objects, you can set the ACL field of the object to restrict access to a set of users. Read about this and more in the [REST API documentation]({{ site.baseUrl }}/rest#users-security).
2 changes: 1 addition & 1 deletion _includes/cloudcode/getting-started.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Getting Started

Cloud Code is [built into Parse Server](/docs/parse-server/guide/). The default entry point for your Cloud Code is at `./cloud/main.js`.
Cloud Code is [built into Parse Server]({{ site.baseUrl }}/parse-server/guide/). The default entry point for your Cloud Code is at `./cloud/main.js`.

## What is Cloud Code?

Expand Down
Loading

0 comments on commit ff561b9

Please sign in to comment.