четвер, 12 лютого 2015 р.

Настройка робочого середовища Parse.com для Windows

1. Потрібно скачати консольну утиліту
https://www.parse.com/downloads/windows/console/parse.zip

2 При першому запуску ParseConsole.exe пропише у глобальні шляхи шлях до parse.exe

Надалі можна запускати так:
Win + R and typing "parse"
  
3 Перейти в консолі у папку з проектом
      якщо це перший запуск, то потрібно виконати команду parse add MyApplicationName
      у відповідь ввести email і пароль
      і вибрати зі списку існуючи проектів для цього облікового запису.

4 Для того щоб почати розробку, введіть  parse develop myProjectName
  • система буде автоматично деплоїти будь які змінені файли у проекті
  • консоль почне виводити помилки на сервері
  • консоль виводитиме інформацію console.log(message);


Щоб побачити який з проектів є позамовчуванню (можна деплоїть без вказання проекту), ведіть
parse default

Щоб встановити ваш проект по замовчуванню
parse default myProjectName


середа, 11 лютого 2015 р.

Parse.com load object with related objects

Потрібно мені показати список об'єктів з таблички Appointment
але при цьому потрібно покзати ім'я замовника.
Appointment має поле customerUser
це pointer на табличку CustomerUser
Вона у свою чергу міститть поле user
яке зилається на табличку User

Слід зауважити що всі ці назви case sensitive!

Отдже щоб разом з нашими об'єктами типу Appointment загрузилися дочірні, ми пишемо наступний код
var query = new Parse.Query(Appointment);
query.include("customerUser");
query.include("customerUser.user");
 
і вже у view використовуємо ці дані так:
<%= appointment.get('customerUser').get('user').get('firstName') %> 

Parse.com date format ejs

Довелося мені зіткнутися з parse.com
Це насамперед хостинг і база даних типу ключ-значення
Серверна сторона на express і node.js (дещо урізана версія з вбудованим переліком модулів, своїх не можна підгрузити)
Для відображення сторінок використовується ejs шаблони

Потрібно: відформатувати дату і час

рішення: на рівні express роутінга додаємо
var moment = require('moment');
 
Далі при рендерингу view передаємо цей модуль туди
res.render('appointment/index', {
    appointments: appointments,
    moment:moment  }); 


і вже у шаблоні використовуємо його так
<%= moment(appointment.get('date')).format('LLL') %>