Mobilapp, tilpassede apper og integrasjoner
Etter hvert vokser de fleste organisasjoner ut av «one-size-fits-all»-nettstedet — de trenger en innfølt mobilopplevelse, et skreddersydd verktøy tilpasset hvordan de jobber, eller en forbindelse til et eksternt system de allerede er avhengige av. De fleste plattformer tvinger et valg mellom å enten bli låst inne i leverandørens boks eller bygge alt på nytt et annet sted.
Problemet det løser: Skreddersydde behov bør ikke bety et helt eget prosjekt, en ekstra pålogging eller en ekstra regning fra en annen leverandør.
Hvordan det hjelper:
- Mobilapp-modul — konfigurer og administrer en mobilappopplevelse for organisasjonen direkte fra Backstage, forhåndsviset i en realistisk enhetssimulator slik at beslutninger om layout og innhold tas med reell kontekst, ikke gjetning.
- Tilpassede apper — en dedikert installasjonsplass for apper bygget spesielt for organisasjonen, slik at skreddersydde verktøy ligger i samme plattform og lisensiering som alt annet i stedet for å være et foreldreløst sideprosjekt.
- Integrasjoner — koble til eksterne tjenester og API-er (fra webhooks til tredjepartsverktøy) slik at plattformen kan varsle, eller bli varslet av, systemer organisasjonen allerede er avhengig av.
- Betalte funksjoner er tydelig sperret — aktivering håndheves på rutenivå, så en modul som ikke er en del av planen din, er blokkert fra direkte URL-tilgang også, ikke bare skjult fra menyen.
Den gode arbeidsdagen: En ny integrasjon eller et skreddersydd verktøy går live inne i samme arbeidsområde de ansatte allerede kjenner, aktivert med en bryter i stedet for en ny distribusjon.
Hvorfor dette er viktig for din organisasjon
Målet er utvidbarhet uten fragmentering: mobilopplevelsen, de skreddersydde verktøyene og tredjepartsintegrasjonene blir alle en del av én sammenhengende plattform i stedet for et lappeteppe av leverandører, pålogginger og supportkontrakter.
Tekniske detaljer
Mobile App er konfigurert gjennom AppDash.razor (ExireNexus.Backstage/Components/Editors/MobileApp/AppDash.razor, rutet til /editors/app/dash og /editors/app/{ItemId:guid}), som renderer menyelementer inne i en enhetssimulator ved hjelp av IMenuItemService og IItemService slik at endringer kan forhåndsvises før publisering. Aktivering styres av SettingNames.ModuleMobileApp i AppCatalog-oppføringen for "Mobile App".
Tilpassede apper og Integrasjoner er begge funksjoner som styres via app-linjen (SettingNames.AppBarCustomApps, SettingNames.AppBarIntegrations) snarere enn moduler som styres av aktivering, noe som reflekterer at de er utvidelsespunkter heller enn funksjoner priset i katalogen i øyeblikket. Integrasjons-siden (ExireNexus.Backstage/Components/Editors/Developer/Integrations.razor, rutet til /editors/developer/integrations) viser opp koblinger til eksterne tjenester og API-er.
Et konkret eksempel på en integrasjon som allerede er koblet inn i plattformen er IWebhookService (ExireNexus.Services/Integrations/Webhooks/WebhookService.cs): SendMessageAsync og SendPayloadAsync sender meldinger/payloads til en konfigurert webhook-URL (oppløst per tenant via ISettingsService), og gir plattformen et enkelt, gjenbrukbart mønster for å pushe hendelser til eksterne systemer uten å hardkode en bestemt leverandør.
Gating av betalte moduler håndheves sentralt av ModuleGateLayout (ExireNexus.Backstage/Components/Layout/ModuleGateLayout.razor), som kartlegger rute-prefikser (f.eks. /editors/app/ → ModuleMobileApp) til deres aktiveringsinnstilling og blokkerer direkte navigering til en moduls sider med en FeatureNotActivated-panel når leietakeren ikke har aktivert den — og lukker dermed gapet mellom «skjult fra app-linjen» og «faktisk utilgjengelig» som en ren UI-bryter ville latt stå åpent.