Below are some notes I took during Directions EMEA 2019. A bit late to publish but didn’t want to just delete them.
Treat extensions as products.
- Which means releasing them to customers periodically.
- Allow proper testing with proper test cases (Preferably automated testing).
- Try to run all the customers on the same version.
- Proper code freeze before testing starts.
- Configs should be in installation codeunits, upgrade codeunits or in Config packages
- It can be automated during the installation
Customer extensions
- The release should be periodic (Can make an exception if the fix is urgent).
- Data changes should be in upgrade codeunits.
Dependency
- Should NEVER merge extensions together just because to avoid dependency.
- If the dependency is troubling the deployment then try to restructure the extension.
CI/CD
- CI/CD is a must with extensions as it makes life easy for the developers and also for consultants.
- If you are not an expert on DevOps, then do not try to reinvent the wheel.
- Try to implement a simple pipeline with available extensions and add-ons.
- Once your company is compatible with the CI/CD and has a better understanding then invest in finding a solution that is perfect for your organization.
Number of objects
- The number of objects in an extension should be less than 100 (not a rule, but if the objects exceed 100 then it is a good idea to rethink the design).
- If the object count is going more than 100 that means (in most cases) this extension can be split into different modules.
- Once the extension is split into different modules, it is easy to manage and implement.
Connectors
- New Logic Apps, Flow and PowerBI connectors allow selecting the environment.
Power Apps
- To make the user’s life easy, try to use PowerApps for data entering.
Telemetry
- Create dashboards for Extensions using available new telemetry APIs.
- This allows partners to monitor the extensions and take actions before it ran into issues.
Try to go global not only local
- BC is an online platform so partners get the opportunity to go global.
- Whoever starts first wins.
- Get your apps to the market and make your mark.
Please provide your feedback with a comment.
Thank you and Regards,
Tharanga Chandrasekara