Salesforce a programování v Eclipse

Když IBM Lotus Notes přešly před dlouhými lety na Eclipse, tak jsem nad nimi zlomil hůl, naučil se to nejdůležitější a víc s tím nechtěl mít nic společného.

Když jsem se začal věnovat Salesforce, tak jsem usoudil, že si vystačím s webovým rozhraním a Eclipse také nikdy potřebovat nebudu.

Jak už to tak bývá, po čase jsem změnil názor.

Instalace Eclipse

Asi nemůže být nic jednoduššího a celé je to hezky popsané na stránkách. Stáhnout Eclipse + nainstalovat, potom dohrát Force.com plugin.

Zásadní věc ale ten „oficiální“ článek nezmiňuje. Jak vydávají třikrát ročně novou verzi, tak se liší API. A Force.com plugin standardně nainstalovaný podporuje vždy to poslední, které ale dost možná ještě nemáte nasazené. Je potřeba se tedy podívat a velmi pravděpodobně nainstalovat předchozí verzi pluginu.

Verzování

Eclipse přináší i možnost verzování zdrojového kódu. Přes web máte smůlu, tady stačí nainstalovat EGit, spojit s BitBucketem, GitHubem či čímkoliv dalším a je to. Ta krása když se můžete vrátit zpět aniž byste přemýšleli, které kusy kódu jste upravili, porovnávat je vzájemně a další a další vymoženosti, na které jsem nebýval zvyklý.

Spojení se Salesforce

Eclipse máme, Force.com plugin také, stačí si přidat Force.com projekt. A hned u přidávání je důležitá věc neklikat slepě Další – Další – Další, ale zastavit se a vybrat, které objekty si chci do projektu natáhnout.

Standardně se načtou VisualForce stránky a APEX kód, ale protože Salesforce = metadata, je možné přidat cokoliv. A vybírat můžete buď vše daného typu nebo přímo konkrétní objekty.

Výběr typů objektu v projektu Eclipse

Je to super

Celou tuhle opičárnu jsem primárně dělal kvůli tomu, že jsem potřeboval zkopírovat spoustu polí z jednoho objektu na druhý. Přes web to neuděláte, leda pole ručně vytvořit. V Eclipse otázka pár kliknutí. Tedy skoro (viz dále).

Zkopírovat nastavení standardních číselníků z jedné instance do druhé je otázka na pár vteřin, přes web na pár minut.

Změnit vlastnosti polí a další věci je zase na chvilku.

Je to na nic

A pak zjistíte, že to vlastně nic neumí. Takže ta pole je možné snadno zkopírovat (na další objekt), jenže nastavení oprávnění je nastaveno zase jinde a tam se vám to neprojeví, takže buď klikat nebo kopírovat a kopírovat. Pokud chcete zkopírovat pole nebo dvě, tak je jednodušší je vytvořit ručně a ony se správně zapíší do všech potřebných metadat. Pokud jich je hodně, tak je asi lepší využít ten Eclipse.

S tím vlastně souvisí i to, že pole jsou v těch XML metadatech seřazena hezky podle abecedy. Na což je dobré myslet při jejich pojmenovávání, ať pak nemusíte jezdit sem a tam.

Grafické rozhraní Eclipse

Programování je super, jenom to neumí napovídat. Pokud jsem správně hledal na internetu, tak to kdysi umělo a nyní už ne. V dnešní době trochu smutné, když vám to nenapoví metod ani názvy polí 🙁

Ladit to neumí. Respektive už existuje balíček Force.com IDE Debugger, akorát na povolení možnosti ladit APEX si musíte kontaktovat helpdesk. Což asi nebude takový problém, ale ve standardu to ještě není.

Zkrátka a prostě není to špatné, šetří to práci, ale mohlo by to být řádově lepší. Jdu zkusit Sublime Text a mavensmate a uvidíme, zda to nevyměním.

A poslední douška – umět s tím se může hodit i konzultantovi, kterému jinak to programování ale vůbec nic neříká.

Zajímá mě tvůj názor