Jak dostat aplikaci na AppExchange - aneb co vás všechno potká
Jak jsem některým z vás slíbil, tak se pokusím i splnit. Na letošním ročníku akce Czechdreamin jsem měl tu čest prezentovat téma, které se zde pokusím sepsat a být více konkrétnější než jsem si bohužel mohl dovolit v 25 minutách (má chyba, měl jsem zvolit delší slot!).
Jak tedy vypublikovat svou aplikaci na AppExchange? Pojďme se na to podívat a snad se mi i povede předat nějaká doporučení.
Začněme pěkně pomaličku.
Co vlastně AppExchange je
Představme si, že jsme si pořídili nový byt. Krásný, prostorný, který nám dává spoustu možností. To by mohl být Salesforce. Nicméně, potřebujeme i nějaké vybavení, jako postel, židle, stůl či gauč. Zkrátka chceme, aby byt splňoval veškeré naše podmínky. Proto se vydáváme do obchodu. V našem případě zadáváme adresu na AppExchange. Zde máme možnost najít možná i tisíce aplikací, které můžeme nainstalovat do našeho Salesforce a tím pádem ho i rozšířit.
Takto by se dalo fungování AppExchange shrnout. Samozřejmě, že aplikace jsou placené či zdarma (případně trail verze). Jak s dalo čekat, funguje to velice podobně jako App Store či Google Play. Musíte být registrovaní, přihlášeni a poté můžete aplikaci nainstalovat.
Publikační proces - overview
- Časově náročný
- Občasně únavný
- Náročný na přípravu potřebných materiálů/vstupů
- Zajímavý
- Komplexní
Proces je jednoduše řečeno, zdlouhavý. Člověk musí připravit spoustu materiálů, které pokrývají informace o společnosti, aplikaci, plánu, marketingu a vizi.
Můžeme ho rozdělit do dvou hlavních fází:
- Business review
- Security review
Za publikování se platí, ale o tom až trošku později, respektive níže v textu
Partnership
Ano, tohle je první nutná prerekvizita k tomu, aby člověk mohl vůbec se samotným procesem začít. Musíte být Salesforce Partner. Úrovní partnershipu je spoustu, neznám je. Oficiální dokumentace určitě poskytne více informací. Třeba zde nebo i zde.
Minimálním level je ISV - Independent Software Vendor. To může znamenat, že jste implementační partner, poskytujete tedy své služby zákazníkům a posouváte jejich systém dále. A nebo, zcela jednoduše, chcete pouze vypublikovat aplikaci. Ano, bez toho se nehneme.
Cesta, jak se stát partnerem je snadná. Nejprve se musíte zaregistrovat na Partnerských komunitách. Po registrování, dodání všech potřebných informací musíte být schváleni. Překvápko, i zde je schvalovací proces.
Po úspěšném schválení můžeme pokračovat, protože máme přístup k feature na communitách, které se říká "Publisher Console".
Publisher console je nástroj, ve kterém řídíte celý proces publikace. Zde dochází k doplňování informací o vaší společnosti a aplikaci . Dojde samozřejmě i na to, jak bude řešení licencované, uvidíte jaké leady se generují a tak podobně.
Ovšem předtím, než s tímto vším začnete, prosím dbejte na kvalitní research! Bez toho nedává smysl do procesu se pouštět, recyklované aplikace nejsou správná cesta.
Application development
V této fázi bychom neměli být, pokud již nemáme jasnou představu o našem řešení, cílech a důvodu, proč jsme se do toho vůbec pustili.
Pro vývoj aplikace a řízení celého životního cyklu potřebujeme několik Salesforce orgs.
Partner Developer Org
Jako první org, který musíme mít je PDO či standardní Developer org. V tomto typu musí dojít k vývoji aplikace. PDO je možné vytvořit z Environment hubu, ke kterému, jako partner, máte přístup. Výhodou partnerského orgu je to, že má vyšší limity, tím mám namysli například API Limit, Data storage, atd.
Partner Business Org
Dalším z řady je PBO. Zjednodušeně řečeno, tady řídíte práci s licencemi pomocí License Management App (LMA) a objednávky (Chanel Order App - COA). Je to prostředí, které jako partner musíte mít.
Test Org
Bezpochyby potřebujete prostor, kde můžete svou app testovat! Můžete využít váš standardní org, vytvořit si jej z hubu nebo pracovat s developerským orgem.
Samozřejmostí je, že všechny instance musí být propojeny s partnerským profilem. Součástí je i zadání informací o vaší společnosti . Salesforce chce spolupracovat s firmou, která je ověřená a stabilní.
Samozřejmě je možné publikovat různé typy aplikací. Tím myslím, že můžete vypublikovat aplikaci založenou na Salesforce, na Marketing Clodu (bohužel nevím jak to pro MC funguje), ale i aplikaci, která nemá Salesforce komponenty. Pro představu, máte hotový nástroj, který využívá jen Salesforce API k tomu, aby stahoval data a ukládal je na local/server. Jop, jedná se o data backup aplikaci. Ovšem musím říct, že taková publikace byla skutečně oříšek. (3-4 měsíce, fůů)
Při práci na aplikaci musíte dodržovat Salesforce Best Practice a standardy. Tohle je velice důležitý bod, který bude zhodnocen v průběhu dalších review (Security). Jak se dá čekat i code coverage je nezbytný.
Jak jsem psal, bez researche to nedává smysl. Proto musí vaše řešení přinést nějakou zajímavou vlastnost, kterou systém nemá a nebo jí případně nějak rozšiřuje. Krásným případem je řešení "Mass Delete". Aplikace je přímo od Salesforce Labs a přináší tolik potřebné rozšíření do standardu SF.
Další zábavnou částí, po dokončení vývoje, je připravení package. Tedy balíčku, který obsahuje komponenty vašeho řešení. Existují dva typy package
- Managed
- Unmanaged
Rozdíly mezi nimi jsou mi stále trošku nejasné. Nicméně jeden můžeme částečně upravit (třeba odebrat pole) a druhý není možné nikterak měnit. Snad pomůže tato dokumentace.
Výstupem zabalení komponent je balíček, který má název, instalační link, určitou verzi a samozřejmě popis a taky verzi. Je možné pracovat s verzemi a je možné vytvořit betu.
Samotné připravení package je snadné, je to velice podobné jako když pracujete s Change Sets. Zkrátka vyklikáte všechny věci co potřebujete (Flow, Layout, Fields, Tabs,...) a je to.
Business Review
A je to tu, byrokratická část. Ale rozhodně to není ta nejhorší část.
Během této fáze je vaším úkolem poskytnout Salesforce validní informace o vaší společnosti, produktu, plánu, certifikacích (nemyslím teď jestli jste certifikovaný Pardot specialista nebo tak), marketingové materiály či ano, vybrat si pricing!
Business Details
Musí dojít k poskytnutí informací o firmě (jak jsem již psal), o marketu, na který váš produkt míří či by pro něj měl být primární. V poslední řadě, informace o klíčových uživatelích. Díky tomu Salesforce (jak sám říká) lépe pozná jak vaše společnost odpovídá Salesforce ecosystému.
Product Architecture
Sdílení informací o produktu, tedy jak je postaven, jak jsou například drženy credentials, či jak pracujete se sensitivními daty. Salesforce to pomůže poznat, jestli pracujete podle jejich best practice a držíte se standardů (jak pro design tak i pro architecturu).
Compliance Certification
Firemní business practice. Nevěděl jsem, že něco takové existuje. Ale ejhle, existuje. Pro Salesforce je důležité poznat jestli odpovídáte jejich standardům pro etiku a integritu
Jak bylo zmíněno, musíte dodat skutečně velké množství informací či dokumentů. Ale nemá smysl popisovat do detailu vše, proto se pojďme mrknout na pricing. (A taky si to nepamatuji, ehm)
Licensování
V první části jsme popisoval jak AppExchange funguje a jak je to s pricingem. Teď je ideální čas, se tomuto tématu věnovat o trošku více.
Existuje několik typů licencí:
- Licenses per Company
- Licenses per User
- Free Licenses
- Trial Licenses
- Monthly Licenses
- Annual Licenses
Jistě. Samozřejmě. Jak jinak. Salesforce si z vašich prodaných objemů bere %. Kolik? To oficiálně nevím, ale neoficiálně je to prý pro ISV 15%.
No a potom všem, je na čase připravit se na call. Projdete na něm informace o společnosti a hlavně budete demovat.
Security Review
Tak a jsem u toho. Security review je pro mnoho lidi noční můrou. A já se opravdu nedivím! Když jsem pracoval na svém prvním publikování, byl pro mě tenhle proces blackbox. Doslova.
Toto review je plně na straně Salesforce a záleží jen na nich, jestli ho schválí nebo ne. Zjednodušeně řečeno, proklepnou vaše řešení po technické stránce od A do Z. Znamená to tedy, že zkontrolují veškeré komponenty, které jsou v řešení (package). Ono to dává smysl. Chcete si do systému nainstalovat bezpečnou, kvalitní a hlavně plně funkční appku.
Jak se na to připravit? Níže je pár doporučení.
UI - Implementace - Testování
Řešení musíte připravit tak, jako byste připravovali projekt. Tedy v co nejvyšší kvalitě. Zkuste si položit následující otázky:
- Je design jednoduchý na práci?
- Funguje vše bez problémů?
- Je možné řešení škálovat?
Rozhodně připravte dokumentaci. Jak technickou tak i pro koncové uživatele. Zase se budu opakovat, ale i takový detail pomůže technickému týmu pochopit jak aplikace funguje a možná i pomoci odpovědět na případné otázky.
Poslední bod je testování. Testujte, testujte, testujte. Za mě jeden z nejdůležitějších bodů. Poskytněte řešení vaším kolegům, přátelům, rodině a sesbírejte feedback.
Best practice
- Podívejte se na doporučení pro Security review
- Statická analýza. Salesforce požaduje report z nástrojů jako je ZAP, Checkmarx (ten je doporučen od SF). Jako výstup obdržíte report vaší aplikace
- Okomentujte report - vytvořte False positive dokument. Musíte tedy okomentovat a vysvětlit jednotlivé body reportu (pokud se nepletu od hodnocení medium a výše)
- Znovu a znovu! Best practice. Krásná to slova. Držte se jich a postavte na nich vaší aplikaci
- Připravte org pro review. Smažte nevalidní komponenty, poskytněte přístupy SF týmu či nastavte IP range
Celá tato sekce je neuvěřitelně široká, více než já, vám určitě poskytne oficiální dokumentace. Jak jsem zmiňoval, můj článek obsahuje víceméně jen základní popis a hlavně doporučení.
No a jsme skoro na konci... Teď už jen pricing za celou tuhle srandu.
Asi budete znát starý model, ano starý. Byl změněn tento březen/duben. Platit jste museli za:
- Security review - 2550 USD - jednorázově
- App Listing - 150 USD - každý rok
To znamená, že když se review nepovedlo, další bylo zdarma a tak až do nekonečna. Za listing se platilo ročně, takže jste dávali 150 USD za to, že máte aplikaci vystavenou. Tohle bylo aplikovatelné za placené řešení. Appka zdarma měla review free, platil se jen listing.
No a pak bum a změna!
Co si budeme, Salesforce ja na svůj payment model u některých věcí velice striktní a proto mám k dispozici jen neoficiální informace.
Podle nového modelu došlo ke zrušení/změně obou poplatků. Listing byl zrušen a zůstává jen částka za Security review. No, ale ta se změnila. Nyní je to 999 USD, ale za každý pokus! Takže když se kontrola nepovede, tak se platí dál a dál... Podle informací co jsem dohledal, se podaří aplikaci vypublikovat až na 2 až 3 pokus.
Otázkou je, jak to bude u řešení, které jsou již vystavené a majitel přijde například s nějakým updatem. Podle všeho, bude první re-review zdarma... A ty další? Placené, jaké to překvápko.
Jestli se tento model vztahuje i na řešení, která jsou zdarma nevím, nebyla o tom žádná zmínka, takže předpokládám, že ano. Vypadá to, že i za solution, který chcete poskytnout jen tak, budete muset platit. (pouze domněnka)
UPDATE: Na základě informací, které jsou od některých z vás obdržel, se platí i za listing, takže dalších 150 USD navrch. Je vážně škoda, že pricing není možné nalézt oficiálně. (Opět platí, že toto není vytesané do kamene)
No levná sranda to není...
ALE toto se vám určitě nestane, uspějete na první pokus a pak už jen hurá a zmáčknout čudlítko "Publish Listing".
Držím palce s tímto procesem a určitě se poté pochlubte, jak to dopadlo a jestli tento článek pomohl. Pokud budete mít nějaké otázky nebo novinky(!), neváhejte poslat email nebo DM na LinkedIn.