As a child, I loved playing with LEGO blocks. I started with the standard 4×2, 3×2, and 2×2 white, red, blue, and yellow blocks to build houses with neat red sloping roofs. Then I got the longer blocks and wheels for cars, trucks, helicopters, planes, and any other thing I could imagine. Next came specialty parts that I used for specific models. These models came with detailed instructions on how to build them. I used to spend hours building and rebuilding my own creations, modifying the designs on the LEGO boxes until they looked just the way I wanted them to look.
Building applications using OneStream XF takes me back to these days. Not to the simple 4×2 blocks but to the complex LEGO Technic 853, the first LEGO Technic car model. Back in the day, it was the ultimate LEGO set. The big red car with its yellow seats and blue four-cylinder engine was an amazing toy. There was no roof, bonnet, or trunk. This model was not made to look like a replica of an existing car. Instead, it was designed to show how the different parts of a car work. It had an engine with moving pistons, a fully functional transmission, rack and pinion steering, rear-wheel drive differential, and even adjustable seats.
Working on this model required attention to detail, patience, and foresight. You had to construct the different components independently. First, you had to build each piston, then the cylinders, then the crank, and finally the engine block. Then you built the transmission and connected it to the engine. Piece by piece, the components were laid out side by side. It was hard to see how each one would connect to the other. Yet in the end, they all fit just right to form a work of art.
Building an application in OneStream XF is a similar process. The parts are assembled in different sections of the application from the ground up. XF provides the individual building blocks, and the builder puts them together piece by piece. Each component can function independently, but they all come together to create a great machine.
When I first started working with OneStream XF, I followed the instructions to the letter, as with the LEGO 853. The examples provided by OneStream documentation materials were detailed and easy to follow. They could easily be replicated and applied at the first implementation. Some of these examples, such as the those in the Member Filter Builder, are imbedded into the software in the form of code snippets that can be copied and pasted directly into certain areas of the application. Others, like Thing Planning, can be downloaded from the OneStream Marketplace and incorporated into any OneStream XF application. Slowly, with more exposure to the software, I began to find new features. Like new special pieces of LEGO, these features made for more sophisticated designs, and I found it possible to create new and better solutions in XF.
While there are a few limitations imposed by the workflows, everything else is pretty much open. Member formulas, business rules, member filter builders, dashboards, cube views, integration components—there are so many possibilities. For example, the Member Filter Builder can call business rules to create string substitutions. Data sources can call data adaptors that pull data from multiple sources and transform it on the fly before passing it on to the workflow for validation and loading. I’m not even going to mention the reporting options. There are just so many ways to make this software do exactly what you want it to do.
I have no doubt that OneStream will continue to evolve. The company is filled with talented people who are committed to making the software better. This is a good sign for everyone who loves to build things. While I don’t own any more LEGO sets, I still love going to the LEGO store and marveling at how much more advanced the current LEGO Technic sets have become. If OneStream follows the same path as LEGO, then the future will bring amazing possibilities.