Skip to content

Commit e425bff

Browse files
committed
minor
1 parent 2cf58c4 commit e425bff

14 files changed

Lines changed: 93 additions & 40 deletions

File tree

Install.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -84,21 +84,21 @@ npm install
8484
Инициализуйте базу сайта командой:
8585

8686
```
87-
gulp db:load --from fixture/init --reset
87+
gulp db:load --from fixture/init
8888
```
8989

90-
91-
Репозитарий с учебником до окончания работы над первым релизом сайта приватный, можно импортировать "заглушки":
90+
Учебник находится в отдельном репозитарии:
9291
```
93-
gulp db:load --from fixture/tutorial --reset
92+
git clone -b master --single-branch https://github.com/iliakan/javascript-tutorial
9493
```
9594

96-
Если есть доступ к учебнику, то клонируйте его, например, в `/js/javascript-tutorial` и импортируйте командой:
97-
95+
После клонирования импортируйте учебник командой:
9896
```
9997
gulp tutorial:import --root /js/javascript-tutorial
10098
```
10199

100+
Здесь `/js/javascript=tutorial` -- директория с репозитарием учебника.
101+
102102
## 9. Запуск сайта
103103

104104
Запуск сайта в режиме разработки:
@@ -110,7 +110,7 @@ gulp tutorial:import --root /js/javascript-tutorial
110110

111111
Обратите внимание: ходить на сайт нужно через Nginx (обычно порт 80), не напрямую в IO.JS (не будет статики).
112112

113-
Если в `/etc/hosts` есть строка `127.0.0.1 javascript.in`, то адрес будет http://javascript.in/
113+
Если в `/etc/hosts` есть строка `127.0.0.1 javascript.in`, то адрес будет `http://javascript.in/`.
114114

115115
# TroubleShooting
116116

fixture/init/course.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ const mongoose = require('mongoose');
22

33
var Course = require('courses').Course;
44
var CourseGroup = require('courses').CourseGroup;
5+
var CourseInvite = require('courses').CourseInvite;
56

