Mergi la conținut
KAMOUniverse

Jurnal de schimbări

Ce e nou.

Fiecare îmbunătățire a platformei, pe măsură ce se livrează.

  1. · SecurityService

    Spune care localizează fiecare intrare este într-adevăr tradus în

    Harta site-ului de marketing enumeră acum fiecare versiune a fiecărei limbi şi fiecare pagină de intrare îi numeşte pe ceilalţi ca alternatori. A randul de traducere nu este dovada unuia: TralateService raspunsuri directii nu are nici un furnizor pentru cu sursa engleză, astfel încât fiecare rând ta, și SW și Rânduri de intrări mai vechi, repetaţi cuvântul în limba engleză titlu de cuvânt. Naming Acestea ar indica motoarele de căutare la pagini care canonic înapoi la limba engleză. - *************** returns, per entry, the localnes al cărui titlu sau descriere diferă de limba engleză, în comparație cu baza de date în loturi de 1000 de ID-uri. - /public / sitemap transporta Sitemap's changelog fişiere umple şi apoi nu schimba. - /public/introducere/{slug} transporta localuri, și traducere mai degrabă decât un rând.

  2. · kamo-internal

    Void o organizație de la Platforma - > Configurare - > Organizații

    Fila Organizațiilor câștigă Active și Void sub-tabe, și fiecare organizație sertar un mod de a-l anula sau, pe fila Void, pentru a-l restabili. - Active / Void sub-tabs deasupra directorului, luate de la server ActiveOrgs / offedOrgs (care urmează căutării, oricare filă este deschisă). Fila trăiește în URL ca orgStatus = evita, la fel ca restul consolei vedere; este un loc, nu un filtru, astfel încât Clar îl păstrează. - Sectiunea Void a sertarului (niciodata pe platforma org) deschide o confirmare care descrie ce face anularea: toată lumea din interior este semnat, lasă /Rețea, sign-in și fiecare listă, creatorul său este tratat ca neavând niciodată l-a creat şi nimic nu se şterge. - Sertarul unui org gol conduce cu "Voided <date> by <operator>" and Restore; testele și controalele pe platformă sunt oprite. - Refuzurile serverului sub-orgs, încă în curs de încărcare - POST *************** pe o rută de releu (SecuritySecurity Service forces Manage ORGANIZAtions). Suport: kamo-shared-library d2c09630, serviciu de securitate 6c8d789, serviciu de facturare 072ca5f, mediaservice db90b81; engleză în kamo-translation-dictionary deba6215.

  3. · MediaService

    Lista nu mai dă nume unei organizaţii anulate

    O organizație anulat de la Platforma -> Configurare - > Organizații (orgs.is activ = FALSE) nu există nicăieri, ci fila Void a consolei. găsiOwnedOrgsByOwnerIds executiv proprii," păstrate pentru ID org lângă fiecare titlu filtru live-org gindurile comuneTitluriOwnnedByOwnerIds și GăsițiDistinctOwnerUserIds câștigat în kamo-shared-library d2c09630. Pinned in Exec2ExecQueryParseTest, care, de asemenea, parses impotriva modelului de entitate.

  4. · BillingService

    File active și Void în directorul org platforma

    Fila organizaţiilor consolei se împarte în sub-tabe active şi Voide. A Organizaţia anulată este orgs.is activă = FALSE (setată prin vidul Serviciului de Securitate) obiectivul); directorul este singurul loc încă listare o pe fila Void, ca un operator să-l poată restaura. - GET /api/billing/platform/orgs are statut=evită; orice altceva, inclusiv fără statut, liste numai orguri live. Fiecare apelant mai în vârstă a vrăjitorului comerţului tinta-org căutare printre ele a arătat o organizație care nu mai există. - Rânduri transporta anulat, anulatAt, anulatByUserId și un hidratat anulatByName (un grup de căutare, numai atunci când pagina a anulat rânduri). - Agregatele urmează fila, și adăugați Orgi active / Orgi anulate, care ignoră tab (ambele file au nevoie de ambele numere) în timp ce onorează fiecare alt filtru. - Numărătoarea sub-orgului lasă în urmă copiii fără adăpost. - Snapshot de stocare pe timp de noapte și raportul de stocare a platformei săriți anulat Orgile; istoria este menţinută şi golurile de manipulare ale scriitorului prind o org restaurată. Verificați declarațiile generate doar citiți în baza de date live: Active 40 rânduri / număr 40 + 0, Void 0 rânduri.

  5. · SecurityService

    Void o organizație, și nu lăsați nici un fel în ajunge la unul gol

    Platforma - > Configurare - > Organizaţiile pot anula acum o organizaţie. Golul este orgs.is activ = FALSE; acest angajament adaugă acțiunea și face În orice fel într-o organizaţie refuză unul gol. Acţiunea "P" ********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************* ORGANIZAȚII DE MANAGEMENT (Tabul propriu dreptul): - OrgVoidService refuză, schimbând nimic: platforma org, org operatorul este semnat într-o org cu sub-orgi vii, și o org încă fiind taxat (un abonament PAID live cu un preţ, ţintindu-l sau plătit de acesta conturi). În caz contrar, se stabilește steagul, înregistrări anulate at / anulat by user id, și revocă fiecare sesiune a membrilor săi. Restaurarea le eliberează pe toate trei. Nimic nu este șters; membrii și datele vin înapoi așa cum au fost. - 200 cu noul stat, 404 necunoscut, 409 cu un motiv pentru care consola se traduce. Modul în care: - KSessionService.createSesssion refuza un org anulat prin VoidedOrgGuard (citire PK descastrat, nu se deschide), urmatorul la poarta contului sintetic. - retelele mele lasa orga anulata afara: ecranul de acasa conteaza randurile sale isowner să decidă dacă un membru a creat un org, astfel încât un membru al cărui singur creat Org a fost anulat este oferit fluxul crea-ta-primul-org din nou. toate rețelele urmează prin intermediul getAllganizations partajate (). - Intro-ca și inter-org imitație răspuns 404, ca pentru o org lipsă. - Sondajul de sesiune încheie o sesiune în interiorul unui org anulat (backstop pentru un mented înainte de aterizarea drapelului). - Schimb de dispozitive mobile, auto-login post-verificare, arhiva de rețea căutare și căsuța poștală nescoperată / work-email sign-in cautari sari peste orgi anulate. - Contorizare generală a platformei, verificări de stocare și citirea raportului de impact eșuează Enumerarea în direct. Deja s-a aplicat în baza de date în direct.

  6. · kamo-shared-library

    O organizație anulată este lăsată din fiecare listă și căutare gazdă

    Operatorii platformei pot anula acum o organizație de pe Platforma -> Configurare - > Organizaţii. Golul este orgi. este activ = FALSE rezoluție au fost deja verificarea care nu a verificat-o de acord: - găseșteAllLive(): enumerarea org minus orgile sintetice și anulate. ************** punctul de sufocare din spatele orgului Lista, toate reţelele şi diagnosticul contează, acum citeşte. găsiAllExcludingFakeOwned() rămâne așa servicii construite înainte de această compilare încă. - găseșteAllByVerifiedDomain: domeniul unei org anulate nu se mai rezolvă, așa că se oprește acceptarea semnelor și a înregistrărilor. - findOwnedTitlesByOwnerIds / findDistinctOwnerUserIds: the Exec2Exec list no nume mai lungi anulate organizații ca oricine. - Organization.evitedAt / anuledByUserId: who oneed and when, for the fila Void a consolei. Niciodată în serie. Coloane aplicate în baza de date live înainte de acest angajament ******************* în serviciul de securitate). - Organization.isVoeded(): citește starea de înregistrare, niciodată stocat de două ori. - General org PATT nu mai acceptă recordState: gol și restaurare sunt numai scriitori de is activ, astfel încât un setările salva care ecouri spate nu poate Refaceți în liniște o org gol.

  7. · kamo-internal

    Titlurile subiectului în dropdowns barului stau pe o placă mai întunecată a mărcii

    Numele propriu al unui meniu în partea de sus şi în fiecare secţiune (Suportul "Online Support," "Bugs & Îmbunătățiri," "Training"; Docs "Crea nou") se așează acum pe o placă rotunjită a organizației primar, mai închis, în alb complet rândul la clic. Punctul culminant hover merge mai ușor, titlurile merg mai întunecat; cele două nu arata la fel. Placa este neagră translucidă (TOPIC PLATE), care pe sol ESTE solul amestecat spre Negru: aceeaşi nuanţă, oricare ar fi marca. Un "primar fix la N%" ar fi ieșit mai ușor decât sol sub un meniu la capătul stâng al barului, în cazul în care rampa cusătură începe de la amestec de 60% barului. Măsurat într-un browser real peste 11 mărci la ambele capete ale barei: fiecare placă este de 0,73-0,80 pământ lângă ea pe fiecare canal (fără schimbare de nuanță), alb pe ea este 7.4:1 sau mai bine, și alunecare Niciodată nu aterizează pe un drum. Un paznic în navTopMenuIsWhite.test.ts pini ambele titluri la placa.

  8. · kamo-internal

    Fețe pe mesaje numai în conversații de trei sau mai multe

    O față lângă fiecare mesaj spune oamenilor în afară, și între doi oameni parte un mesaj este atras pe face deja asta - astfel încât fața colț apare acum numai atunci când trei sau mai mulți oameni sunt în conversație (showsFaces), și niciodată în timp ce numărul este necunoscut, astfel încât o față nu este niciodată afișată și apoi luate. - Chat: numărat din lista fereastra deține deja, care urmează oameni aderarea și plecarea în direct; un chat de două persoane nici măcar nu cere fețe. - Suport, Social, Exec2Exec: numărul serverului, acum pe feţele răspuns (MediaService e722c90) - fiecare persoană odată ce multe locuri le dețin, a contact social inclus. Insetări de denumire/atribuție și headroom-ul rândului care face loc pentru fata se aplica numai atunci când este acolo. - SMS și AI Chat sunt întotdeauna două părți (numărul unui membru și altul; membru și asistentul), astfel încât codul lor fata este eliminat în întregime - înapoi la exact ceea ce au fost - împreună cu utilizareaOwnPhoto și gliful lui MessageAvatar, pe care numai ei le-au folosit.

  9. · MediaService

    Răspunsul fetei spune cât de mulți oameni sunt în conversație

    GET ************* acum poartă participanţi: consola pune o față lângă fiecare mesaj numai atunci când trei sau mai mulți oameni sunt într-o conversație, deoarece între două, partea un mesaj este atras pe spune deja care a scris-o. Numărat din scaune, nu autorii - cineva care a scris şi a plecat păstrează un fata pe ceea ce au scris fără a fi în conversație; mai puțin nimeni nu mai mult eligibile pentru o conversație live (regula chat-ului propriu, care păstrează întotdeauna vizualizatorul); o dată pe persoană, pentru că o persoană poate deține mai multe scaune (un client Exec2Exec este așezat din fiecare organizație din care au scris); plus contactul unei conversații sociale, care nu are nici un rând membru. Un web-chat Locul vizitatorilor este membrul Sistemului Orga, deci contează o dată, ca ei.

  10. · kamo-marketing

    Genera sitemaps la cerere, și de a da fiecare schimbare propria pagină

    /Sitemap.xml a fost un fișier metadate prerandate la timpul de construcție, într-un container care nu pot ajunge la KBService sau SecurityService, astfel încât fiecare instalare a expediat un sitemap cu nici un articol de ajutor-centru în ea până la prima împrospătare ISR. Şi... /api/sitemap a păstrat o a doua copie a listei de pagini care a deviat de la ea. - /sitemap.xml este un index sitemap generat pe cerere. Enumeră /sitemaps/pages.xml (pagini scrise manual, pagini de colectare, posturi de blog și fiecare articol de bază de cunoștințe, cu hreflang) și /sitemaps/changelog/<n>.xml (5.000 de intrări în jurnal fiecare). /api/sitemap și /api/sitemap/changelog/<n> sunt redarea JSON a aceluiași modul, app/lib/sitemap-source.ts. - Lista de pagini scrise de mână trăiește o dată, în aplicație/lib/semitap-pages.ts și paznic:Sitemap nu reușește să construiască atunci când o rută statică nu este nici listată, nici exclus cu un motiv. - /changelog este paginat pe server: ?page=N, with ?project= and ?type= răspuns prin SecurityService, în cazul în care filtrele vechi doar ascuns intrări printre 50 pe ecran. Fiecare pagină este canonică proprie; vederi filtrate sunt Fără index, urmaţi. - Fiecare intrare are propria pagină la /changelog/<slug>, legată de intrări De fiecare parte. Este canonic pentru limba engleză în cazul în care localul nu are traducere încă, și o ortografie mai veche a adresei sale 308s la curent Unu. Pagina de start se leagă de aceste pagini. - Statistici și filtre sunt citite pe server. Calea /api/changelog/stats Ei au venit de la au fost de servire recipientului de constructie de 0.

  11. · SecurityService

    Da fiecare intrare publică o adresă, și pagina lista de pe server

    Jurnalul public a servit intrări fără identificator, deci site-ul de marketing nu le-a putut lega nici una, nici lista într-un sitemap. Fiecare intrare poartă acum o melc - titlul său în limba engleză în formă URL, apoi douăsprezece caractere ale comiterii sale hash - și: - GET *************** întoarce o intrare cu intrările De fiecare parte. Este găsit numai de prefixul hash, astfel încât o intrare a cărui Titlul s-a schimbat încă se rezolvă la vechea sa adresă, iar apelantul redirecţionează spre cel curent. - GET /api/changelog/public/sitemap returnează glonțul, titlul și data fiecărei intrări în bucăți de până la 5.000, citind trei coloane pe rând. - GET /api/changelog / public acceptă Doar restrânge lista publică și ordinele la (data la care a fost prezentată, id): se angajează Împărtășirea unui timbru temporal nu mai schimbă pagini între două cereri. O pagină este limitat la 100 de intrări. Întrebările trăiesc în PublicChangelogService mai degrabă decât ComitLogRepository, așa Nimic din toate astea nu are nevoie de o eliberare comună.

  12. · kamo-internal

    Fiecare mesaj poartă fața autorului său, pe colțul bulei

    În fiecare fereastră de instrumente de chat popup - Chat, Support, Exec2Exec, Social, SMS, AI Chat - fiecare mesaj poartă acum o fotografie 16x16 care se suprapune bulei de sus stânga colț pentru un mesaj pe stânga și colțul din dreapta sus pentru unul pe dreapta. Fiecare mesaj, nu doar prima dintr-o cursă: Vechea faţă a ferestrei Chat în linia antetului este plecat, și numele / liniile de atribuire sunt insetate astfel încât fața nu stă la prima lor scrisoare. Iniţiale doar atunci când persoana nu are nici o fotografie. Faţa are trei valori. (MessageAvatar): un URL este o fotografie, a încercat ca varianta sa sm și apoi ca fișier full-size (variații mici sunt opționale server-side; upload-uri mai vechi lipsesc ele); nul este inițialele; nedefinite - nu se știe încă - este un disc gol, așa Cineva cu o fotografie nu clipeşte niciodată ca iniţiale în timp ce este privit în sus. De unde provin fotografiile. Ferestrele utilizate pentru a citi doar propriile vizualizatorului directorul membrilor (membrii echipei active ai org-ului semnat), astfel membrii simpli, întreaga altă parte a unui bilet de sprijin sau o conversație Exec2Exec, și Cei care au părăsit un grup au fost desenaţi ca iniţiale cu o fotografie pe ele. profil. Acum, un magazin pe conversație (app/lib/chat/sessionFaces.ts) citește Mediaservice's new GET *************** - toată lumea pe Conversaţie şi toţi cei care au scris vreodată în ea, din propriul lor profil, pe o gazduieste consola poate incarca - printr-un fisier de ruta proprie (/api/media nu este a prefix proxied). Primul mesaj al unui nou-venit re-întreaba o data; cineva serverul Încă nu acoperă, sau toată lumea în timp ce un Mediaservice mai vechi nu poate răspunde, cade înapoi la directorul cauta ferestrele utilizate înainte. Rândurile care nu trebuie să poarte niciodată fața membrului sunt stocate sub: - un vizitator de chat web (pozitat sub membrul sistemului org, proprietarul) devine iniţialele vizitatorilor; - un contact social (pozitat sub proprietarul conexiunii) devine fotografia lor furnizorul a dat, prin proxy imagine. SMS: textele trimise sunt ale telespectatorului (o conversaţie aparţine unui membru numărul); cei primiți poartă fotografia persoanei de contact din director antetul citeste, initialele lor, sau un semn de telefon pentru un numar nimeni nu este salvat sub. AL Chat: fotografia membrului pe ceea ce au cerut; asistentul, care nu are Profilul, poartă strălucirea AI. Rânduri în listele 4px ambalate cu nici o linie de nume de mai sus obține 4px de headroom: măsurat în Chrome real, fata altfel sa așezat 1-2px din marca de timp a mesaj înainte.

  13. · kamo-internal

    Signature Wishers tab, și un coleg de salvare în editor șablon

    Solicitări de semnătură, între șabloane și comune în managerul Docs: fiecare document șabloanele colecției trimise pentru semnătură, într-o grilă paginată pe server și împărțit în trei găleți (neexecutat, parțial executat); Complet Executat), fiecare arătând câte sunt noi pentru acest membru. Fila arată totalul care este nou. Privind la o găleată clar conta pentru acest membru Doar, şi tabla se deschide pe prima găleată care ţine ceva nou. Coloane: documentul și cine l-a trimis, indicatoarele (un inel per signer în culoarea locului în care se află), x y semnat, statut, trimis, ultima activitate și Complet executat. Fiecare rând poate ghiont toată lumea încă în așteptare, descărcați document executat, certificatul de finalizare sau ambele ca ZIP și deschis cererea. Sertarul de cerere adaugă un ghiont pe signer, ceea ce sa întâmplat atunci când, și retragerea cererii cu un motiv. Editorul șablonului înregistrează acum că are un șablon deschis (o bătaie a inimii Pentru ca un coleg să fie salvat sau restaurat. Acest fișier ajunge la ea, și spune cine a făcut schimbarea. Subiectul său live a fost construit din ID-ul membru ca un număr JS, care runde id trecut 2^53, astfel încât Salvare notificare nu a ajuns. Acum foloseşte şirul de identificare.

  14. · ESigService

    Solicitări de semnătură pentru managerul Docs, cu numere noi pentru fiecare membru

    Managerul Docs primeste o fila de cereri de semnatura: fiecare document o colectie șabloane trimise pentru semnătură, în trei găleți prin semnături (nimeni; unele, sau toată lumea a semnat), fiecare cu câte sunt noi pentru acest membru. /api/esig/questions listează o găleată cu o pagină pe rând, sortate și căutate în Baza de date. /Numerile dau fiecare găleată numărul total și nou, și /văzut înregistrează că un membru s-a uitat la o găleată. În ce a trăit fiecare membru esign request views ************* aplicat manual), tastat după membru, colecţie şi găleată. O cerere este nouă într-o găleată atunci când a intrat în găleată după ce membrul a căutat ultima dată acolo. La cerere: aduceți-l, împingeți indicatoarele încă în așteptare (un re-invite cu o Reamintire linie, cel mult o dată pe oră pe signer), retrageți-l, și descărcați documentul executat, certificatul de finalizare sau ambele ca ZIP. Citirea necesită VIew DOCUMENTS; nuddging și retragerea au nevoie de EDIT DOCUMENTS. A cerere este accesibil numai printr-un șablon într-o colecție membrul poate Vezi, la clearance-ul lor.

  15. · DocsService

    O salvare ajunge la fiecare coleg cu șablonul deschis

    O salvare a fișierului șablonului a spus doar membrul care a salvat-o, astfel încât un coleg cu acelaşi şablon deschis plasarea continuă câmpuri peste pagini fişierul a mutat De la. Editorul șablonului spune acum când are un șablon deschis: POST - Nu. la fiecare 30 de secunde în timp ce este, DELETE atunci când Închide. OpenEditorRegistry păstrează că în Redis ca un set sortate pe document (membru - > interval de timp, 95 s), astfel încât un editor care a dispărut fără a închide picături Singură. O salvare publică un cadru pe membru cu șablonul deschis, fiecare pe subiectul propriu al acelui membru, și spune cine a făcut schimbarea. Ceasul. verifică că membrul poate citi documentul, modul în care fiecare citire o face. O restaurare spune acum colegii prea, cu versiunea de proiectare a adus înapoi, astfel încât editorul lor reîncărca câmpurile, precum și paginile.

  16. · MediaService

    O față pentru fiecare mesaj în fiecare fereastră de chat

    GET *************** răspunsuri, pentru o conversație, fotografia pentru a desena alături de fiecare mesaj: toată lumea pe el acum ȘI toată lumea care a scris vreodată în ea (un registru uită oamenii care au plecat; mesajele lor nu), fiecare în membri dacă au sau nu o fotografie, astfel încât consola poate spune "fără fotografie: iniţialele de la "nu m-au întrebat încă." Fotografii sunt Exec2ExecFaces.memberFhotos - fotografia de profil a membrului, altfel propria persoană - construit pe live privitorului gazdă temă, cel img-src consola permite. O conversație socială, de asemenea, numele persoanei de contact (nu este membru deloc) ca "countypart," cu furnizorul Fotografie. De ce serverul: singura sursă a consolei a fost propriul membru al privitorului director - Membrii activi ai echipei org semnat-in - astfel membrii simpli, întreaga altă parte a unui bilet de sprijin sau o conversație Exec2Exec, și oricine care părăsise un grup au fost toate desenate ca inițiale cu o fotografie pe profilul lor. Cautarea pe membru ar putea cădea înapoi pe refuza alte orgi. Cine poate întreba este cine poate citi transcrierea (un membru semnat, o sesiune care există): o față spune mai puțin decât mesajele de lângă ea. De asemenea: istoria citeste acum tag-uri ceea ce un contact social a scris ca SOCIAL VISITOR sub numele persoanei de contact, aşa cum a fost întotdeauna. Aceste rânduri sunt stocate sub membrul proprietarului conexiunii, astfel încât o conversație reîncărcat depus cuvintele de contact sub numele proprietarului, de partea proprietarului atunci când proprietarul a fost Am citit şi aş fi pus poza proprietarului lângă ei.

  17. · MediaService

    O legătură de întâlnire în conversație, întotdeauna pe platforma Kamo Meet

    POST *************** permite fiecare parte a unei conversații Exec2Exec adăugați un link de întâlnire, în spatele aceleiași porți ca trimiterea unui mesaj. Reuniunea este creată ca organizarea PLATFORM, pe Kamo Meet, pe domeniul live al platformei (ședința.kamothrm.com/<room>); oricine întreabă - propria gazdă de etichetă albă a clientului sau Zoom ar pune o întâlnire cu KamoCRM directorii unei companii cu care KamoCRM vorbeşte pur şi simplu - cu apelantul în calitate de creator. Este apoi postat ca mesaj apelantului prin Exec2ExecService. Post, așa că ajunge la ambele părți live, ridicat, insignat și împins; un cod de acces, atunci când camerele platformei au nevoie de unul, merge alături de ea. - Nu. rezolvă Kamo Meet pentru un org orice furnizor are Alegeți (se îndeplinesc în continuare setările, nu se aplică acreditările altui furnizor); și - Nu. creează prin ea; calea de creare existentă este neschimbată. Nici un drept START METING nu este cerut apelantului: acest drept este despre propria organizație Întâlniri, iar acesta nu e al lor.

  18. · kamo-internal

    Adăugați un link de întâlnire la conversație - întotdeauna platforma Kamo Meet

    Ambele laturi ale ferestrei Exec2Exec au acum camera video pe care o au celelalte ferestre de chat: Adăugaţi o legătura de întâlnire. Intalnirea este creata de MediaService ca organizatie PLATFORM, pe adresa Kamo Meet a platformei (meet.kamocrm.com/...), oricare parte o apasă - niciodată propriul client alb-eticheta întâlni gazdă sau furnizor - și postat ca mesaj de presă, așa că ajunge în ambele ferestre live, ridicate și insignate ca orice mesaj. Links in the Exec2Exec transcription are now clickable, through the same linkifyPlainText every alte utilizări ale ferestrei de chat (exportate din MessageList mai degrabă decât copiate).

  19. · kamo-internal

    Filtrele, feţele şi prezenţa biroului; o insignă Exec2Exec care arde

    Centrul de interacţiune > Discuţii > Exec2Exec primeste doua filtre sub sub-tabe: Proprietarul Org (Toate Schimbă. Amintit pentru sesiunea de browser ca fiecare loc din panou, și un nou Sesiunea se deschide la All Cineva cu nici un fel de data ultima nici un fel. Fiecare rând arată acum propria fotografie a clientului (inițiale numai atunci când acestea nu au nici unul), dacă Sunt online, când s-au înscris ultima oară şi când conversaţia a fost vorbită ultima dată... în fusul orar al membrilor - lângă numărătoarea necitită. Biroul se reciteste odata minute în timp ce este vizibil, astfel încât prezența nu merge vechi. Fereastra Exec2Exec atrage fotografia fiecărui director KamoCRM din profilul membrilor KamoCRM în banda de participanți, și fotografia clientului în antetul biroului, transportate de la Rândul listei sau din cadrul care a ridicat fereastra. NavTop's Exec2Exec control, pentru un client și pentru birou deopotrivă, arde în timp ce orice este necitite: o cometa de aur, alb si cer lumina de curse în jurul surubului, un soc de aur, Lovituri cu bolț la fiecare câteva secunde și bate conta. Sub miscare redusa tine Încă și rămâne aprins, și numărul este vorbit în numele butonului. Contele au fost deja Traieste peste WebSocket necitit.

  20. · kamo-internal

    Fișiere și șabloane, istoricul versiunii și setările versiunii

    Membrii au cerut documente care să-şi păstreze istoria aşa cum au cerut organizaţie alege, şi pentru şabloane care stau pe cont propriu în loc a Originalelor/Sparțiului codificat. Serviciile deja îl dețin (unul înregistrare pe document, img versiuni, un mod per org și pe categorie); Aceasta este aplicația web peste ea. Administrator de documente - file fișiere și șabloane înlocuiți Originale și modificate. Un șablon este un document cu strat de șablon, fabricat dintr-un fișier (sau altul) șablon) prin "Adăugați layerul șablon" și separați-l de atunci înainte. - Acţiuni la rând, în ordinea cerută. Fișiere: Descarcă, Editează fișierul, Adaugă strat șablon, Adăugați la liant, Share, Trimite la gunoi. Șabloane adăugate Editează șablonul după Editare fișier. O acţiune la care membrul nu are dreptul nu este afișat; un document nu poate suporta (un PDF în clasic Editor, pagini încă în curs de pregătire) este afișat dezactivat cu motivul său. - O coloană de versiune: o pastila de lectură v4, cu un punct chihlimbar atunci când un manual Copia de lucru a trecut de ultima fotografie, deschizând istoria. - Partajarea este oferită în fiecare colecţie, nu numai în Docurile mele. Rânduri de gunoi poate fi restaurat. Counts Footer sunt deschise. Sertar de istorie versiune - Paginile versiunii selectate pe o scenă (un pachet al versiunilor sub ea, pagină cu pagină, câmpurile unui șablon trase peste ele) și versiuni pe o șină, cel mai nou mai întâi, cu ceea ce a produs fiecare și care. - Comparați diapozitive starea curentă peste orice versiune anterioară. - Fă instantaneu (Manual), restaurează (confirmat în cuvintele modul categoriei: ce devine restaurarea și ce va arunca); Nume o versiune, Descărcați orice versiune, Încărcați o versiune nouă cu progresul. Editor șablon - Editează fișierul suport deschide fișierul propriu al șablonului în clasic editor în altă filă. Fiecare cu exceptia acolo ajunge peste subiect salvari; Paginile sunt refăcute și retractate sub câmpurile în loc, cu nici o reîncărcare ecran complet și nimic nesalvat pierdut, și pilula versiune trece la noul număr. Un cip spune că fişierul este deschis în altă parte şi ia membrul înapoi la ea. - Pilula versiune și sertarul de istorie înlocuiți design-numai panou de versiune: versiunea unui șablon este fișierul și câmpurile sale împreună, și o restaurare pune ambele înapoi. - Previzualizări pagină sunt tasted pe conținutul ID, astfel încât cache browser-ul poate niciodată nu arată pagini documentul a trecut de la; un PDF încă fiind Rătăcit este așteptat mai degrabă decât raportat ca o eroare. Configurări - Managementul documentelor > General: implicitul organizaţiei versiune (Automatice, imagini manuale, oprite), desenate ca ceea ce fiecare face la o istorie, și categoriile care se stabilesc propriile lor. - Configurarea unei categorii: urmați implicit sau alegeți propria versiune; categorii platforma se blochează la Automat spune acest lucru. - Tabelul de categorii câștigă o coloană de versiune. Stringurile de dicţionar au aterizat prima dată în dicţionarul de kamo-translation 9b83d282.

  21. · MediaService

    Fețe pe birou

    Registrul biroului poartă acum, pentru fiecare client, propria fotografie (utilizator.avatar id, construit pe gazda tematică live a operatorului Ultima semnat oriunde pe platforma (utilizator.last login, parsed o dată și a trimis în forma de lastActivitateAt), și dacă oricare dintre rândurile lor membre deține o priză live. Banda participantilor primeste fiecare poza a executivului KamoCRM din profilul membrilor KamoCRM (membru avatar, altfel a persoanei), construit pentru consola privitorului; și cadrul care Ridică o fereastră de birou care poartă fotografia clientului pe numele lor. Totul trăiește într-o mică componentă Exec2ExecFaces: încărcat de ID mai degrabă decât pe leneş Asociaţie alăturată (al cărui proxy nu are cale foto), un avatar citit şi o căutare de prezenţă pe pagină, și fiecare eșec se degradează la inițiale / offline mai degrabă decât în lipsa listei.

  22. · DocsService

    Citește stratul unui șablon după versiunea de proiectare

    Istoria versiunii desenează câmpurile unui șablon pe paginile fiecărei versiuni. Aceasta le-a solicitat printr-o versiune documentară (/ {imgId}/ {n}/proiectare) şi a copia de lucru a șablonului nu are niciuna: câmpurile sale au fost salvate după ultima imagine, la o versiune de design nici un nume de versiune document încă, astfel încât starea curentă nu a putut fi extrasă în versiunea manuală. GET *************** citeste strat de versiunea de proiectare în schimb, în spatele aceleași porți ca restul istoria. Un fișier nu are nici un strat și răspunsuri cu nici unul.

  23. · ConversionService

    Încarcă o nouă versiune a unui document

    O modalitate de a modifica un fișier editorul de documente nu poate deschide - un PDF mai presus de toate, care este ceea ce cel mai mult șabloane sunt. POST *************** ia noul fișier, scanează pentru malware și conținut-adresează exact ca o primă încărcare, și mâinile schimbarea la Nu-ţi face griji. (kamo-shared-library 6d0523e8): documentul păstrează id, nume, acțiuni, lianți și strat de șablon, și modul de versiune a categoriei sale decide ce este păstrat din ceea ce a avut loc - o nouă versiune sub Automat, copia de lucru în mișcare în conformitate cu Manualul, o Suprascrie sub dezactivat. Rendiția PDF și miniatura paginii sunt făcute pentru noile octeți de Aceeaşi conductă pe care o încarcă. EDIT DOCUMENTE, NU CREATE DOCURI: nimic nou nu este creat. Politica de extindere a categoriei se aplică *************** este public pentru acest lucru), iar tipul este citit din octeți - o nouă versiune poate fi un format diferit, iar extensia numelui o urmează. Refuzat pentru un pachet juridic EXECUTED - înregistrarea semnată HR emisă unui membru, pe care nimeni nu o dă o nouă versiune, nici măcar subiectul ei - prin EmisedArtefactLookup, un depozit local numai pentru citire peste entitatea de alocare partajată; și pentru colecțiile ipotecare pe părți, pe care entitatea generică Obiectivele imagistice nu ating niciodată. esign.repos este acum scanat aici, deoarece o versiune a unui șablon înregistrează versiunea de proiectare a stratului său.

  24. · ESigService

    Salvarea câmpurilor unui șablon este o versiune a șablonului

    Un șablon este un document cu un strat de câmpuri peste el, și o versiune a acestuia este ambele jumătăți: sale Octeți și acel strat. Salvările fişierului său de bază ajung deja la istoricul versiunii (kamo-shared-library 6d0523e8, docsservice 3ef26d1); aceasta este cealaltă jumătate. salveazăDesign și RevertDesign mână schimbarea la *************** în același tranzacție ca design scrie, astfel încât o versiune nu nume un design care a fost rulat înapoi. Ceea ce scrie este modul de versiune a categoriei: sub versiunea automată a șablonului (un membru salvează în zece minute crește o versiune, astfel apăsând Salvați după fiecare câmp este încă o versiune a lucrării), în manual copia de lucru se mută, sub dezactivat nimic. A strat tastat pe ceva care nu este un document ID nu are nici o istorie de scris, și salvează ca înainte.

  25. · DocsService

    Fișiere și șabloane, editate în loc, cu versiunile fiecare categorie păstrează

    Un document a fost două înregistrări: încărcarea, pe care nimic nu a editat, și o copie modificată derivat Prima dată când cineva a deschis în oricare editor. Managerul Docs a arătat perechea ca "Origine" și "Amendament" şi membrii o consideră confuză. Un document este o înregistrare acum, și ceea ce fiecare schimbare păstrează conținutul pe care îl înlocuiește este modul de versiune al categoriei (kamo-shared-library 6d0523e8): Dezactivat, automat sau manual. Editare - /deschis editează documentul în sine - un fișier, sau propriile octeți ale șablonului ("Edit Underlying File"). /noi deschide documentul creat. Nici o copie nu mai are. - O salvare clasică trece prin ***************** o nouă versiune sub Automat (tokenul WOPI poartă acum un ID de sesiune, astfel încât o ședință că autosaves este unul versiunea), copia de lucru care se deplasează sub Manual, o suprascriere sub dezactivat. - Notiunea de salvare trage acum pentru orice document ale caror octeți efectiv schimbat - nu pentru un re-trimis fișier - și poartă versiunea pe care a scris-o; un editor șablon deschis pe documentul redraws. - Salvează Ca face un nou dosar și editorul continuă în ea. - O salvare încă sosesc pentru o copie clasică lăsată de modelul vechi (o filă deschisă înainte de desfășurare) aterizează pe original în loc de o listă cu nimic. Șabloane - POST *************** "Adaugă plan de model": un nou model care partajează Octeți sursă și nimic altceva de atunci, în aceeași colecție, dosar și nivel de acces. Ramurat dintr-un șablon poate transporta câmpurile șablonului: indicatoarele sunt copiate și fiecare SignorUid în design este rescris la copia sa. Stratul său este numit după el, și primul său versiunea înregistrează ceea ce a fost făcut din. Ia CREATE DOCUMENTS - face un document. - /forma-fillable deschide doar un șablon; un fișier răspunde 409 NOT A TEMPLATE. Versiuni - *************** - istorie; instantaneu (cu un nume opţional); redenumeşte; restaurează; şi descărcarea fiecărei versiuni, PDF; miniaturi pagină și șablon-strat de design. Aceleaşi porţi ca şi căile octetului imagistic: VIZARE/EDIT documente, organizare şi autorizare, poarta de pachet emisă de HR, ipoteca pe partid colecții, și auditul acces PHI pe fiecare citire octet. Versiunea octeți sunt imuabile, astfel încât acestea sunt cached ca atare, iar o versiune veche descărcată se numește "Nume (v3).ext." Listă și setări - Lista este o interogare (DocumentListQuery, peste un depozit de specificații locale): vechi filtru în memorie după paginare ar putea picătură un tip rar - un șablon printre 300 de fișiere - de pe pagina. Doar fișiere / șabloane Doar selectați cele două file; rândurile poartă steagul șablonului, conținutul ID și un rezumat al versiunii. Copiile clasice ale modelului vechi rămas nu sunt niciodată enumerate. - Setări: GETS PUT /imaging/settings/versiune pentru implicitul organizației; assoc-config și categoriile poartă suprascrierea fiecărei categorii, ceea ce se rezolvă la, și dacă este blocat. Scrie luaţi MANAGE DOCS SETTINGS, pe care paginile de setări întotdeauna necesare şi aceste criterii de evaluare niciodată Verificat. - Clasic salveaza acum miniatura paginii cheie pe documentul propriu dat, ca uploads a făcut întotdeauna; Cititorii de unghii se uită în ambele locuri, astfel încât documentele salvate înainte de ziua de azi încă arată paginile lor. Schema: Nu-ţi face griji. (aplicat). Date: ***************** - fugi odată ce această clădire este implementată: rândurile derivate cu un strat de șablon devin șabloane, cele 2 editări clasice live ori în lor Originale ca v2, și fiecare copie clasică este retras.

  26. · kamo-shared-library

    Versiuni documente, și modul de versiune o organizație alege

    Documentele au fost două înregistrări: încărcarea, pe care nimic nu a editat, și o copie modificată derivat Prima dată când cineva a deschis-o pentru a o edita. Membrii au găsit perechea confuză, şi nu se potriveşte cu a nimănui. reguli reale - o organizație vrea fiecare editare păstrat, altul vrea o copie și nu istorie, o al treilea vrea să înghețe un stat intenționat și să continue să lucreze pe partea de sus a acesteia. Un document este o înregistrare acum, și ce se întâmplă cu conținutul său anterior atunci când se schimbă este o modul de versiune ales per organizație (img org assoc.versiune mode) și per categorie document Ce câştigă? - Schimbarea suprascrie. O copie, fără istorie. - Fiecare schimbare este următoarea versiune şi cea veche este păstrată. O sesiune clasic-editor este o versiune cu toate acestea, de multe ori se autosalvează; un membru șablon-strat economisește în zece minute sunt o versiune prea. - MANUAL: modificări suprascrie o copie de lucru pe partea de sus a ultimului instantaneu; un membru instantanee pentru a păstra un stat permanent și continuă editarea pe partea de sus a acestuia. Încărcarea este prima fotografie. Unset peste tot, o categorie este AUTO - singurul mod care pierde nimic, ca modelul pe care îl înlocuiește N-am pierdut niciodată o încărcătură. O categorie ale cărei documente sunt înregistrări (suprascrieți și nu setați, de exemplu, Pacient Charts) este blocat la AUTO. - ImgVersion / img versions: o versiune este un POINTER la img dats cu conținut document deținut, plus versiunea de proiectare a modelului-strat pe un șablon. Să păstrezi unul nu costă nimic. Până când octeți trece mai departe fără ea. - Document versioning Serviciu: cel care scrie calea pentru "conţinutul acestui document s-a schimbat" - applyContentChange, recordTemplateLayerChange, instantaneu, restaura, recordBranch - astfel modurile înseamnă același lucru dacă schimbarea a venit de la o salvare clasică (DocsService), o nouă încărcare peste document (ConversionService) sau un strat de șablon salva (ESigService). Versiunile sunt scrise lene: un document care nu s-a schimbat niciodată nu a schimbat nimic, iar prima schimbare păstrată scrie v1 din stat înainte de aceasta, astfel încât o organizație poate porni versiunea în orice moment, fără backfill. Restaurarea este ea însăși o nouă versiune sub AUTO; istoria nu este niciodată rescrisă. E-sign repertoriile sunt ObjectProviders, deoarece nu orice serviciu le scanează (SharedLibBeanSafetyTest). - Img.isTemplate() peste steagul existent has form layer și este pensionatDerivedCopy() pentru copii clasice modelul vechi lăsat în urmă, pe care nici o listare arată din nou. - **************** pentru pilulele de versiune pe o pagină de șabloane într-o singură cerere. - ***************** este public, astfel încât o nouă versiune îndeplinește prima regulă de încărcare. Schema este *************** in docsservice, aplicata grupului înainte de acest angajament: img org assoc este citit pe fiecare încărcare, astfel încât coloana a trebuit să existe mai întâi.

  27. · kamo-internal

    A Nav Logo Overlay and a Careers Logo Overlay

    Comportamentul & Etichetarea câștigă încă două straturi logo în vocabularul alte șase utilizări - un simbol, rezolvat împotriva propriei palete a orgului: - "Nav Logo Overlay," direct sub "Home Page Logo Overlay." Pictează logo simplu în partea de sus a liniei principale nav (NavPri) - oricare dintre marca spectacole feroviare, companie sau software-ul - prăbușit și extins. În-app ca fratele său pagina de start, așa că merge recordul org prin OrgContext: schema traseului de org, Organization. de la JSON (care rulează de două ori pe drum spre browser) și recuzita lui OrgProvider toate transporta, şi are efect asupra salvării. - "Carieres Logo Overlay," direct sub "Registru Site Logo Overlay." Pictate de kamo-carieri de la serviciul de securitate color coace în Tema config.json (10d4a9e), cum ar fi sign-in, sign-up și aplicații. Site-ul re-citeste fisierul oră, și indiciu spune așa. De asemenea, fixează calea de salvare pentru trei suprafeţe existente: sign-in, sign-up și aplicații au fost stocate, dar niciodată copiate înapoi în stare salvată, așa rândurile lor numai pentru citire au arătat alegerea anterioară până la o reîncărcare și Următoarea editare a început de la ea. logoOverlayWiring.test.ts plimbări toate cele opt suprapuse prin cele șapte locuri fiecare trebuie să apară (stat, sarcină, editare tampon, verificare murdar, PUT body, post-salvare sincronizare, ambele vizualizări), verifică ambele puncte de vedere le lista în Același ordin, controale en.json are fiecare nume și indiciu - i18n garda Nu pot vedea tastele pe care pagina le construiește dintr-o variabilă - și verifică ambele Tema NavPriLogos ia culoarea. Împotriva precedentului LabelManager eșuează pentru navigare, cariere și cele trei sincronizări post-salvare lipsă. Verificat în Chrome cu real NavPri grupate peste contexte Stubbed: cutia logo este neschimbat și silueta ia alb, negru și Cel mai usor al orgii secundare s-a prabusit si s-a extins. Are nevoie de kamo-shared-library 7d80fa7b și serviciul de securitate 10d4a9e pentru două coloane de salvat; dicționarul poartă cele patru șiruri de caractere englezești.

  28. · SecurityService

    Coaceți logo-ul site-ului carierei overlay în config.json

    kamo-carers pictează logo-ul org în antetul său și nu are OrgContext; citeste tema config.json pe server, acelasi fisier login, Înregistraţi-vă şi aplicaţiile îşi iau banii. Deci, carierele se suprapun acolo, ca cariere Logo OverlayColor: TOKEN a rezolvat împotriva Paleta lui Org de aici, absent atunci când orga nu a ales nici unul - care este modul în care fiecare Clientul citeşte "fără acoperire." Necesită librarul kamo-împărțit 7d80fa7b Nu-ţi face griji. pe care le construieşte clone de la bază. Sinele de navigaţie sunt suprapuse, adăugate în Aceeași bibliotecă se angajează, este în aplicație și ajunge la browser pe înregistrarea org Nu e nimic aici. Verificat: principal și întregul set de surse de încercare se compilează cu acesta Biblioteca; ***************** 14/14 (două noi: cheia este transportate, și o org care suprapune doar site-ul său de înscriere nu obține o cheie cariere), OrgThemeProvisionServiceTest 20/20.

  29. · kamo-shared-library

    Un logo suprapus pentru calea ferată de navigaţie şi unul pentru site-ul carierelor

    Încă două coloane în vocabularul home logo overlay stabilit: a Token, nu un hex, astfel încât o org care rebrands păstrează o suprapunere care se potrivește noile culori. Ambele nu pot fi anulate cu nici un backfill - nul este NONE, care este cum arată fiecare orga azi. nav logo overlay pictează logo-ul simplu în partea de sus a kamo-internă calea ferată principală. Coloana proprie deoarece șina este o umbră întunecată de culoarea primară; catargul alb al paginii de start rareori doreşte acelaşi lucru umbra. Livrat prin OrgContext ca fratele său de prima pagină. cariera logo overlay pictează logo-ul antetului pe kamo-cariere. Acest site nu are OrgContext, astfel încât serviciul de securitate coace culoarea rezolvată în Tema config.json, ruta de conectare, înregistrare și aplicații deja ia. patchOrganizarea este un ALLOW-LIST, astfel încât ambele nume merg acolo, și un nou test plimbari fiecare suprapus pagina setarilor trimite - nu doar aceste două - pentru că o coloană metoda nu poartă denumirea cu 200 și nu a fost niciodată depozitată. Probă prin eliminarea celor două noi linii: 3 din cele 4 cazuri ale sale eşuează. Coloanele au fost adăugate la masa de orgi vii cu mâna înainte de această împingere (Ddl-auto nu este nici unul și Serviciul de inițializare nu este implementat): ALTER ORGS MATERIE ADD COLUMN DACĂ NU EXISTĂ NAV logo overlay VARCHAR (24); MATERIE ALTER ORGS ADD COLUMN DACĂ NU EXISTĂ cariere logo overlay VARCHAR (24);

  30. · kamo-internal

    Un cap minimizat Exec2Exec ruleaza un curent de lumina in jurul jantei sale

    O linie către directorii KamoCRM nu trebuie să stea niciodată în port arătând ca încă o discuţie. Este Cap minimizat poartă acum o margine de energie: un aur-la-alb-cer arc de curse rotund hexagon, un contracurent mai subtire urmarind cealalta cale, si o aura de aur pulsand in spatele Ei. Sub preferinta-redus-motie se tine inca ca un inel de aur luminos. Efectul este o proprietate la nivel de instrument (hexHeadEffect asupra intrării platformei Exec2Exec); re-injectat cu pictograma pe fiecare icre, astfel încât fiecare cap Exec2Exec devine și nici un alt Cap poate.

Universul tău te așteaptă.

Începeți gratuit în câteva minute.Adăugați produse oricând sunteți pregătit — fără migrare, fără autentificări noi.

Gratuit pentru totdeauna — nu este necesar un card de credit