Tips   >   About   >   Learning Omnis Studio

Learning Omnis Studio

If you are a new to Omnis, or moving from Omnis Classic to Omnis Studio... where do you start?

Omnis Studio has incredible depth. The only limit to the solution you are building is your imagination. (I might be exaggerating a bit ... but not much.) As with any product with depth, there is a lot to learn. You might get frustrated with Studio for the first couple months, but believe me, it's worth the effort.

Here are some suggestions for learning Omnis Studio:

  1. Give Yourself Time - Learning to use Omnis Studio is not a one week job. It took me a year to get comfortable with Studio. (I'm a bit slow) You should budget 3-6 months to learn Omnis Studio. In that time build lots of mini libraries and self demos. Try out all the different field objects, build headed lists, build complex grids, test multi-libraries, multi-tasks, etc. If you have an existing application, take a small piece of it, and build it from scratch in Omnis Studio. Expect to get frustrated. In the first 3 months of learning Omnis Studio, there were times I thought I'd making a big mistake in deciding to go with Omnis Studio (vs. Omnis Classic). Now, you couldn't pay me to write an application in Omnis Classic. Omnis Studio is a great development tool!
  2. Read the Manuals - Print the PDF manuals and read them through once. With a printed copy of the manual you can flip through it quickly without leaving the method editor. Hilite and underline points of interest in the manuals. Don't worry about understanding everything in the manuals. On the first read through a lot will go over your head, don't worry, you're just getting an overview of Omnis Studio.
  3. Browse the Studio Examples - Take a look at the Tools menu > New Users. There is a lot of good information for new users and some good stuff for experienced users too.
  4. StudioTips Tutorials - Go through the Studio 101 tutorial (it's free). If you like it, become a StudioTips members, and continue through the rest of the Studio 100 series tutorials.
  5. StudioTips - Using the StudioTips Browser go through all the topics and demos in StudioTips. There is a lot of practical advice, tips and tricks, and code saving ideas in StudioTips. Why not learn from the experience of others developers.
  6. Purchase Tech Support - You need tech support for those times when you just can't solve a problem. I have found Omnis Tech Support to be very knowledgable and very responsive. Sometimes it turns out that the problem I'm experiencing is a bug and they can offer me a workaround and the bug is fixed in the next version. Think about, if you waste a couple days trying to solve a problem which Tech Support could have answered for you with a single email, that quickly starts to pay for the cost of tech support.
  7. Attend an Omnis Developers Conference - The cost of attending the conference is peanuts compared to the time you'll save in writing code. I hesitantly attended my first Omnis Developers conference in Denver, feeling very insecure about my lack of knowlegdge. I came back a changed programmer. Through the sessions and off-line discussions my eyes were opened to so many different things. The Omnis community is very helpful. I haven't met anyone unwilling to help. We've all been there and have been helped by others, so we know how important it is to help each other.
  8. Read Books on OOP - If you don't have any object-oriented programming training or experience you have got to make a pardigm shift in your brain in order to think and code in an object-oriented style. I'm still learning, and still reading. Keep feeding your brain with new information. It takes year of learning, one layer at at time before you really start to think in object-oriented terms. When you do, you start to see how complex, fragile, and hard to maintain the old structured style of writing code really is.
  9. Join the Omnis Developers Mail List - I joined the Omnis developers list once, couldn't understand most of what I read, and unsubscribed within 3 months. After attending my first Omnis conference I gave it another shot and subscribed again. Now the Omnis developers list is where I learn the most. It is a tremendously helpful community. Even if you don't submit questions and just lurk, you can learn a lot. Participating is even better. Don't worry about asking a dumb question. Before long, you'll be answering questions from other developers on the list. As you advance with Omnis Studio, you'll start to grasp deeper and deeper concepts and apply more and more of them to your own application.
  10. Establish a Good Consistent Naming Convention - Every programmer has their own naming conventions with their own merits. If you are coming from Classic to Studio there is a whole batch of new ingredients to add to the mix and you might need to rethink and add to your current naming conventions. It took me 5 years to work out my current naming conventions. They continue to evolve as I see code from other developers. If you are starting Omnis Studio or your naming conventions are still in flux, take a good look at the Naming Conventions section in StudioTips... print it and keep it handy. Take what you like, change what you don't like.
  11. Comment Your Code - Writing StudioTips and StudioWorks forced me to think in terms of other developers looking at my code. This discipline is helping me be more diligent at commenting the code in my own applications ... and it pays back when I'm modifying that code 6-12 months later.
  12. Read the Manuals Again - After a year, it's a good idea to go back and read the manuals again. The stuff that went over your head on the first read, should make sense now. And you'll pick up a ton of details that you missed or had forgotten.
So dig in, have fun, and keep a positive attitude! Programming has got to be one of the best jobs on the plant... and with an amazing tool like Omnis Studio... it just doesn't get any better!

Problem Solving

There have been days where I have been 10 feet (3 meters) deep in my own code, trying for hours on end to solve a problem. Window events and report behavior would make me crazy some days. Changing one thing would cause something else to fail and around and around I would go.

Looking through the manuals, looking through the F1 Help, failed to shed any light on the situation.

One of the things that I found works good is to create a brand new demo library to isolate the problem.

You know the routine, create a new library, create a new window, or object, or whatever it is. Recreate the situation from the ground up.

It's amazing how many times this has solved the problem. And if it doesn't, you've got a demo library ready to send to Tech Support (or another developer) for them to review and suggest the solution.


If your demo uses a list, a quick way to build a demo list is to use $makelist. The following line of code, creates a 3 column list which you can sort, add, delete, rename, etc.

; Quick way to create a 3 column list for testing purposes.
Do $clib.$classes.$makelist($ref().$name,$ref.$classtype,$ref.$moddate) Returns List

You can either refer to the columns using the column aliases C1,C2,C3 or assign new names to the columns.


Take a look at StudioWorks, it give you a head start on writing a new application and it comes with years of Omnis Studio experience. A lot of the trial and error work is already done for you. StudioWorks will pay you back within the first year, if you are willing to budget the time it takes to learn Omnis Studio and get your head inside StudioWorks.

Conversion from Classic

To convert or not to convert? That is the question.

I had an application in Omnis Classic which I had to move to Omnis Studio. I decide to write it from scratch in Omnis Studio. Running the Classic to Studio converter is quicker in the short run, but in the long run, writing from scratch is more efficient. Had I converted my Classic application, I'd still be spending time getting rid of the old Classic skeletons hiding in my new application.

You can not write object-oriented programming code in Omnis Classic. Omnis Studio is an object-oriented programming development tool. If you convert an Omnis Classic app to Omnis Studio using the converter tool you will end up with a pile of non object-oriented programming code running inside of an object-oriented programming development tool.

How many opportunties will you get to make a clean, fresh start at rewriting your application? Moving from Omnis Classic to Omnis Studio is your chance.

If you aren't already using SQL, do yourself a favor and jump to SQL at the same time. Take a look at StudioWorks, it will make the move from Omnis Classic to Omnis Studio, object-oriented programming, and SQL much easier to accomplish.