About the project

Our mission
At rtbtools.com we aim to build a comfortable ecosystem for working with OneStream platform.
As developers ourselves we understand how stressful it sometimes is to deliver stellar results to the OneStream clients.
That’s why we created a framework that allows to easily share pieces of work, automate routine tasks and build your very own ecosystem to solve any of your problem.
Our story
Having spent many years doing complex implementations of OneStream platform we realized that we needed to have a reliable tool for:
- unit of work migration,
- application synchronization
- knowledge/units of work sharing with other team members or other OneStream platform implementations.
Also, as the complexity of implementations grew, we needed more powerful tool to writing .NET code for OneStream.
We built a set of tools allowing for that.

Our tools
Visual Studio <=> OneStream connector
The problem with IDE for OneStream development was solved by creating a connector for Visual Studio to OneStream.
The tool allows to use full power of Visual Studio IDE and compile, synchronize, export or import OneStream projects in one click and a matter of seconds.
That’s what you can do with the tool:
- Import a project from OneStream (any type of BR – VB/C#/both combined) to Visual Studio:

- Use Visual Studio for development:

- Sync with OneStream by just running the project in VS (F5/Ctrl+F5):

- Debug your code line by line in Visual Studio:

The utility is able to sync code, track referenced BR assemblies and add them to OneStream BR properties if required. This all makes it possible to delegate all the code writing work to Visual Studio.
The app sync and solution migration problem was fixed by creating an ecosystem of Rtb Plugins – apps for OneStream platform. The core of the ecosystem is rtbtools.com site that is used to store and control Rtb Plugins. The site provides an API to allow for OneStream platform integration.
The core four Rtb Plugins
Plugins

RTB Plugin Store Lite (RTBSTL)
RTB plugin store. Easy way to install Rtb plugins and starter templates for any type of OneStream task.
RTB Package Management (RTBPMG)
RTB tool set for tracking OneStream objects (including dll libraries and custom tables) and packaging them into a shareable and OneStream installable archive.


RTB Plugin Management (RTBPLM)
RTB tool set to create plugins locally and publish them to RtbCloud (rtbtools.com)
RTB Dev Ecosystem
The RTB ecosystem includes a set of Excel tools that simplifies OneStream object management and even makes it possible to convert Excel formulas to OneStream code.
We also developed our own Reflection-based ORM for OneStream to use in core Rtb Plugins.
This comes as a part of MVC (Model-View-Controller) concept that we implemented in OneStream.
- Model in Rtb ecosystem is a representation of C# POCO (plain old class object) in the database.
Rtb ecosystem includes our own Sql adapter class that generates Sql CREATE TABLE statements by C#/VB Classes.
For example, for the following classes:

This SQL will be generated:

With just:
===================================================================
RtbSqlAdapter.GenerateCreateTableSql(GetType(House), rActionResult) ===================================================================
- Controller in Rtb ecosystem is realized in DashboardExtender business rule and allows to pass objects to model rather than selectionChangedTaskResult.ModifiedCustomSubstVars
This is what a standard Controller code looks like:

- View in Rtb ecosystem is a OneStream Dashboard object that is created or scaffolded (with RtbScaffoldingEngine) in such a way that Rtb Controller can understand it. This is what Rtb scaffolded OneStream dashboard for House class looks like:
Code:

The code execution result:

The generated objects:

The generated dashboard:

Rtb scaffolding engine is capable of generating OneStream Business Rules, understanding them and adding code sections to them.
The following Business Rule was generated during Rtb scaffolding process from a ds_RtbStarter_v1 template:

We are
This project has been developed and is fully owned by Pavel Frolov (LinkedIn) and Alexandra Yarmulitskaya. For any inquiries please contact us:

Founder, developer
PAVEL FROLOV

Interface designer
ALEXANDRA YARMULITSKAYA

Highly Skilled

Super Efficient
