20 Years of Content Server Development. Here are 5 Important Things We Learned
In our 20+ years of developing solutions for Content Server we have learned quite a number of lessons that can be used by any developer to instantly become more productive in the Content Server world. The early days of development were the most difficult because there was limited documentation, no experienced pros to call and bounce ideas off of and no 5 day training classes to go to learn all the tips and tricks that make life easy. Developing in the earliest days of Content Server existence (formerly known as Livelink) was a lot of trial and error, frustration and creativity. But the benefit was that a strong base was built for future development through the years.
Syntergy develops high-end products, customizations and tools for enhancing Content Server functionality. Our developers are some of the most experienced in the Content Server world. With all that experience comes a lot of knowledge, history and stories. For example, Content Server was originally a development environment for creating custom document management applications for small companies in the 1990s!
Here are the 5 most important things we learned about Content Server development:
- The Logs Are Your Friend:
Content Server is great at putting out logs that show what is going on while a thread is processing. These logs are invaluable in helping you debug a problem. We have found that the database logs are the go to logs when trying to determine the cause of a particularly difficult runtime problem. Often times the exact line of execution will be identified in these connect logs. The thread logs are a great place to start when trying to determine what area of code is executing when a problem occurs. Often the URL will show which function is being called and all of the variables being passed in.
- There are Different Ways to Solve a Problem
A developer needs to explore all avenues when trying to figure out a difficult requirement. The problem can often be attacked at the browser level with Java Script. Sometimes the solution comes at the database level with extra rows of data being used to trigger a process. Another way to look at the problem is a program running outside of Content Server. For example our Replicator program relies on a Java application that accesses Content Server and the database. Of course code executing on the Content Server side is the main way to attack an issue or add new functionality. The lesson learned is to be creative and look at all of your options.
- Oscript Is Not Easy:
Oscript is a difficult environment to get up to speed on. Learning the syntax and familiarizing yourself with the basics is pretty straight forward. The trick is in learning where certain functionality in Content Server executes. It takes quite a long time to be familiar enough with the code to have an idea where to start looking. The problems become even more difficult when you get into callbacks and object specific code. For instance you may find the function that shows the properties page but the information for that specific object is defined in a completely different ospace. It can be frustrating but there is no easy answer other than experience. Probably the best way to find executing code is by setting debug breaks and then tracing through each step of execution and taking careful note of what ospace and function are executing.
- Know Your DAPI, WAPI and UAPI:
DAPI, WAPI and UAPI contain a wealth of executing code. The problem is you can't see what is executing! It's all inside the API call so what you see is what goes in and what comes out. The more you know what each of these API calls do the better for you! One thing you can do is check existing code to see how a given API call is used. You will see that there are different options for parameters that can affect what the function does. Again, experience is the key when dealing with Oscript APIs.
- Nothing Beats Experience:
If you haven't figured it out by now EXPERIENCE is the key to developing Content Server solutions. The more problems you have to figure out the better! That's the way you will learn. At Syntergy we have close to a hundred years of Content Server development experience which gives us a huge advantage. So, if you are developing a customization, debugging some code or trying to figure out why core Content Server functionality is not working remember that it can be frustrating without the experience but it will get better!
We recommend you take a look at our latest products for Content Server. It might save you lots of development time! If you have any questions or would like to see a demo contact Syntergy at firstname.lastname@example.org or visit our website at www.syntergy.com or call our sales team at (858) 779-9642.