Full description not available
A**H
Good book for senior devs & dev leads
The plot of the book is extremely promising. Indeed, it contains valuable information, and I personally appreciate author’s efforts he put into this artefact.I also appreciate that the majority of topics are explained with sample codebase available on Github.Nevertheless, I managed to collect a list of pitfalls/typos I would like author to review (if possible). Because, some of the items caused issues with regards to perception of the information/statements outlined throughout the book. That’s my own opinion solely.Chapter 1- Page 16-17 — in Dev Hub org the one should enable ‘Enable Unlocked Packages and Second-Generation Managed Packages’ setting prior to running sfdx force:package:create command- The path parameter should be ‘source/formulaforce’ instead of ‘force-app’ (code snippet typo)- Page 18-19 — invalid sfdx command ‘installationkeybypass’ should not have space sign- Hard-to-follow section dedicated to package creation, version creation and managing ancestries — the samples should be aligned with codebase provided (actually, everything got broken after missteps on pages 16-17)- Statement on page 26 (right at top) — seems to be misleading (based on the context section)- Page 29 — too little information about Environment Hub & TSO and its capabilities (I’m frustrated)- Page 34 — typo in SFX word- Page 42 — non-deterministic statement with regards to Connected App packagingOverall, a lot of packaging-related topics were covered, but those are too high-level.Chapter 2- Page 53 — misleading statement about non-deterministic encryption (encrypted value is NOT the same each time)- Page 69 — typo in ‘inherit sharing’Chapter 3- Page 90 — hands-on challenge — not clear what packaging org is?- Page 96-98 — The pictures in this chapter provide screenshots from the org (known as packaging org, probably a scratch org) where component names do not contain namespace prefix — at the very beginning it was asked to update ‘sfdx-project.json’ file by appending unique NS (composed separately and uniquely for each reader) — therefore there are differences between pictures in book and the real pseudo-implementation of steps provided in the book (app creation).- Page 102 — it was a real surprise to see that provided apps (Race Management and Race Analytics) are classic ones — not Lightning Apps- Page 110 — sfdx import command does not function and errors out with ‘The requested resource does not exist’ code (the issue is related to NS prepended to all components in the org when ‘sfdx-project.json’ file was updated according to instructions in the book)- Page 113 — typo in ‘Heroku Kafa’ (should be Kafka)Chapter 4- Page 127 — typo in ‘inherit sharing’- Page 131 — calling synchronous context as ‘interactive’ context is confusing, better to keep consistent naming (same as in SF docs) — IMHO- Page 148 — typo in ‘andap’Chapter 5- Page 165-166 — typo in snippets- Page 167 — ‘keyword’ instead of ‘keyboard’- The provided repo is NOT prepared for ongoing merges (chapter by chapter branch) — the file content within repo mismatches with content from the bookChapter 6- Page 206 — typoChapter 7- Page 261 — misleading statement at the bottom with code snippet typoChapter 8- Page 287-288 — failed to set up local postgreSQL server with snippets provided — had to to comment out [ssl: { rejectUnauthorized: false }] in 2 files to make it work- Page 295 — SOQL query is invalid since the development was conducted in namespaced scratch org — hence NS prefixes should be added to referenced custom fields- Page 314 — typo (at the bottom)Chapter 9- ‘Custom Report UI and Analytics API’ — expect more content with samples (especially using reports to drive an alternative approach for records selection in Apex)- ‘Managing performance and response times’ — expected more content on this crucial topic (would be interested in optimisation techniques that improve page load + getDescriptor calls issues by SF when page loads)Chapter 10- Page 377 — no sample data for Races Data object provided- Would be appreciated if there were more content with emphasis on salesforce mobile experienceChapter 11- Page 451 — invalid Apex REST api base endpoint (it should be prefixed with ‘services/apexrest’ )- Page 466 — misleading CMT screenshot — ‘Interface Type’ field should be disabled as it was marked as ‘Upgradeable’ (DeveloperControlled)Chapter 12- Page 504 — ProcessRaceDataJob batch does NOT update Driver Name field (along with Contestant lookup)Chapter 13- Page 536 — ‘RaceControllerTestMockitoDemo’ class is not present int sample code- Page 543 — it would be appreciated if there were more samples/explanations on how fflib matchers workChapter 14 — NoneChapter 15- It would be ideal if you could provide an examples of using common OAuth flows in conjunctions with custom Auth Providers (for example — use custom auth provider plugin for server-server Client Credential Flow)Chapter 16 — None
T**Y
Detailed knowledge for the Salesforce Platform
Developing successfully for the modern digital world requires using a platform. Finding the right platform can vary depending on the business sector, but “Salesforce Platform Enterprise Architecture, 4th Ed” (Packt, 2023) by Andrew Fawcett shares some useful approaches to this unique platform. Previewing an early copy, the book had not yet been divided into sections. The first three chapters cover the introduction to the platform, the next four deal with the separation of concerns, including various layers, the four deal with production concerns, and the last five deal with advanced topics. If currently developing in the Salesforce environments, this book could provide an excellent reference.The first section jumps in to set the developer up for success with multiple tools. One of the strong points of this text is using a continuous model to display tools. The sample chosen is called “FormulaForce” and deals with managing data associated with Formula 1 racing. The key learning points are setting up the initial UI, configuring the development environment, and storing data for later access.Those areas build directly into the next section on separating concerns for development environments through domains, selectors, and services. Each section has a dedicated chapter which uses a standard format to cover all the pieces. This area also introduces the concept of SOQL (Salesforce Object Query Language), the unique aspect of finding one’s data within Salesforce environments. Also introduced is Apex, the unique coding within the Salesforce platform as well as the various Lightning apps, the proprietary services associated with the same platform.The last truly relevant section deals with moving new development to production through additional languages, user interfaces, and integration. Again, this section strongly relies on the Lightning components to reach success. One chapter explicitly deals with what Lightning offers and the ways to make it successful through integration. It was interesting that the book only touches briefly on MuleSoft, as I recently reviewed a book using the MuleSoft platform as a primary dev environment for SalesFroce.The final section adds some advanced concepts. Unit testing shows up here even though the process of testing appears throughout the entire work. Source control appears briefly, primarily through using GitHub as an external repository and then working through Lightning. Some mention appears of connecting to other external or internal applications, one of the primary needs if one is developing in a third-party approach like Salesforce. The last chapter mentions some of the nice things the included machine-learning algorithms, labeled as the Einstein AI, can help with if one is moving big data options through Salesforce.My biggest complaint about the book is I never felt as if I received a reason to use the Salesforce platform as opposed to my local environment or another application like Mulesoft. The training on all the various pieces and making them work was great, but even with the FormulaForce sample, the connections just were not there. I work with platforms on a regular basis, and my company offers a platform-first approach but I couldn’t find a reason why this enterprise platform would be a better approach than any other. It is an add-on to the basic SalesForce package so requires additional expense, the support community did not appear to be present, and at the end of the day, I still have to call out to other APIs or applications to create success.Overall, “Salesforce Platform Enterprise Architecture, 4th Ed” (Packt, 2023) provides an excellent reference for anyone developing in the Salesforce enterprise. The details are exquisite, the code references are thorough and provide an opportunity to expand for one’s own development needs. The biggest problem is no comparison occurs between this platform and others that one might choose for development. Again, if one needs a strong reference for this area, the book is for you.
Trustpilot
1 week ago
1 day ago