[JS Frameworks] Домашно SPA with Everlive


2
Някой открили какъв е url-а за logout на user, че аз нещо немога?



Отговори



4
Не, за съжаление...при натискане на бутон логаут аз съм го имплементирал да ми зарежда home страницата и да ми зачиства локал сториджа... :)

от zhelyazkovn (2949 точки)


0

var el = new Everlive('{{appKey}}');

el.Users.logout(function () {
            alert('successful logout');
        }, function () {
            alert('failed to logout');
        });

от georgi.ivanov (3261 точки)


0
Ако някой открие как може при добавяне на дадено ентити да се добавят и вложени такива с правилно дефинирани връзки и сподели, мисля, че доста хора ще бъдем благодарни.

от petarpenev (3148 точки)


0
Доста се тормозих по въпроса с релациите и вложените ентитита. Силно подозирам, че отдолу работим с NoSQL база данни, така че изоставям подхода по който работихме досега. Всеки пост е документ, който в себе си съдържа тагове, коментари, име на създателя, ид на създателя и тн. От своя страна коментарите съдържат име на създател, ид и съдържание. Все още не съм имплементирал добавяне коментари, но смятам така да ги направя.

от georgi.ivanov (3261 точки)

0
И аз си мислих, че работи с NoSQL, но тогава от цялата възможност за добавяне на релации в интерфейса няма никакъв смисъл и тя само заблуждава потребителя. Не вярвам да е това.
По-скоро работи с wrap-нат по някакъв начин SQL Server. Предполагам, че или има супер странен синтаксис за адекватен достъп до вложените ентитита, или просто в бетата тази функция още не работи (въпреки че в такъв случай цялата платформа е доста безполезна).

от petarpenev (3148 точки)



1

Друг въпрос, какво подавате за автентикация на потребителя при постовете и коментарите

$.ajax({

    url: 'https://api.everlive.com/v1/DLY94b8wl9hoRlI8/Comments
отзад трябва ли да има нещо(sessinKey или нещо друго)

 

 


от AsenVal (3487 точки)


0
Има го в документацията, трябва да добавиш хедър - headers: {"Authorization" : "AccountKey ${AccountKey}"},
По-лесно беше да използваш JavaScriptSDK-то.

от georgi.ivanov (3261 точки)

0
Не, вместо sessionKey тук, се ползва access_token, което се подава през хедъра.

от Teodor92 (13062 точки)



0

Сега като се зачитам по-грамотно има едно интересно местенце в документацията - Documentation -> REST API -> Power Fields. Подобни заявки връщат свързаните ентитита на базата на Id. 


от georgi.ivanov (3261 точки)


0
това добре ами през javascript SDK как ще си реализират подобни заявки ? Там няма подобна документация

от Божидар Пенчев (0 точки)

0
Правим ajax заявка.

от georgi.ivanov (3261 точки)


1
И според мен ползват NoSQL. Това че е базирано на документ модела не значи, че задължително трябва да се пуска документ който си носи всичката информация в себе си. Може да държи списък от ID-ta към друга таблица и после по тези ID-ta да се тегли информацията от там. Така се избягва повтаряне на данни. Това примерно за много коментари към един пост.
List<int> CommentIDs само че в javascript :) Същото е и с UserId. Въпреки че то там има CreatedBy и би трябвало да имаме достъп до това поле и няма смисъл от UserId да си добавяме.
 
Ако се ползва документ модела ще се увеличи много базата данни. Ако се ползва подобна симулация на релации с ID-та ще се вдигне трафика към апи-тата. Въпроса е кое е по-добре понеже и 2те са лимитирани.
 
Утре ще разцъкам това домашно и ще видя какво би било най-удачно според мен.

от saykor (8845 точки)


0
Everlive работи отдолу с MongoDb.

от VGeorgiev (2890 точки)


0
а отгоре с какво работи :?

от d1mitar90 (50 точки)

0
Node.js + Sitefinity.

от svetlin.nakov (31978 точки)


3

Решение

В крайна сметка не успях да направя Power Fields заявка, но се оказа, че не ми и трябва. Таговете ми са масив от стрингове за всеки пост. За да търся по тях правя query.where().all('ArrayOfTags', tags). Коментарите имат ид на поста и когато ми трябват пускам куери, което мачва по ид.


от georgi.ivanov (3261 точки)


4

Да, и аз така го направих(което не е очудващо при положение, че работиме заедно). Това не знам дали е много адекватен начин, но поне работи, въпреки едната заявка в повече за изкарване на коментари. Но като се има в предвид, че сами си го разучаваме ми се струва горе-долу добре.

Домашно


от tankovski (2828 точки)


2

Ето и моето решение, мисля че съм направил всички необхоидми раутове, благодарение на колегите пренаписах, част от нещата, защото бях почнал с REST, а сега го направих с javaScript SDK. Визията ми е потресаващо ужастна, но нямам време да си играя с нея, Поне за мен Everlive имаше доста прилично поведение и почти неуспях да го счупя, а на мен тези неща при сървисите ми се отдават и то доста :)

 


от AsenVal (3487 точки)