67
exports.Course = [
78
{
@@ -15,6 +16,7 @@ exports.Course = [
1516
}
1617
];
1718

19+
exports.CourseInvite = [];
1820

1921
exports.CourseGroup = [
2022
{

fixture/init/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ module.exports = _.merge(
55
require('./newsletter'),
66
require('./orderTemplate'),
77
require('./course'),
8-
require('./migrationState')
8+
require('./migrationState'),
9+
require('./videoKey')
910
);

fixture/init/videoKey.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
const mongoose = require('mongoose');
2+
3+
var VideoKey = require('videokey').VideoKey;
4+
5+
exports.VideoKey = [
6+
{
7+
key: 'J1',
8+
tag: 'js'
9+
},
10+
{
11+
key: 'J2',
12+
tag: 'js'
13+
},
14+
{
15+
key: 'J3',
16+
tag: 'js'
17+
},
18+
{
19+
key: 'J4',
20+
tag: 'js'
21+
},
22+
{
23+
key: 'N1',
24+
tag: 'node'
25+
},
26+
{
27+
key: 'N2',
28+
tag: 'node'
29+
},
30+
{
31+
key: 'N3',
32+
tag: 'node'
33+
},
34+
{
35+
key: 'N4',
36+
tag: 'node'
37+
}
38+
39+
];

handlers/courses/controller/coursesByUser.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ exports.get = function*(next) {
3131
this.body = [];
3232

3333
for (let i = 0; i < invites.length; i++) {
34-
3534
let group = invites[i].group;
3635
yield CourseGroup.populate(group, {path: 'course'});
3736
let groupInfo = formatGroup(group);

handlers/courses/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ exports.init = function(app) {
77

88
exports.Course = require('./models/course');
99
exports.CourseGroup = require('./models/courseGroup');
10+
exports.CourseInvite = require('./models/courseInvite');
1011

1112
exports.onPaid = require('./lib/onPaid');
1213

handlers/courses/lib/onPaid.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,17 @@ module.exports = function* (order) {
6161
return sendInvite(invite);
6262
});
6363

64-
/*
64+
/*
6565
yield CourseGroup.populate(group,[{path: 'participants.user'}, {path: 'course'}]);
6666
67-
yield* grantXmppChatMemberships(group);
67+
if (process.env.NODE_ENV != 'development') {
68+
yield* grantXmppChatMemberships(group);
69+
}
6870
6971
if (group.course.videoKeyTag) {
7072
yield *grantVideoKeys(group);
71-
}*/
72-
73+
}
74+
*/
7375

7476
order.status = Order.STATUS_SUCCESS;
7577

@@ -99,9 +101,9 @@ function* grantXmppChatMemberships(group) {
99101
for (var i = 0; i < group.participants.length; i++) {
100102
var participant = group.participants[i];
101103

102-
log.debug("grant " + roomJid + " to", participant.user.profileName, participant.courseName);
104+
log.debug("grant " + roomJid + " to", participant.user.profileName, participant.firstName, participant.surname);
103105

104-
jobs.push(client.grantMember(roomJid, participant.user.profileName, participant.courseName));
106+
jobs.push(client.grantMember(roomJid, participant.user.profileName, participant.firstName + ' ' + participant.surname));
105107
}
106108

107109
// grant all in parallel
@@ -116,7 +118,7 @@ function* grantVideoKeys(group) {
116118
return !participant.videoKey;
117119
});
118120

119-
121+
console.log(group.participants, participants);
120122
var videoKeys = yield VideoKey.find({
121123
tag: group.course.videoKeyTag,
122124
used: false

handlers/courses/templates/groupInfo/js.jade

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ block content
2323

2424
h2 Общение в чате
2525

26-
p Для общения в чате используется Jabber-клиент.
26+
p Для чата мы используем Jabber. Это удобный чат-клиент с открытым протоколом и большим количеством свободно распространяемого программного обеспечения.
2727

28-
p Самые популярные клиенты:
28+
p Если у вас он ещё не стоит Jabber-клиент, нужно будет поставить. Самые популярные клиенты:
2929

3030
ul
3131
li Для Windows и Linux: <a href="http://pidgin.im">Pidgin</a>.
@@ -34,26 +34,27 @@ block content
3434
p Для настройки вам понадобятся:
3535

3636
ul
37-
li Имя страницы профиля в качестве логина &ndash; <b>#{user.profileName}</b>.
37+
li <b>Логин:</b> <code>#{user.profileName}</code> (в некоторых клиентах вводится вместе с доменом: <code>#{user.profileName}@javascript.ru</code>.
3838
li
39-
| <b>Пароль</b> для входа в сайт learn.javascript.ru (не javascript.ru).
40-
| Если вы всегда входили через внешний сервис авторизации &ndash; его может не быть,
39+
| <b>Пароль:</b> тот, которые вы используете для входа в сайт learn.javascript.ru (не javascript.ru).
40+
| Если вы ранее входили только через Facebook/Github/..., то пароля может не быть,
4141
| тогда создайте его во вкладке профиля <a href="#{user.getProfileUrl()}/account">Аккаунт</a>.
42-
li Название комнаты: <b>#{group.webinarId}</b>.
42+
li <b>Название комнаты:</b> <code>#{group.webinarId}</code>.
4343

44-
p Обратим внимание: никакие другие настройки, в частности ваш email, вам не нужны. Только то, что указано выше.
44+
p В качестве своего ника(псевдонима) для комнаты укажите свое имя и фамилию в формате "Имя Фамилия".
4545

46-
p Если вы раньше настраивали Jabber-клиент, то вот настройки:
46+
p В зависимости от клиента могут понадобиться дополнительные настройки:
4747

4848
ul
4949
li Сервер: javascript.ru.
5050
li Сервер конференций: conference.javascript.ru (стандартный).
51-
li В качестве ника(псевдонима) для комнаты укажите свое имя и фамилию в формате "Имя Фамилия" (учитывая регистр).
5251

53-
p Если нет, то вот короткое видео по установке и настройке <a href="/courses/pidgin.mp4">Pidgin</a> и <a href="/courses/adium.mp4">Adium</a>.
52+
p Также доступно короткое видео по установке и настройке <a href="/courses/pidgin.mp4">Pidgin</a> и <a href="/courses/adium.mp4">Adium</a>.
5453

5554
h2 Система для разделения экрана и общения
5655

56+
p Мы используем систему GoToWebinar, в ней специальный кодек, который обеспечивает лучшее качество скринкастов, чем более распространённый flv-формат.
57+
5758
p.
5859
Для использования этой системы в браузере должна быть установлена и включена java.
5960
Если у вас ее нет &ndash; скачать можно здесь:
@@ -62,8 +63,8 @@ block content
6263
p Для захода в систему зайдите на <a href="http://joingotowebinar.com">http://joingotowebinar.com</a> и введите:
6364

6465
ul
65-
li Webinar ID: <b>#{group.webinarId}</b>.
66-
li Email: <b>#{user.profileName}@javascript.ru</b>.
66+
li <b>Webinar ID:</b> <code>#{group.webinarId}</code>.
67+
li <b>Email:</b> <code>#{user.profileName}@javascript.ru</code> (именно это, не ваш реальный email).
6768

6869
p Для запуска системы отвечайте Yes на вопросы. Если ничего не запускается &ndash; возможно, нужно нажать кнопку <b>Launch</b> или <b>Download Software</b> и запустить скачанную программу вручную.
6970

handlers/courses/templates/groupInfo/js.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22
## Общение голосом
33

4-
Для общения голосом служит та же система, что и для видео.
4+
Для того, чтобы задавать вопросы голосом, используется та же система, что и для видео. Понадобится микрофон.
55

6-
Желательно иметь микрофон неподалёку, хотя он и не обязателен для участия, задавать вопросы можно и текстом в чате.
6+
Заметим, что микрофон не обязателен для участия, так как задавать вопросы можно и в чате.
77

88
### Как задавать вопросы?
99

@@ -67,9 +67,9 @@
6767
Ну и, конечно же, нужны будут браузеры, которые вы собираетесь поддерживать. Обычно это Chrome, Internet Explorer и Firefox. Настройте свое рабочее место. Поставьте редакторы -- я использую <a href="https://www.jetbrains.com/webstorm/">Webstorm</a> и <a href="http://www.sublimetext.com/">Sublime</a>,
6868
но есть и много других, выбор целиком ваш.
6969

70-
Обязательно выставьте точное время на часах (свериться можно с [google](https://www.google.ru/search?q=время)). Это нужно для координации времени на перерывы и решение задач.
70+
Обязательно выставьте точное время на часах (свериться можно с [google](https://www.google.ru/search?q=время) или любым другим тайм-сервером). Это нужно для координации времени на перерывы и решение задач.
7171

72-
Все эти приготовления и система задуманы так, чтобы сделать процесс обучения максимально комфортным и эффективным.
72+
Все эти приготовления и система задуманы так, чтобы сделать процесс обучения максимально комфортным и эффективным.
7373

7474
Если что-то из этой инструкции непонятно -- задавайте вопросы на <a href="mailto:[email protected]">[email protected]</a>, я на них отвечу.
7575

@@ -80,10 +80,11 @@
8080

8181
<ol>
8282
<li>Во-первых, проверьте, что вы вводите в качестве логина именно то, что указано выше. Некоторые клиенты требуют указать логин вместе с сервером: `логин@javascript.ru`.</li>
83-
<li>Во-вторых, проверьте пароль -- это должен быть пароль для входа на сайт learn.javascript.ru.</li>
83+
<li>Во-вторых, проверьте пароль -- это должен быть пароль для входа на сайт `learn.javascript.ru`.</li>
8484
<li>Это бывает весьма редко, но некоторые провайдеры имеют сложности с правильным разрешением особых ДНС-записей для Jabber.
8585
В результате аккаунт не может подключиться.
86-
Попробуйте поставить DNS-сервер `8.8.8.8` (это открытый сервер от Google), если заработает, значит дело в этом.</li>
86+
Попробуйте поставить DNS-сервер `8.8.8.8` (это открытый сервер от Google), если заработает, значит дело в этом.
87+
Под Windows это делается в настройках сетевого соединения (Свойства соединения, пункт TCP, DNS).</li>
8788
<li>Если и это не помогло -- проверьте, открыт ли порт 5222, это можно сделать командой `telnet jabber.javascript.ru 5222` или другой аналогичной. Иногда администраторы в офисах его закрывают.</li>
8889
</ol>
8990

@@ -103,7 +104,7 @@
103104
<li>Если вебинар пишет "not approved" -- возможно, вы не пробовали войти до собрания, и ведущий не имел возможности подтвердить вашу регистрацию, попросите его об этом в чате.</li>
104105
<li>Если всё ещё не работает -- посмотрите системные требования. Операционная система: Windows или MacOS. Нужна <a href="http://java.com/ru/download/index.jsp">Java</a>.</li>
105106
<li>Бывает так, что автоматически система не стартует, на этот случай при входе есть предложение скачать (download) программу и запустить её вручную.</li>
106-
<li>Если никак не запускается -- убейте процессы с названиями вида `g2*` (то есть, начинающиеся с `g2`) или перезарузитесь и попробуйте ещё раз. Это сценарий бывает редко.</li>
107+
<li>Если никак не запускается -- убейте процессы с названиями вида `g2*` (то есть, начинающиеся с `g2`) или перезагрузитесь и попробуйте ещё раз. Это сценарий бывает редко.</li>
107108
</ol>
108109

109110
Если всё ещё не работает -- во время онлайн-собрания можно задавать вопросы по Skype, ник: `javascript.ru`.

handlers/courses/templates/invite/accepted.jade

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ extends /layouts/main
33
block append variables
44
- var layout_header_class = "main__header_center"
55
- var sitetoolbar = true
6-
- var title = "Приглашение принято"
6+
- var title = "Участие подтверждено"
77
- var layout_main_class = "main_width-limit"
88

99
block content

0 commit comments

Comments
 (0)