Forum Discussion
Hi Angela,
Interesting topic. Here is my list excluding things that you have already covered
Regular Checks:
1. Weekly or bi weekly a DBA runs profiler on ARAS database to identify possible ways to improve performance. DBA does data base tuning, re indexing if required.
2. As user base increases so is the data and database size. So to improve performance few data heavy reports can be converted from AML to SQL to take advantage of SQL views as a mean of improving performance.
For performance improvement:
1. Normally as functionality is built with multiple sprints there is scope for optimization since many times on same event we create multiple methods during different sprints. So we take up short performance improvement project after delivery of particular module, where idea is
1.1 Aggregate functions on same events
1.2 Push code to server side method from client side method as much as possible
1.3 Follow ARAS tips on performance improvement like using attributes select, doGetItem etc ..
- angela5 years agoCatalyst II
Hi community,
I think it's time to give this discussion another spin.
Chris seemed to be very inspired by this discussion and provided us with an additional blog article with a lot of useful stuff:
https://community.aras.com/b/english/posts/dos-donts-of-designing-applicationsMany thanks for this one! But all of you so far forgot one important thing: Documentation!
So here we have the next basic tip: As soon as you implement something new or change default behavior of something write a test case immediately!
Typical examples:
You built a custom ItemType with a LifeCycle, Workflow and a couple of Methods. Write down a test case so Aras update team can later reproduce how the whole bunch shall work. Don´t make one big generic test cases that nobody can follow ("My custom change management process shall work"). Better make a lot of steps that exactly describe what to do and what behavior to expect. E.g. "Login as admin. Go to TOC->MyCustomChange. Select a CustomChange item. Click on custom Action xy, confirm that yz happens....".
Avoid to customize existing Methods. Make a custom copy whenever it´s possible. When it is not possible to work with a copy, always add some comments that indicates that "you" have customized this and also why. And of course - write a test case that describes the changed behavior.
Most important is the documentation of codetree changes, cause they are often hard to detect for Aras update team. Describe the file you have changed a and add a test case that shows the effect of the codetree change, so Aras is able to reproduce it. Not only Aras, you yourself have some benefit when you write down these details, cause at a certain point you cannot remember anything anymore.- christopher_gillis5 years agoCommunity Manager
Excellent points, Angela! My hope was that the blog post wouldn't be a definitive guide but would demonstrate that any good software design principle can be applied in the context of Innovator.
You bring up an excellent Innovator-specific tip as well in terms of making a custom copy of any existing Method. In the event that the Method changes in a newer service pack, it not only makes it easier to upgrade, but also to compare with your custom code to find what the updates were.
For similar reasons, I'd also apply this same tip to codetree changes as well. If you want to make an update to a codetree file, instead create a copy of the file with the same name and rename the original file to filename_old or filename_original. In addition to making it more clear where changes were made, it also helps to have a clean copy to rollback to just in case something breaks in development or testing. You can see that Labs does this in some of its projects like the TOC Searchbar.