Tools har nu ett eget registreringslager för vBulletin där invite-status, granskningskö och slutligt åtkomstbeslut lagras i Tools medan själva forumkontot fortfarande bor i vBulletin.
Kortversion för dig som vill föra över ändringar till ett eget Google Drive-dokument:
/admin/security/vbulletin/admin/security/vbulletin/onboarding/keys/vbulletin/onboarding/vbulletin/onboarding/{slug} (skriv in inbjudningskoden manuellt) eller /vbulletin/onboarding/{slug}/{inviteKey} (koden är redan ifylld)155 som standardfield66)/vbulletin/onboarding/keysAktiv, Förbrukad, Utgången eller Inaktiv), och nycklar som redan är förbrukade/utgångna/inaktiva ligger kvar bara för granskning medan mottagarredigering samt Messenger-/mailutskick låses/vbulletin/onboarding/keys och i det inlineformulär där mottagare sparas. När en sådan invite senare blir godkänd kan Tools använda den sparade mottagaradressen för att låsa upp /vbulletin/onboarding/keys för samma person och skicka ett uppföljningsmail med nyckelsidan plus den aktuella invite-listan för sluggencore/api.php och därefter ett separat-host-säkert cache-refreshsteg, så forumets cachestatus kan uppdateras direkt även när Tools och forumet inte ligger på samma serverphp artisan vbulletin:onboarding-syncÖppna:
/admin/security/vbulletin
Nödvändiga rättigheter:vbulletin.managevbulletin.onboarding.reviewvbulletin.onboarding.keys.create plus en per-config-grant från adminsidanVarje config representerar ett registreringsflöde, till exempel:
field66https://forum.tornevall.net155Varje registreringslänk hör till en config. Alternativ för nyckeln:
referral eller one_time
valt publikt språk (English eller Svenska)
valfri override för profilfält när just den nyckeln ska använda ett annat vBulletin-fält än configens standard
mål-användare i vBulletin (user.userid) när nyckeln hör till ett redan känt forumkonto
label
inviter/referrer name
valfri inviter-email (används när Tools ser att registreringen är klar)
valfri redirect-URL / knappetikett för lyckad onboarding när just den här invite-nyckeln ska skicka användaren någon annanstans än configens standarddestination
max uses
valfri expiry
valfri batchstorlek när flera invite-länkar ska skapas i samma körning
expiry kan nu sättas till ingen expiry, ett exakt datum/klockslag eller en relativ förlängning i antal dagar
valfri group override om just den nyckeln ska ge andra grupper än configens standard När nyckeln skapats visar Tools nu både:
slug-URL:n (/vbulletin/onboarding/{slug})
den direkta invite-URL:n (/vbulletin/onboarding/{slug}/{inviteKey})
Admins kan nu konfigurera tre valfria mallfält per registreringsflöde:
Samma onboardingflöde kan nu också lagra standardvärden för avsändaren i outreach-mail:
I invite-kompositören autosparas båda avsändarfälten på samma sätt som mallarna, så operatören kan förbereda en återanvändbar avsändaridentitet per registreringsflöde i stället för att skriva om den varje gång.
Mall- och avsändarfälten sparas nu först när operatören lämnar fältet eller byter till en annan invite, i stället för att avbryta mitt i själva skrivandet.
HTML-mallen för registreringsmail följer nu också Messenger-mallen automatiskt tills en operatör uttryckligen skriver en egen separat HTML-version. Det betyder att det nu räcker att justera Messenger-texten först när man vill hålla standardmailet i synk.
Stödda platshållare:
{{recipient_name}}{{recipient_email}}{{invite_code}}{{invite_url}}{{config_name}}{{forum_destination_url}}{{forum_destination_label}}{{inviter_name}}{{inviter_email}}{{tools_user_name}}{{tools_user_email}}{{tools_support_email}} (den konfigurerade supportadressen, support@tornevall.net som standard)När standardmallarna ska hänvisa vidare till supporten bör de nu använda {{tools_support_email}} i stället för att hårdkoda en viss adress.
På adminens och den delegerade nyckelsidan kan invite-kompositören därefter:
Viktigt beteende:
Rekommenderad grundtext i både Messenger- och e-postmallar:
support@tornevall.net och personen som gav inbjudanDe inbyggda standardmallarna följer nu den här mer pedagogiska tonen automatiskt när ingen egen mall har sparats.
Adminsidan visar nu tydligare auditlogg för registreringsrelaterade steg.
Loggen kan nu till exempel visa:
Det gör det lättare att se både kodanvändning och faktisk registreringsprogress utan att behöva gissa från forumets tidsstämplar.
Om nyckeln skapades med svenska som publikt språk följer språkvalet också med i de genererade länkarna, så att slug-sidan, onboardingformuläret och den senare statussidan öppnas på svenska som standard.
Om en nyckelspecifik destinations-URL för lyckad onboarding sparas använder den publika statussidan den destinationen först när onboardingen blir klar. Annars faller Tools fortfarande tillbaka till onboarding-configens destination och därefter huvudforumets URL.
Om onboarding-configen använder ett invite-code-profilfält och en mål-användare i vBulletin anges, skriver Tools nu också den skapade invite-koden till just den användarens userfield.fieldN-kolumn i vBulletin när nyckeln skapas. På så sätt kan en onboardingnyckel kopplas direkt till ett redan existerande forumkonto innan användaren ens öppnar onboardingflödet i Tools.
Om samma profilfält redan innehöll ett äldre invite-värde sparar Tools nu också en liten assign-historikrad som försöker koppla det ersatta värdet tillbaka till en äldre Tools-nyckel tillsammans med vilket vBulletin-användarnamn som påverkades.
Alla publika invite-länkar som bygger på ett invite-code-profilfält behandlas nu också som ett befintligt-konto-först-flöde i Tools, även när nyckeln redan pekar mot en känd forumanvändare. I praktiken betyder det att den publika sidan visar profilfältsinstruktionerna först, visar den exakta invite-koden tydligt och först därefter öppnar det minimala steget Starta onboarding.
När admins eller delegerade nyckelskapare genererar flera invite-länkar i samma batch behåller Tools samma delade inställningar för varje nyckel, numrerar etiketten automatiskt när en label angavs och låter batchen antingen sakna expiry helt, få ett exakt slutdatum eller få en relativ giltighetstid i antal dagar från skapandet.
Tools blockerar medvetet bulk-skapning när samma batch samtidigt skulle skriva direkt till ett specifikt existerande vBulletin-konto/profilfält, eftersom samma forumprofil annars skulle överskrivas med en hel serie olika invite-koder. Sådana kontobundna invite-nycklar ska fortfarande skapas en och en.
När onboarding-configen i stället använder Befintligt forumkonto krävs först kan samma invite-code-profilfält användas utan någon förinställd mål-användare. I det läget registrerar sökanden forumkontot först, lägger in invite-nyckeln manuellt i det konfigurerade profilfältet och startar därefter själva Tools-delen av onboardingen.
Admins har nu också en separat sida på /admin/security/vbulletin/onboarding/keys som fokuserar på det dagliga nyckelarbetet. Huvudsidan /admin/security/vbulletin är nu tänkt som platsen där själva flödet förkonfigureras (grupper, mallar, destination, profilfältskoppling och default max uses), medan nyckelsidan hålls enklare och låter de flesta nya nycklar återanvända dessa sparade standarder.
Både adminsidan och den delegerade nyckelskaparsidan fokuserar nu på en konkret mottagare i taget i stället för stora copy-listor. Operatören väljer onboardingflöde, fyller i mottagare/inbjudare och öppnar bara Advanced overrides när just en viss nyckel måste avvika från det förkonfigurerade flödet. Samma sidor kan fortfarande radera äldre referral-/engångsnycklar när de inte längre ska användas.
Samma nyckelsidor visar nu också ett eget inlinefält Sent to / assigned to per invite-nyckel. Så fort operatören fyller i mottagarens namn sparar Tools det direkt på just den nyckeln och behandlar det som den aktuella tilldelningsmarkeringen för länken. Om fältet töms tas markeringen bort igen.
Admins kan nu ge en vanlig Tools-användare rätt att skapa fler invite-länkar för en specifik onboarding-config.
/admin/security/vbulletinvbulletin.onboarding.keys.create/vbulletin/onboarding/keysBåde den delegerade sidan och adminsidan har nu också ett lättviktigt per-nyckel-fält för mottagare/tilldelad person, så batcher med invite-länkar kan skapas först och sedan märkas upp i efterhand med namn som Jessica, Menekse eller annan verklig mottagare utan att man måste öppna ett större redigeringsformulär.
Adminens nyckelgenerator på /admin/security/vbulletin/onboarding/keys har nu också ett eget exportblock för Google Docs för aktiva invite-koder. Varje export kan kopiera:
Inbjudningskoder och länkar)Kod, Länk och Person?Det finns två kopieringslägen:
Sidan visar både en export för alla aktiva invite-koder och separata exporter per onboardingflöde, så operatören kan välja mellan en bred översikt eller bara klistra in ett specifikt projekt/flöde i ett delat dokument.
Om en invite dessutom markeras som This is a trusted user och den inviteförfrågan senare blir godkänd kan Tools nu automatiskt ge samma mottagaradress delegerad åtkomst till sluggen på /vbulletin/onboarding/keys och skicka ett uppföljningsmail som pekar vidare dit. Den här trusted-user-genvägen är medvetet knuten till inviter som faktiskt har en sparad e-postmottagare.
För vanliga användare är det viktigaste nu att den publika sidan använder enklare ord: registreringslänk, inbjudningskod och ett tydligt namn på fältet där koden ska klistras in.
Publik ingångssida:
/vbulletin/onboardingStödda direktformat:
/vbulletin/onboarding/{slug} → användaren anger inbjudningskoden manuellt/vbulletin/onboarding/{slug}/{inviteKey} → koden finns redan i URL:enDen inbjudna personen öppnar slug- eller nyckel-URL:en och fyller i:
För flöden som kräver ett redan registrerat forumkonto, och för alla direkta länkar där koden ska sparas i profilen först, börjar den publika sidan nu med ett välkomst-/instruktionssteg i stället för att kasta användaren direkt in i formuläret. Där förklaras i enklare språk att kontot måste finnas i förväg, den exakta inbjudningskoden visas tydligt för kopiering, rätt profilfält visas med namn och sidan säger uttryckligen att användaren ska klistra in inbjudningskoden i fältet fieldN innan man går vidare.
Det här befintligt-konto-läget kräver inte längre att sökanden fyller i namn eller e-post igen. Tanken är i stället: lägg in inbjudningskoden i profilen först och klicka sedan vidare här. Inbjudare/referrer kan fortfarande följa med från själva nyckeln.
Den publika hubben kan nu länkas från Services / startsidan och ger användaren en egen stylad sida där man kan:
Om ett onboardingflöde inte ska vara upptäckbart i hubben kan administratören nu lämna det olistat där. Själva slug-URL:en och direkta invite-länkar fortsätter ändå fungera när de delas privat.
För Snöbollseffekten finns nu också en separat steg-för-steg-guide med skärmdumpar:
Tools skapar en onboardingförfrågan och försöker därefter matcha forumkontot direkt om det redan finns.
När en nyckel redan pekar mot en känd vBulletin-användare via invite-code-profilfältet prioriterar Tools nu det forumkontot direkt i stället för att bara luta sig mot den äldre exakta matchningen på e-post / användarnamn.
När nyckeln inte är knuten till en förvald forumanvändare men ändå har en invite-code-profilfältsmappning kontrollerar Tools nu också just det profilfältet efter den exakta invite-tokenen. Det gör att onboardingflöden för redan registrerade konton kan matcha rätt forumkonto efter att sökanden har sparat invite-nyckeln i profilen.
Tools exponerar nu också en särskild completion-endpoint för ett framtida vBulletin-frontendscript som körs när forumets registreringssida bedömer att kontot ser färdigskapat ut:
POST /api/vbulletin/onboarding/invite/completeFöreslagen request-body:
{
"invite_code": "once-example-code",
"forum_user_id": 123,
"forum_username": "exampleuser",
"forum_email": "user@example.com"
}
Nuvarande kontrakt:
invite_code är obligatorisk.invite_code kan nu vara antingen själva invite-tokenen eller en full onboarding-URL som innehåller tokenen; Tools plockar i så fall ut själva koden före lookupenforum_user_id, forum_username och forum_email är valfria hjälpfält.forum_email behandlas bara som en opålitlig hint. Den kan hjälpa Tools att hitta rätt forumkonto, men den accepteras aldrig ensam som bevis.Det här gör Tools nu på endpointen:
forum_account_linked eller pending_review så att moderator/reviewer fortfarande kan ta slutbeslutetViktigt säkerhetsbeteende:
Nuvarande implementationsråd för det framtida frontendscriptet:
forum_user_id eller forum_username när registreringsflödet exponerar demI praktiken är den rekommenderade nästa vägen för det framtida forumscriptet fortfarande:
forum_user_id när sidan efter registreringen exponerar detforum_username som extra fallbackforum_email bara när den naturligt finns tillgänglig från det vanliga registreringsformuläretDet finns nu också en separat praktisk frontend-guide för just detta hookmönster, med hook arguments, anpassad bootstrap för field66, client-side-normalisering av invitekoden, publikt fetch()-exempel och exempel på en stylad success-popup:
Adminsidan visar väntande förfrågningar och låter granskare:
forum_user_idApprove/revoke och de manuella grant/revoke-knapparna gör nu två saker i samma steg:
Det betyder att den gamla nödlösningen att öppna forumets användaradmin och klicka Save, eller manuellt köra Maintenance → Clear System Cache, normalt inte längre ska behövas för vanliga onboardingrelaterade gruppändringar även när Tools och vBulletin driftas separat.
Adminsidan innehåller också en live-sökning mot forumanvändare. Den används för att:
Kommando:
php artisan vbulletin:onboarding-sync
Valfri full scan:
php artisan vbulletin:onboarding-sync --force
Laravel-schemat kör nu även detta automatiskt var femte minut.
Automatiskt godkännande sker när allt detta stämmer:
Om det automatiska forumsidiga gruppsparandet misslyckas sparas den publika onboardingförfrågan nu ändå i stället för att invite-sidan kraschar. Tools flyttar då förfrågan till Pending review så att en administratör kan slutföra godkännandet senare när forumkopplingen fungerar igen.
Adminsidan låter dig skapa flera welcome/info-meddelanden med:
info, success, warning, neutral)Den separata adminsidan för nyckelgeneratorn visar nu också dessa välkomst-/infomeddelanden i en mer presentationsinriktad vy, så admins lättare ser vad som faktiskt kan visas för användaren beroende på slug, status och gruppscope. Tools serverar dem via:
/vbulletin/onboarding/messages.js
Rekommenderat vBulletin-include:<script src="https://tools.tornevall.com/vbulletin/onboarding/messages.js?forum_user_id={$bbuserinfo.userid}"></script>
Du kan också lägga den script-URL:en i den befintliga sektionen vBulletin frontend script boxes på samma adminsida.
Varje onboardingförfrågan får sin egen statussida så att den inbjudna personen kan se om Tools fortfarande väntar på forumregistreringen, om kontot har länkats eller om förfrågan blivit godkänd/nekad.
Statussidan fungerar nu också mer som en levande progressvy:
https://forum.tornevall.netPå huvudsidan för vBulletin-admin finns nu också en liten widgetgenerator som skapar färdiga HTML-block att klistra in i ett vBulletin HTML-/snippet-block.
Nuvarande inbyggda widgets:
Vi välkomnar vår senaste medlem {name}Vi växer hela tiden! Just nu är vi {count} medlemmarWidgets serveras från Tools via:
/vbulletin/widgets/latest-member.js/vbulletin/widgets/member-count.jsGeneratorn på /admin/security/vbulletin låter administratören välja:
{name}-placeholder){count}-placeholder)Resultatet blir ett färdigt HTML-block med en container-<div> och ett hostat <script src="…"></script>-include som kan klistras in direkt.
För onboardingflöden som kräver ett redan registrerat forumkonto påminner vänteläget fortfarande uttryckligen användaren om att kontrollera att forumkontot redan finns och att invite-nyckeln ligger i det konfigurerade profilfältet. Sidan är fortfarande tänkt att återbesökas senare, så användaren bör bokmärka den efter att onboardingformuläret sparats.
När en onboardingförfrågan godkänns och den konfigurerade sekundära forumgruppen har tilldelats tar Tools nu också bort samma invite-nyckel från det konfigurerade vBulletin-profilfältet, så länge fältet fortfarande innehåller exakt den onboardingtoken som nyckeln använder. På så sätt ligger gamla invite-koder inte kvar i profilen efter slutförd onboarding.
Den här första versionen är medvetet enkel: