Jurnal de schimbări
Ce e nou.
Fiecare îmbunătățire a platformei, pe măsură ce se livrează.
· KlusterServices
Primiți postmaster@/abuse@stack.loans pe k3m1 pentru cecurile în vrac IP
47.181.8.87 DNS inversă este mail.stack.împrumuturi și routerul transmite portul său 25 la k3m1, dar nimic acolo a acceptat mail, astfel încât un furnizor care verifică cine rulează IP (Microsoft SNDS oferă doar Postmaster@/abuse@ din acel domeniu) nu a putut ajunge la nimeni. Postfix-k3m1-inbound asculta pe k3m1 lui rețeaua gazdă, ia exact aceste adrese la postmaster@kamocrm.com prin intermediul postfixului principal; şi refuză orice altceva. Nu transmite nimic.
· EmailService
Numele destinatarului într-un antet care antetele-doar plângerile păstrează
Rapoartele de feedback-loop Microsoft poartă acum doar antetele mesajului original, cu orice formă ca o adresă mascată. Fiecare mesaj de campanie poartă X-Kamo-FBL ( Token de destinatar, o listă-Dezabonare are deja), iar parser plângere citește Prima dată.
· kamo-internal
Deschideți și faceți clic pe rate, opțiuni de urmărire, 10.000 + outbox contează, persoană-a cerut pe piste
- Card de campanie: deschis si click, ca o parte din mail livrat (sau "Nu este urmarit"). - Deliverability > Reguli de campanie: open and click tracking, platforma's implicit or propria alegere a organizaţiei. - Outbox Hero: un număr limitat citește "10,000+," și ceea ce așteaptă lângă ea "până la..." - Panou opt-out de plumb: ridicarea unui dezabonat, un raport spam sau o pauză cere membrul pentru a confirma persoana cerut, care registrul acum cere. - Stilurile ascunse vizual folosesc "1px" (un bare 1 este 100% în sx); pulsul Opt Out este ascuns masa stă într-un bloc ascuns, astfel încât nu mai poate lărgi un ecran telefonic. Activitatea de eliberare îşi citeşte ziua până la ServerDate.
· EmailService
Deschideți și faceți clic pe urmărire, rapoarte de plângere prin e-mail, outbox limitat contează
- Urmărire: compozitorul împachetează linkurile web ale unei campanii într-o redirecționare semnată (<base>/c/<token>?u=&s=) și adaugă un pixel deschis (<base>/o/<token>), ca fiecare org alege (Setări > E-mail > Deliverability; platforma implicitizează vrack-email. tracking.*). Link-ul unsubscribe, link-uri mailto/tel/anchor și nimic deja al nostru nu sunt niciodată Înfășurat, și o legătură a cărei semnătură nu este a noastră nu merge nicăieri. Fiecare destinatar este deschis și faceți clic pe conta o dată (Redis), afișat pe campania împotriva mail livrat. - Plângeri: POST /api/intern/plângeri/mail citeste rapoarte de feedback-loop (ARF) şi abuz@ forwards de pe sidecarul de plângeri al serverului de mail, găseşte destinatarul de semnul mesajul original purtat, și suprimă adresa ca un spam plângere pentru acea org, numărată o dată. Fiecare mesaj de campanie poartă un Feedback-ID. - Outbox: datorate și retrying sunt numărate până la 10.000 (dueCapped/retryingCapped); Alegerea gazdei se datorează şi ei. - Opt Out: la Change trece persoanaAsked la registru, care acum aplică pentru fiecare schimbare de membru; garda locală este plecat.
· SecurityService
Panou opt-out de plumb trece persoanăAsked la registru
Actualizările opţionale ale paginii de start necesită un steag şi mâini opţionale În registru, care acum refuză să ridice propriul dezabonaj al unei persoane, plângere sau pauză, cu excepția cazului în care membrul confirmă persoana solicitată. Refuzul ajunge la client ca un 400 cu câmp "persoana Asked," ca registrul alte refuzuri.
· kamo-shared-library
Registrul păstrează dezabonajul unei persoane dacă nu cere să se alăture
Un dezabonat, o plângere sau o pauză este alegerea persoanei. Membru poate acum ridica unul numai atunci când schimbarea spune persoana a cerut să fie trimis prin e-mail din nou (OptOutChange.personAsked); altfel registrul refuză cu teren "Person Asked." Verificarea se execută împotriva statului citit în interiorul se aplică numai pentru Modificări ale statelor membre, înaintea regulii existente privind nota, care se aplică în continuare unei Liftul permis. Bounces şi propriul bloc Manual al unui membru au nevoie doar de bilet. OptOutChange câștigă o a șaptea componentă, personAsked, cu un șase argument Constructor care-l implicitizează fals astfel încât apelanții existente sunt neschimbate.
· KlusterServices
Route fbl@/abuse@hello.kamocrm.com rapoarte de plângere către EmailService
Rapoartele de feedback-loop (ARF, RFC 5965) și rapoartele de abuz trimise la fbl@ și abuz@hello.kamocrm.com sunt rescrise la plângeri-mail. invalid și înmânat la o nouă Script cu propriul director Spool. abuz@ încă trimite o copie umană la Poştaşule. Un nou ataşat de reclamaţii-mail, care rulează acelaşi scenariu ca unsubscribe-mail, posteaza fiecare mesaj spoiled la e-mailservice's /api/intern/complamants/mail. Cu INCLUSIVE RAW=1 se adaugă întregul mesaj spooling (cel mult 256 KiB), base64-codate, ca "raw," "machine-reactoare-report" și Mesajul original atașat sunt părți MIME pe care câmpurile existente le-au omis. Cu noile steaguri desfăcute, sidecarul dezabonat se comportă exact ca înainte.
· EmailService
Un motor eligibil decide pe cine poate trimite o campanie
Fiecare listă adaugă (un membru, un public, o copie) și trimite se întreabă un motor dacă o adresă poate primi campania, cea mai ieftină verificare mai întâi: sintaxa, apoi suprimarea (nesubscris, reclamat, sarit, blocat; pentru organizarea sau platforma-la nivelul), domenii blocate și rezervate, de unică folosință domenii, adrese de rol și de testare, validare cache, DNS/MX, și ultima un validator extern opțional în cadrul bugetului său. Suprimat și Adresele nelivrate nu sunt trimise niciodată. Apelurile de judecată sunt setările, şi o organizaţie îi poate restrânge. - Verificarea finală se execută chiar înainte de o gazdă ia fiecare mesaj, astfel încât o adresă că nesubscris după ce a fost coadă nu este trimis. Un cec care nu poate să fie făcut nu trimite nimic pe o presupunere. - Nimic nu este scăzut: o adresă care nu va fi trimisă rămâne pe listă (SUPRESSed with a coded note, because the status check strust has no Și spune de ce. Rândurile ţinute aşteaptă un membru să le elibereze. - Sarituri sunt clasificate o dată pentru calea de trimitere și rapoartele releului: tare (suppressed; platforma-larg de releu), moale (rejucat cu exponențial back-off și nervozitate, suprimat după un prag), rata limite și refuzuri ale gazdelor (neîncărcate, gazdă retrasă) și politică blocuri (insuficiate, niciodată suprimate). Un bloc de reputatie 5.7.x nu mai suprimă adresa. - Remite plângerile și dezabonații suprimă adresa; conte și notificări se întâmplă o dată pe raport. - Un mesaj acceptat de gazdă nu este niciodată re-queued în cazul în care înregistrarea nu reușește. - Un dezabonat, plângere sau pauză persoana aleasă poate fi ridicată de un membru numai atunci când persoana a cerut, iar membrul trebuie să spună acest lucru. - Motive detaliate de călătorie în sursa suprimării; cache, contoare și eveniment de-duplicare live în Redis; reguli trăiesc în petele furnizor. Nici o schimbare schema. - Noi obiective: /api/email/livabilitate (verificare adrese, setări, activitate), ***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** POST *************** Campaniile au o capacitate de livrare rezumat. - Setări: vrac-email.livabilitate.* (retries, platforme rate caps, moale pragul de salt, validator). Validatorul este opţional şi oprit; cheia acestuia provine din opționalul e-mail-validare-acreditari.
· kamo-internal
Vezi cine ajunge la o campanie, și de ce nu toată lumea
- carte de prezbatere a campaniei: "1000 selectate · 742 eligibile · 258 omise," cu fiecare motiv (nesubscris, sarit înainte, de unică folosință, rol adresa ...) deschiderea listei la acei destinatari. După ce a trimis-o arată Livrate, amânate, plângeri și dezabonați prea. - Lista de destinatari a sărit și Held chips-uri, arată motivul fiecărui rând, şi dă drumul la rânduri. - Progresul se măsoară în raport cu ceea ce trebuie să se întâmple: destinatarii anulați nu sunt niciodată numărați ca trimiși. - Setări → Email → Deliverability: verificați o adresă (verdict, verificari, suprimarea, validarea, grevele sarituri, campaniile și istoria acestuia), set regulile organizației și domeniile blocate, și a se vedea ultimele 14 zile. - Panou de livrare a platformei: domenii globale blocate, suprascrie lista de produse disponibile, indemnizația validatorului și a platformei activitate. - Ridicarea propriului dezabonaj sau raport spam cuiva cere membrului confirma persoana cerut.
· kamo-internal
O pictogramă creată de organizații lângă fiecare membru și membru al echipei
Membrii și membrii echipei tab-uri pe /contul obține o coloană lângă Nume: a clădire completat în culoarea mărcii cu un cont pentru cineva care a creat organizaţii, o schiţă slabă pentru cineva care nu are. Listele de instrumente fiecare după nume (un nume nedenumit "Unnamed {rubrica}"), iar antetul folosește substantivul filialei chiriaşului. Se sortează și filtrează după numărătoare; căutarea rapidă Se potriveşte cu numele unei organizaţii. Grila este acum live: useOrgChanges (["membri," "members," "membru-orgs") În tăcere, iar o împrospătare eşuată păstrează rândurile pe ecran. Serviciul de securitate trimite membri-orgs la fiecare org proprietarul aparține. Refresh nu mai mâinile sale faceți clic pe eveniment pentru a încărcaData. Are nevoie de cheile dicţionarului şi de comenzile create de Serviciul de Securitate.
· SecurityService
Organizatiile fiecare membru creat, pe listele membre
GET *************** şi /membri-contractanţi Acum transporta createOrgi per persoană: numele organizațiilor pe care le dețin (orgs.user id proprietar, stabilit o singură dată de Post /org și nerepartizat), de la unul FindOwned TitlusByOwnerIds interogare pentru întreaga listă, titlu care se încadrează înapoi la "Scurt." Organizaţiile vodate nu sunt enumerate. MemberOrgs ChangePublisher trimite rt.org. organizaţie proprietarul este un membru al atunci când una dintre organizaţiile lor este creat (după comitere), redenumit prin Put /org/{id}, șters, anulat sau restaurat. Propriul semnal al proxy-ului ajunge doar la org sesiune apelantului, şi crearea de org mută această sesiune în noua org.
· SecurityService
O organizație și propria pagină de tranziție a unui membru
Tranziția paginii este acum aleasă la trei niveluri, membru rezolvat, apoi organizaţie, apoi platforma pentru alegerea tranziţiei şi, o tranziţie la un moment dat, pentru proprietăţile sale *************** - PAGINA TRANSITION OVERRIDES deţine nivelul organizaţiei şi al membrilor, un rând pe proprietar: un simbol catalog sau nul pentru a urma nivelul de mai sus; și proprietăți doar pentru tranzițiile care nivel acordat. Entitatea locuieşte aici. mai degrabă decât în biblioteca comună; nimic altceva nu o citeşte. - GET /api/security/page-tranzition raspunsuri si org, membru si eficient. Nu dă greş niciodată pe o suprascriere: una pe care nu o poate citi urmează nivelul de mai sus. - Put /org schimbă organizarea proprie a sesiunii; Configurează sistemul. - GET organizație (Configurare sistem, Managing Members, Gestionați Security Member) sau un operator eligibil pentru Dumnezeu. - Scrierile sunt patch-uri, validate strict înainte de orice este scris; un nivel care îl urmează pe cel de sus în toate nu lasă nici un rând.
· kamo-internal
O organizație și propria pagină de tranziție a unui membru
Tranziția paginii este acum aleasă la trei niveluri. Platforma rămâne pe Administrare Platformă → Tranziții; o organizație poate alege pe cont propriu Comportament & Etichetare, și un membru al lor în My Profile → Apariție. Ce... tab plays resolve member, then organization, then plain de tranziție și pentru proprietățile fiecărei tranziții câte o tranziție pe rând; astfel încât un membru poate recolora tranziția organizației lor fără a prelua Alegerea ei... - Ambele ecrane sunt un editor *************** la fel catalogul și detaliile ca fila platformei, cu "Platform implicit" sau Cardul "Organizare implicită" primul care joacă orice nivel de mai sus joacă şi o urmează din nou când este ales. Proprietăți un nivel nu acordat arată nivelul de mai sus, marcate ca atare, și pot fi predate înapoi la ea. - Fila platformei este reconstruită pe aceleași părți; comportamentul său este neschimbat. - Coaja joacă tranziţia eficientă a magazinului. LocalStorage, și urmează această organizație ***************, precum şi subiectul platformei. Scrie Du-te înainte către Api, care o publică. - Noi rute proxy: PUS ***************** și GET Doar acele forme sunt. Redirecţionat. - Profilul meu înregistrează cardul și un câmp de paletă, poarta către membru, o administrator al organizației lor, sau un operator eligibil de Dumnezeu.
· InitializerService
Page tranzition overrides, o organizație și propria pagină de tranziție a unui membru
Un rând pe proprietar (ORG cu org id, MEMBRU cu ID membru): un catalog token sau NULL să urmeze nivelul de mai sus, și proprietăți numai pentru tranziții acel nivel acordat. Serviciul de Securitate rezolvă membrul, apoi organizarea, apoi platforma. O nouă masă mai degrabă decât coloane pe orgi, astfel încât nici o masă fiecare serviciu cititul este modificat. Fără backfill: niciun rând nu înseamnă că urmează nivelul de mai sus.
· kamo-internal
Încă cinci pagini de tranziţie, fiecare cu proprietăţile sale
Apertură, Cortina Split, jaluzele veneţiene, Şerveţel lichid şi Shatter se alătură Tile Dizolvare. Fiecare tranziție este acum un efect în aplicația/lib/tranziții/efecte, tras de un singur motor (tranzițieEngine / tranzition.worker / tranzitionRenderer) din imaginea de acoperire compusă, pe lucrător atunci când poate și acest fir atunci când Nu se poate. Dimensiuni fixe scala cu capacul, astfel tab-ul Tranziții miniaturile sunt reale, doar că mai mici. - Apertură: un iris cu pene din orice colţ sau centru, cu o margine de lumină. - Cortina Split: partea de acoperire a părţilor laterale sau de sus şi de jos, cusături umbrite. - Blind-uri venețiene: slats aprinse se întoarce într-un val; dimensiunea și orientarea slat. - Stergere lichida: un front cu o creasta lucioasa si o urma translucida val, în patru direcții; waviness. - Shatter: fisuri flash, apoi cioburi de sticlă izbucni din punctul de impact, rostogolire prin lumină și cădere; număr de piese și punct de impact. Fiecare are o culoare (coperta o poartă), iar proprietățile sale provin din schema în catalog.ts, care fila se transformă în comenzi: un slider, un comutator, un select sau culegător de ceasuri pentru comportament și etichetare. Tab-ul Tranziții este acum un catalog: șase cărți de odihnă pe un zbor de mijloc cadru care joacă pe hover, apoi tranziția selectată dimensiune completă cu sale proprietăți, proiecte per tranziție, Setați ca activ și Joaca pe această pagină, care Previzualizează proiectul pe coperta reală.
· SecurityService
Încă cinci pagini de tranziţie, fiecare cu proprietăţile sale
· kamo-internal
Adăugați destinatari și Trimiteți la cele mai recente pe o campanie care a ieșit
- Pagina de progres o campanie are Adăugaţi destinatari: beneficiarii pas într-o dialog (upload, ID-uri, toate cutiile, adresele), salvat în felii ca Editorul le salvează, în orice stare. - Trimite la ultimele trimite la oricine ar trebui să ajungă și nu are încă. A banner spune cate adrese asteapta, si confirmarea spune ce se întâmplă. - Anulează spectacolele rămase doar în timp ce o campanie trimite: outbox anulează corespondenţa campaniilor care se desfăşoară.
· EmailService
Campania de rulare contează, și trimite la cele mai recente
Numără: - Fiecare schimbare de statut se mișcă o campanie contează exact ceea ce sa schimbat: o trimitere +1 trimis, un raport de salt mai târziu -1 trimis +1 sarit, o adăugare +n, a îndepărtarea prin ceea ce a returnat DELETE. Nimic nu contează lista pe drum; Înainte, fiecare trimis a povestit fiecare statut al campaniei. - Queued este derivat din total. Anulat este un contor Redis, reconstruit din rânduri, dacă este pierdut. Fiecare run terminat renumărări o dată, care pune Orice a ratat o numărătoare. - Completare, "poate trimite" și publicul de top-up întreabă dacă un rând există sau numără până la un capac, în loc să numere lista. Trimite la cel mai recent: - Primitorii pot fi adaugati, si toate cutiile schimbate, in orice stare (PUT /campanii/{id}/audienţă). - Post /campaigne/{id}/trimite-ultimul trimite o campanie care a plecat la oricine ar trebui să ajungă şi nu a ajuns încă. Acestea sunt adresele adăugate. din moment ce, și înregistrările sale Toate cutiile ajung la care au fost adăugate de la: fiecare Sursa este mers din nou, și adresele deja pe lista sunt omise. - Târziu suprimarea și pagina preferată trage de la un mesaj de așteptare Contează doar un rând care s-a mişcat.
· kamo-internal
Dimensiunea și culoarea plăcilor de dizolvare a plăcilor, stabilite per tranziție pe fila Tranziții
Fiecare tranziţie îşi are propriile proprietăţi, stocate pe tranziţie lângă cea activă, aşa că... Schimbarea tranziţiilor păstrează alegerile fiecăruia. Dizolvarea plăcilor are două: - Dimensiune gresie, 20 până la 160 px (default 50), pe un slider. Dezvăluirea taie capacul la această dimensiune de la Următoarea schimbare de pagină. - Culoarea tigla, din acelaşi vocabular simbolic cu cea a logo-player-ului Behavior & Labeling (White, Negru, și fiecare umbră primară și secundară), desenat în același mod: swatch, apoi numele său. Jetoane rezolva împotriva paletei fiecărei organizații, astfel încât o alegere platformă rămâne pe-brand în Fiecare spaţiu de lucru; o umbră pe care o organizaţie nu a stabilit-o niciodată este principala. Coperta poartă tigla culoare, de asemenea, deoarece capacul și plăcile sale sunt o imagine. Fila editează un proiect pe care previzualizare live joacă înainte de orice este salvat, cu Salvați, Aruncați și Resetați la implicit, și o schimbare care sosesc de la o altă consolă nu suprascrie un proiect de la jumătatea ediției. Deschide file recitiți setarea pe fiecare /topic/platform/page-tranzition frame, astfel încât o proprietate salva ajunge la ei fără o reîncărcare. O filă nouă pictează culoarea potrivită în primul său cadru de la ultima Spec organizația sa utilizată în acest browser, păstrat pe organizație în Storage local.
· SecurityService
Reglați fiecare pagină de tranziție, dimensiunea și culoarea plăcilor pentru a începe
GET and Put /api/security/page-tranzition answer options for every catalog id, normalized din PAGINA TRANSITION OPŢII: un document lipsă, necitit sau care nu poate fi citit sau în afara intervalului este interpretat ca fiind implicit, niciodată 500. Pune ia un obiect opţional de opţiuni, validat cu stricteţe înainte de orice este salvată; intrarea unei anumite tranziţii este înlocuită cu forma sa canonică şi orice altă intrare este păstrat. TILE DISSOLVE ia tiglaSize (20-160 px, implicit 50) și tileColor (un jeton de paletă, PRIMARY implicit).
· InitializerService
în afară de tranziţie
O coloană TEXT care deține proprietățile fiecărei tranziții ca JSON tastat de ID-ul tranziției. Nu. Backfill: nul înseamnă implicitul fiecărei tranziții, cum ar fi pagina tranziție lângă ea.
· kamo-shared-library
Proprietăţile fiecărei pagini de tranziţie, păstrate per tranziţie
Nu-ţi face griji. Harti PAGINA TRANSITION OPŢII, un obiect JSON tastat de Id de tranziție, de exemplu - Nu. Keyed by tranziţia astfel încât tuningul unul supravieţuieşte trecerii la altul. Nul sau necitit înseamnă fiecare Tranziția este implicită.
· kamo-internal
Shorten admin etichete bar la Billing, Statistici, Roles, Block, Log
Poziția panoului păstrează numele complet al fiecărui ecran prin titluKey, ca alb Etichetarea și aplicațiile deja fac.
· kamo-internal
Coperta paginii și dizolvarea sa Tile dezvăluie, în locul ecranului de încărcare
Intre pagini zona de vedere principala (niciodata NavTop sau NavPri) este acum acoperita de organizatia culoare primară cu logo-ul său complet centrat pe ea, pictat cu Comportament & Etichetare "Loading Ecranul Logo Overlay" atunci când unul este setat. Acesta scade în aceeași sarcină ca și clicul care începe un navigare, este pictat de server în primul cadru al fiecărui document astfel încât o reîncărcare și un click arata la fel, și este luat în momentul în care noua rută a făcut. Dizolvarea tiglelor este revelația: capacul, culoarea și logo-ul ca o singură imagine, tăiate în plăci de 50 px care ridică, rândul său, în jurul colțurilor lor și se estompeze de la colțul din stânga sus la dreapta jos pe un însămânțat, agitat val diagonal, normalizat astfel încât să ia aproximativ 1,2 s pe orice ecran. - Navigarea este detectata prin Next's onRouterTransitionStart (instrumentation-client.ts), care raportează fiecare legătură, împinge, înlocui și înapoi/înainte sincron. Un ascultător în fază de captură acoperă Ancore complete, şi un clic care se dovedeşte a nu naviga este desfăcut înainte de a fi pictat. Regulile sunt pure: fiecare capac de schimbare URL, comutatoare tab incluse; filtru, căutare și selecție Înlocuieşte să nu spui nimic; haşişul nu contează niciodată. - Dezvăluirea așteaptă o sondă comisă după pagina, și aplicație / încărcare. TSX deține acum doar Acoperirea în timp ce un traseu suspans este sus. - Dale sunt desenate de un Web Worker pe un OffscreenCanvas, deoarece dezvăluirea rulează în timp ce noua pagină este montarea și o animație principal-fire bâlbâie prin exact asta. Același motor ruleaza pe fir principal atunci când un lucrător sau un logo CORS-curat nu este disponibil. Muncitorul pictează cadrul 0 înainte de Dom acoperă pielea şi ceasul începe doar după, aşa că predarea nu are cusătură. - Nu se poate lipi: un câine de pază dezvăluie după 12 s fără o comitere, o dezvăluire care nu poate fi tras Se estompează, un sistem de siguranță CSS eliberează o acoperire pe care niciun scenariu nu a preluat-o, iar mișcarea redusă se estompează cu 180 ms. - Spectacolul de acoperire este validat, pastrat pe fila in sesiuneStorage, si aplicat inainte de prima pictura de o Script-ul de blocare cap, astfel încât gazda comună niciodată nu clipește branding platforma lui. - Tranziţia platformei e urmată în direct. LoadingContext, LoadingManagerClient, NavigationInterceptor, LoadingStatus and useNavigationLoading sunt plecat; /validat și /logout păstrați LoadingScreen, fără coajă pentru a acoperi.
· kamo-internal
O filă de tranziție pentru a alege și previzualiza tranziția paginii
Administrarea platformei → Configurare → Tranziții, cu poarta de către noul manager PLATFORM TRANSITES platforma dreapta și înregistrată peste tot o filă consolă este: catalogul de drepturi, harta filei, culoare și pictogramă drepturi, meniul de setări și cardul de aterizare setări. Catalogul deține o tranziție, dizolva Tile, a arătat lățimea completă cu o previzualizare live: aceasta propria acoperire a organizaţiei, acelaşi marcaj şi motor pe care îl foloseşte carapacea, dizolvand o miniatură Pagină Kamo pe o buclă care întrerupe ecranul și în file ascunse. "Play on this page" ruleaza real acoperă și dezvăluie peste zona de conținut. Setarea urmează: ************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************* operator fără dreptul vede o notificare doar-citire mai degrabă decât o salvare că 403s.
· kamo-internal
Lista de destinatari de campanie este format, cu totaluri
Primitorii grila pe o campanie acum pagini ca o listă de miliarde ar trebui: Prima, Anterior, Next și Ultimul, rânduri pe pagină, "101 Fiecare pas este o cerere pentru o pagină înapoi de la primul, Ultima citește înapoi de la sfârșitul anului Oricât de lungă ar fi lista. Totaluri provin de la contoare de campanie, niciodată de numărare rânduri; o căutare Contează până la 10.000 şi apoi spune "10,000+." O reîmprospătare în direct reciteste pagina de pe ecran unde este.
· EmailService
Lista de destinatari a campaniei pagini ambele moduri, cu totaluri, la orice dimensiune
Lista a fost deja citit o pagină la un moment dat, dar numai înainte, ca un sul nesfârșit, cu nici un total și un filtru de stare găsit rândurile sale de mers pe jos lista în ordinea adresei, care pentru o duzină de eșecuri la un miliard de destinatari citim miliardul. - /recipienti/pagina ia înainte= și ultima= precum și după=: anterior citește indexul adresei înapoi de la primul rând afișat, și ultima pagină citește înapoi de la sfârșitul Oricum ar fi, niciodată o plimbare. - Fiecare pagină îşi poartă numărul total, luat din contoarele campaniei în loc să numere rândurile; a Căutarea contează până la 10.000 şi apoi spune aşa. - Un status cu cateva randuri se citeste prin indexul (campanie, stare) si se sortează; unul comun de-a lungul ordinului de adresa. Aceleaşi contoare decid.
· kamo-shared-library
Setarea de tranziție pagină, și dreptul care o alege
**************** detine un catalog Token, NULL ceea ce inseamna ca expediat implicit. MANAGE PLATFORM TRANSITIONS Gates Platform Administration → Configurație → Tranziții, anexate la final, deci nici un drept de mai jos este renumerotat în consolă.
· InitializerService
în faţa tuturor cititorilor
Un token catalog, NULL înseamnă TILE DISOLVE expediate, astfel încât nimic nu este backfilded. Ordin 0 deoarece entitatea cartografiază coloana de la această bază, iar un sistem de încărcare a alergătorului anterior Configurația ar da faliment pe o coloană care nu există încă.
· SecurityService
Fiecare filă citește tranziția paginii, și un operator alege
GET /api/security/page-tranzition raspunde la orice sesiune semnata, deoarece fiecare fila are nevoie de ea pentru a descoperi o pagina; o valoare nesetata sau necunoscuta citeste ca TILE DISSOLVE. The PUT ia MANAGE PLATFORM TRANSITES, refuză un jeton în afara catalogului înainte de a salva sau a trimite ceva, și publică ************** astfel încât file deschise să urmeze fără o reîncărcare. Controlerul propriu deoarece /sistem-config este deschis la drepturile VoIP și Document AI și răspunsuri cu acreditări KamoPBX.

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