Hello,
I’m working on a variation of the REFramework that will load settings from a database.
How do I present this concept to the community?
Assuming that this hasn’t already been done that is?
thanks!
Hello,
I’m working on a variation of the REFramework that will load settings from a database.
How do I present this concept to the community?
Assuming that this hasn’t already been done that is?
thanks!
Sounds like software development alike. Anyway some of the configuration need to be in the file before connection to the database and fetch all other configuration.
Hi @amnuay
The default Config file will be part of the template.
However, my main concern is the security of the connection to the DB source, most importantly the password.
Even if I did save it as an asset in the Orch or the Windows Credentials Manager, I’m not sure that the SecureString can be used seamlessly in a connection string.
The second issue would be the type of data source. For example, I’m using MySQL as the Remote data source. However, configuring a connection in UiPath for this database isn’t as straight forward.
I’m still trying to figure these two details out.
Hi @AndyMenon
The concept you are working on sounds interesting. Once you have completed the development you can publish your solution as a UiPath Go! Component. It’s a great way to share the knowledge among the community…
Here is the link…
https://go.uipath.com/
Good luck!!!
Thanks!
Truth be told, I have a RE Framework template that can load settings from a config file, a Local Access DB, and also a Remote MySQL database based on how the configurations are set up.
Unfortunately, I’m unable to configure the MySQL database connection via the UiPath Database activity. I also am seeing that the MySQL integration with Visual Studio Data Sources was taken out at some point in the past.
The fallback would be to go to SQL Server. But that is going to be too tightly coupled and in our company for example, there are no SQL server products, and the only one that exists is slated to be phased out.
Well, I have a solution now. Although it was not my most preferred, I will go that way as it seems to be the most suitable.
I think you need to construct connection string in memory and use it in database connect activity. This should work.
Agreed. But if someone debugged the code, they would still see the connection values.
But there’s an alternate solution where all of that wouldn’t be required. I will be testing the template today and tomorrow by building an RPA process.
thanks
Just finished up with the first round of tests. Results below:
Test 1 - all settings from ConfigDB.xlsx were configured in a Local MS Access database (encrypted with a password) which resides in the Data folder alongside the Excel file.
Test 2 - the very same settings were configured into a Remote AWS RDS PostgreSQL database.
A new MasterConfig.xlsx file in the \Data folder will decide how the configurations will be loaded.
I deployed the empty template to the Orch and executed it as a Job. And in both tests the output indicates 19 settings were loaded.
This below is the initial Config Database Design. Some quick decisions:
Next up: Build an RPA application and see how it works end to end.
Looks good. However Not sure about Tenant ID, Name how to obtain such information from robot side. How it benefits your configuration.
The Excel Config file as it exists today is abstract. It has no information by itself to give any hint to where its Robot has been deployed to. Therefore, the Tenant is not a technical attribute. Rather, it’s a means to organize our Robot settings. The configuration settings are organized in the database with the logical names of the tenants tied to them . That Tenant is then put in the MasterConfig.xlsx file of that RPA process.
In most cases, all our Robot machines will have ports opened out to access one single configuration database across our organization, as this database is a remote SQL database such as AWS RDS or Postgres. Therefore, these Robots will go in with the name of their respective tenant and load their settings.
I’ve been thinking about this since my last post, as these questions below are bound to come up when I integrate RPA with our existing Integrations framework.
Will RPA processes be organized just by Tenants?
Or will there be multiple tenants, each running multiple RPA processes?
In which case it would be Tenant + App ID that would make the configuration unique.
Let’s see.
Success!
I just completed testing an end-to-end application built using new “REF_DB” template configured to load settings from our Remote AWS PostgreSQL database! The process ran to completion after being run from the Orch.
Yep! Building my first RPA application with the new template did bring out the need for better organizing the configuation database. We do need an another key in addition to Tenant_ID.
I have since added a new table to the metabase called Process and altered the view to expose the Process_Name.
I can now add settings for two other RPA processes that I will be building by associating them with a Tenant and Process ID. This will give us the flexibility to deploy applications in multiple combinations of Tenants and processes.
A quick note:
The Configuration Table could be further enhanced.
But for now, it has been retained to be very close to the original Excel file. Which means that the standard settings that come out of the box will have to be copied into this table for each Tenant and Process.
It’s simpler this way than it is to complicate it further.
Next up:
And the new Interface View Design - Will be publishing the template sometime over the next few days.
To summarize:
The Template will load settings simply as follows:
Select * from vw_config_load where Tenant_Nm = “Your_Tenant” and Process_Nm = “Your_App”
And this is the Database Layout:
@AndyMenon
Cool…
Great work bro!!!
Let me know when this is published in Go! Platform. I’m one of the first to try this out…
Great effort and great outcome… keep it up!!!
Love your response my fellow Robot Master!
Will be building project #2 with this template tomorrow and running it from the Orch to make sure it works for sure.
Besides, I need to write up some quick documentation on how this thing needs to be set up. Takes the most time!
I will post an update here once it’s done.
Haha… yeah… documentation is the part that takes most of the time for me as well
Let know if you need any kind of assistance… I wasn’t commenting much here as I was kinda tired up with some hard deadlines at office… but was going through each and every post you made here…
Good luck and great work!!
Would love to see this out in Go community
Awesome! I will reach out if I’m in over my head.
Likewise here. Spent the whole day troubleshooting and fixing a production issue…all this work is done at night.
By the way, this version of the template is the CE one. At work I have to integrate this with our existing framework. The team will not to have yet another database for RPA processes . Although the final view would be the same, the underlying table structures would be different as I cannot have one too many mods.
Thanks so much for offering a helping hand!
Hello Community!
I’ve just published my component to the Go! Marketplace. Hopefully, the powers that be will approve it.
I spent the last 2 days writing a 32 page user guide for this component.
Please find it attached here and let me know your thoughts!
thanks for your help!
Update: 08.30.2019 Name and terminologies of documentation changed based on UiPath feedback. Previously published document nullified and deprecated.
Advanced Enterprise RPA Process Template - User Guide.pdf (3.3 MB)
Hey @AndyMenon
The doc is quite good bro. Really informative and easy to to understand… quite good work…
The publishing process will usually take around a week. So let’s wait for the good news