diff --git a/Orchestrator/OrchestratorSettings.py b/Orchestrator/OrchestratorSettings.py index bbb3ac6c..19e191d2 100644 --- a/Orchestrator/OrchestratorSettings.py +++ b/Orchestrator/OrchestratorSettings.py @@ -3,21 +3,6 @@ import psutil, datetime, logging, os, sys # stdout from logging # Config settings lPyOpenRPASourceFolderPathStr = r"..\Sources" # Path for test pyOpenRPA package -# INFO Relative/Absolute import see below - after settings init - -# Template for import CP - Control Panels -# ATTENTION - Pay attention to CP names! Orchestrator is one for the all control panels per one machine - -## !!! For Absolute import !!! -# sys.path.insert(0,os.path.abspath(os.path.join(r"..\ROBOT\Builds"))) -# import pyRobot_CP -# pyRobot_CP.SettingsUpdate(inGSettings=gSettings) - -## !!! For Relative import !!! -# sys.path.insert(0,os.path.abspath(os.path.join(r"..\ROBOT\Builds"))) -# from pyRobot_CP import ControlPanel -# ControlPanel.SettingsUpdate(inGSettings=gSettings) - # Operations if lPyOpenRPASourceFolderPathStr != "": sys.path.insert(0,os.path.abspath(os.path.join(lPyOpenRPASourceFolderPathStr))) # Path for test pyOpenRPA package # Start import after config the pyOpenRPA folder @@ -26,28 +11,36 @@ from pyOpenRPA.Orchestrator import SettingsTemplate # Import functionallity if __name__ == "__main__": # New init way - allow run as module -m PyOpenRPA.Orchestrator from pyOpenRPA import Orchestrator # Import orchestrator main - gSettings = SettingsTemplate.Create(inModeStr="BASIC") # Create GSettings with basic configuration + gSettings = SettingsTemplate.Create(inModeStr="BASIC") # Create GSettings with basic configuration - no more config is available from the box - you can create own # TEST Add User ND - Add Login ND to superuser of the Orchestrator lUACClientDict = SettingsTemplate.__UACClientAdminCreate__() - # del lUACClientDict["pyOpenRPADict"]["AdminDict"]["LogViewerBool"] - # del lUACClientDict["pyOpenRPADict"]["AdminDict"]["CMDInputBool"] - # del lUACClientDict["pyOpenRPADict"]["AdminDict"]["ScreenshotViewerBool"] - # del lUACClientDict["pyOpenRPADict"]["AdminDict"]["RestartOrchestratorBool"] - # del lUACClientDict["pyOpenRPADict"]["AdminDict"]["RestartOrchestratorGITPullBool"] - # del lUACClientDict["pyOpenRPADict"]["AdminDict"]["RestartPCBool"] - # del lUACClientDict["pyOpenRPADict"]["RDPKeyDict"] - # del lUACClientDict["pyOpenRPADict"]["AgentKeyDict"] - # del lUACClientDict["pyOpenRPADict"]["CPKeyDict"] - #lUACClientDict["pyOpenRPADict"]["CPKeyDict"]["VersionCheck"]=True - #lUACClientDict["pyOpenRPADict"]["CPKeyDict"]["TEST"]=True - #lUACClientDict["pyOpenRPADict"]["AgentKeyDict"]["DESKTOP----;ND"]=True Orchestrator.UACUpdate(inGSettings=gSettings, inADLoginStr="ND", inADStr="", inADIsDefaultBool=True, inURLList=[], inRoleHierarchyAllowedDict=lUACClientDict) # TEST Add User IMaslov - Add Login IMaslov to superuser of the Orchestrator Orchestrator.UACUpdate(inGSettings=gSettings, inADLoginStr="IMaslov", inADStr="", inADIsDefaultBool=True, inURLList=[]) # TEST Add Supertoken for the all access between robots Orchestrator.UACSuperTokenUpdate(inGSettings=gSettings, inSuperTokenStr="1992-04-03-0643-ru-b4ff-openrpa52zzz") + # INFO Relative/Absolute import see below - after settings init + # Template for import CP - Control Panels + # ATTENTION - Pay attention to CP names! Orchestrator is one for the all control panels per one machine + ## !!! For Absolute import control panels !!! + # try: + # sys.path.insert(0,os.path.abspath(os.path.join(r"..\ROBOT\Builds"))) + # import pyRobot_CP + # pyRobot_CP.SettingsUpdate(inGSettings=gSettings) + # except Exception as e: + # gSettings["Logger"].exception(f"Exception when init CP. See below.") + + ## !!! For Relative import control panels !!! + # try: + # sys.path.insert(0,os.path.abspath(os.path.join(r"..\ROBOT\Builds"))) + # from pyRobot_CP import ControlPanel + # ControlPanel.SettingsUpdate(inGSettings=gSettings) + # except Exception as e: + # gSettings["Logger"].exception(f"Exception when init CP. See below.") + + ## !!! For Relative import !!! CP Version Check try: sys.path.insert(0,os.path.abspath(os.path.join(r""))) diff --git a/README.md b/README.md index ae01bc98..95b325a6 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,6 @@ Now you can use the following docs: - ENG Guide MarkDown [|OPEN GITLAB|](Wiki/ENG_Guide/markdown/index.md) - ENG Guide PDF [|WAIT|]() - - RUS Article: Less cost - no paid RPA [|OPEN HABR|](https://habr.com/ru/post/509644/) - RUS Tutorial Desktop UI [|OPEN HABR|](https://habr.com/ru/post/509644/); [|OPEN GITLAB|](Wiki/RUS_Tutorial/DesktopGUI_Habr/index.md) - RUS Tutorial Web UI [|OPEN HABR|](https://habr.com/ru/post/515310/); [|OPEN GITLAB|](Wiki/RUS_Tutorial/WebGUI_Habr/3.%20WebGUI_Habr.md) diff --git a/Sources/GuideSphinx/03_Copyrights_Contacts.rst b/Sources/GuideSphinx/03_Copyrights_Contacts.rst index 72920e6c..7de7e48e 100644 --- a/Sources/GuideSphinx/03_Copyrights_Contacts.rst +++ b/Sources/GuideSphinx/03_Copyrights_Contacts.rst @@ -1,3 +1,5 @@ +.. _3.-Copyrights-&-Contacts: + #################################### 3. Copyrights & Contacts #################################### @@ -6,7 +8,16 @@ pyOpenRPA is created by Ivan Maslov (Russia). Use it absolutely for free! My purpose is to create #IT4Business models all over the world. -If you need IT help feel free to contact me (prefer e-mail or skype). + +#IT4Business homepage - https://www.facebook.com/RU.IT4Business + +#IT4Busines is the methodology which is created for build compact fast and reliable IT function in company. + +If you has many IT specialists, very long deadlines for the IT tasks, many bugs in IT software - #IT4Business is for you :) + +If you need some IT help - feel free to contact me (prefer e-mail or skype). + +If you will find some issue in pyOpenRPA - write about it to me via e-mail/skype/gitlab issue. Thank you! diff --git a/Sources/GuideSphinx/Orchestrator/04_HowToStart.rst b/Sources/GuideSphinx/Orchestrator/04_HowToStart.rst deleted file mode 100644 index 15c90d8c..00000000 --- a/Sources/GuideSphinx/Orchestrator/04_HowToStart.rst +++ /dev/null @@ -1,9 +0,0 @@ -************************ -4. How to start process -************************ - -Start configuration example - -.. include:: ../../../Orchestrator/OrchestratorSettings.py - :literal: - \ No newline at end of file diff --git a/Sources/GuideSphinx/Orchestrator/04_HowToUse.rst b/Sources/GuideSphinx/Orchestrator/04_HowToUse.rst new file mode 100644 index 00000000..392bc9cf --- /dev/null +++ b/Sources/GuideSphinx/Orchestrator/04_HowToUse.rst @@ -0,0 +1,19 @@ +************************ +4. How to use +************************ + +You need to run orchestrator process? + +.. code-block:: python + + if __name__ == "__main__": # New init way - allow run as module -m PyOpenRPA.Orchestrator + from pyOpenRPA import Orchestrator # Import orchestrator main + gSettings = SettingsTemplate.Create(inModeStr="BASIC") # Create GSettings with basic configuration - no more config is available from the box - you can create own + # Call the orchestrator main def + Orchestrator.Orchestrator(inGSettings=gSettings) + + +If you need more configurations - so you can see here: + +.. include:: ../../../Orchestrator/OrchestratorSettings.py + :literal: diff --git a/Sources/GuideSphinx/Orchestrator/05_UAC.rst b/Sources/GuideSphinx/Orchestrator/05_UAC.rst new file mode 100644 index 00000000..17cc110a --- /dev/null +++ b/Sources/GuideSphinx/Orchestrator/05_UAC.rst @@ -0,0 +1,55 @@ +#################################### +5. UAC - User Access Control +#################################### + +***************** +About +***************** +Orchestrator has mega feature - user access control (UAC). This feature allow you to manipulate access of the web UI for the all users! + +If you need to give admin rights - you don't customize UAC dict. + +If you need to give some little rights for user only for one robot in orchestrator web panel - you can set the following properties in UAC dict. + +To work with UAC you can use defs ``Orchestrator.UAC`` group. + + +*************************************************** +UAC Dict for Orchestrator WEB UI rights +*************************************************** + +UAC Dict for pyOpenRPA Orchestrator WEB UI rights. + +.. code-block:: python + + "pyOpenRPADict":{ + "CPKeyDict":{ # Empty dict - all access + # "CPKeyStr"{ + # } + }, + "RDPKeyDict":{ # Empty dict - all access + #"RDPKeyStr"{ + # "FullscreenBool": True, + # "IgnoreBool":True, + # "ReconnectBool": True + # "NothingBool": True # USe option if you dont want to give some access to the RDP controls + # } + }, + "AgentKeyDict": { # Empty dict - all access + # "AgentKeyStr"{ + # } + }, + "AdminDict":{ # Empty dict - all access + "LogViewerBool":True, # Show log viewer on the web page + "CMDInputBool":True, # Execute CMD on the server side and result to the logs + "ScreenshotViewerBool":True, # Show button to look screenshots + "RestartOrchestratorBool": True, # Restart orchestrator activity + "RestartOrchestratorGITPullBool": True, # Turn off (RDP remember) orc + git pull + Turn on (rdp remember) + "RestartPCBool": True, # Send CMD to restart pc + "NothingBool":True # USe option if you dont want to give some access to the RDP controls + }, + "ActivityDict": { # Empty dict - all access + "ActivityListExecuteBool": True, # Execute activity at the current thread + "ActivityListAppendProcessorQueueBool": True # Append activity to the processor queue + } + } \ No newline at end of file diff --git a/Sources/GuideSphinx/Robot/03_HowToUse.rst b/Sources/GuideSphinx/Robot/03_HowToUse.rst index 70ef27b1..9b3dda1e 100644 --- a/Sources/GuideSphinx/Robot/03_HowToUse.rst +++ b/Sources/GuideSphinx/Robot/03_HowToUse.rst @@ -2,7 +2,7 @@ 3. How to use #################################### -The Robot tool is the main module for production process automation. It has no graphic/console interface. All low-level actions to OS are perfoming by the Robot tool in OpenRPA. +The Robot tool is the main module for production process automation. It has no graphic/console interface. All low-level actions to OS are perfoming by the Robot tool in pyOpenRPA. ************************************************** How to execute RPA script @@ -31,7 +31,7 @@ In order to use robot just add Robot tool folder in work directory and add line Execute python script ############################################ -The OpenRPA is fully portable solution. It contains own python enviroment both 32 and 64 bit versions. So, you can execute your python script in several ways: +The pyOpenRPA is fully portable solution. It contains own python enviroment both 32 and 64 bit versions. So, you can execute your python script in several ways: - Execute in python x32 (\OpenRPA\Resources\WPy32-3720\python-3.7.2) - Execute in python x64 (\OpenRPA\Resources\WPy64-3720\python-3.7.2.amd64) - Execute from .cmd file diff --git a/Sources/GuideSphinx/index.rst b/Sources/GuideSphinx/index.rst index b2d155c0..51967865 100644 --- a/Sources/GuideSphinx/index.rst +++ b/Sources/GuideSphinx/index.rst @@ -10,7 +10,9 @@ Welcome to pyOpenRPA's wiki .. image:: /img/ModalGuide.png :alt: ModalGuide.png -*by Ivan Maslov (Russia)* +*by Ivan Maslov (Russia)* - see :ref:`3.-Copyrights-&-Contacts`. + +! ATTENTION ! pyOpenRPA works only on MS Windows 7+/Server 2008+. Guys from Unix/Mac - sorry. We will come to you soon :) ************************************************** Donate @@ -34,18 +36,34 @@ The pyOpenRPA is distributed under the MIT license which allows you to use it in At the time of this writing the pyOpenRPA is successfully using in several big Russian companies. Companies in which it was decided to develop own RPA division with no dependencies on expensive licenses. ************************************************** -Structure +Repo structure ************************************************** -The pyOpenRPA has 3 main tools: +The description of the each folder in GitLab repo is going below: + +- **Agent**: template build for the pyOpenRPA.Agent component +- **Orchestrator**: template build for the pyOpenRPA.Orchestrator component +- **Resources**: 3rd party resources which is needed to provide pyOpenRPA encapsulation from the Operating System (OS) dependencies. +- **Robot**: template build for the robot +- **Sources**: pyOpenRPA python package sources + sphinx sources +- **Studio**: build for the pyOpenRPA.Studio which support Desktop UI (support x32 and x64 desktop UI apps) +- **Utils**: many additional good tools for the python developer +- **Wiki**: compiled wiki documentation + +************************************************** +The pyOpenRPA structure +************************************************** + +The pyOpenRPA has 4 main tools: ############################################ - Studio - Robot - Orchestrator +- Agent Studio ###################### -Studio tool has been developed to help RPA-tors to create the robot algorythms. +The pyOpenRPA.Studio tool has been developed to help RPA-tors to create the robot algorythms. **Features** @@ -57,7 +75,7 @@ Studio tool has been developed to help RPA-tors to create the robot algorythms. Robot ###################### -The Robot tool is the core of any action execution in the pyOpenRPA. All action from algorythms are perfoming by the Robot tool. It looks like a console process without graphic user interface. +The pyOpenRPA.Robot package is the core of any action execution in the pyOpenRPA. All action from algorythms are perfoming by the Robot tool. It looks like a console process without graphic user interface. **Features** @@ -71,38 +89,42 @@ The Robot tool is the core of any action execution in the pyOpenRPA. All action Orchestrator ###################### -The Orchestrator tool has been developed to maintain robot infrastructure (2+ robots algorythm). +The pyOpenRPA.Orchestrator package has been developed to maintain robot infrastructure (2+ robots algorythm). **Features** -- Start/Stop robot algorythm +- Start/Stop robot algorithm - Robot scheduler - Remote machine screenshot viewer - Remote machine cmd shell - Remote machine logs storage -************************************************** -Guide (in progress) -************************************************** -In wiki you can find: -in QUEUE +Agent +###################### + +The pyOpenRPA.Agent tool has been developed to maintain robot infrastructure (2+ robots algorythm). -- Theory & practice: Web app access (Chrome, Firefox, Opera) -- Theory & practice: Desktop app UI access (win32 and UI automation dlls) -- Theory & practice: Keyboard & mouse manipulation -- Theory & practice: Screen capture & image recognition +**Features** + +- Send CMD to the RPA GUI session (start/safe stop/force stop/logout) +- Get screenshots from the RPA GUI session +- Get the list of the running processes ************************************************** -Tutorials +Wiki structure ************************************************** -- [ENG] Content in progress -- [RUS] Перейти в раздел туториалов - +In wiki you can use the following docs: +- ENG Guide HTML [|OPEN GITLAB|](https://gitlab.com/UnicodeLabs/OpenRPA/-/tree/master/Wiki/ENG_Guide/html/index.html) +- ENG Guide MarkDown [|OPEN GITLAB|](https://gitlab.com/UnicodeLabs/OpenRPA/-/tree/master/Wiki/ENG_Guide/markdown/index.md) +- ENG Guide PDF [|WAIT|]() +- RUS Article: Less cost - no paid RPA [|OPEN HABR|](https://habr.com/ru/post/509644/) +- RUS Tutorial Desktop UI [|OPEN HABR|](https://habr.com/ru/post/509644/); [|OPEN GITLAB|](https://gitlab.com/UnicodeLabs/OpenRPA/-/tree/master/Wiki/RUS_Tutorial/DesktopGUI_Habr/index.md) +- RUS Tutorial Web UI [|OPEN HABR|](https://habr.com/ru/post/515310/); [|OPEN GITLAB|](https://gitlab.com/UnicodeLabs/OpenRPA/-/tree/master/Wiki/RUS_Tutorial/WebGUI_Habr/readme.md) ************************************************** -Content +Guide content ************************************************** .. toctree:: diff --git a/Wiki/ENG_Guide/html/01_HowToInstall.html b/Wiki/ENG_Guide/html/01_HowToInstall.html index 488e7085..41a406f5 100644 --- a/Wiki/ENG_Guide/html/01_HowToInstall.html +++ b/Wiki/ENG_Guide/html/01_HowToInstall.html @@ -113,7 +113,8 @@
  • 1. Description
  • 2. Defs
  • 3. gSettings Template
  • -
  • 4. How to start process
  • +
  • 4. How to use
  • +
  • 5. UAC - User Access Control
  • diff --git a/Wiki/ENG_Guide/html/02_RoadMap.html b/Wiki/ENG_Guide/html/02_RoadMap.html index 1eb1cd8a..72639199 100644 --- a/Wiki/ENG_Guide/html/02_RoadMap.html +++ b/Wiki/ENG_Guide/html/02_RoadMap.html @@ -109,7 +109,8 @@
  • 1. Description
  • 2. Defs
  • 3. gSettings Template
  • -
  • 4. How to start process
  • +
  • 4. How to use
  • +
  • 5. UAC - User Access Control
  • diff --git a/Wiki/ENG_Guide/html/03_Copyrights_Contacts.html b/Wiki/ENG_Guide/html/03_Copyrights_Contacts.html index 6e5045f0..6db871db 100644 --- a/Wiki/ENG_Guide/html/03_Copyrights_Contacts.html +++ b/Wiki/ENG_Guide/html/03_Copyrights_Contacts.html @@ -113,7 +113,8 @@
  • 1. Description
  • 2. Defs
  • 3. gSettings Template
  • -
  • 4. How to start process
  • +
  • 4. How to use
  • +
  • 5. UAC - User Access Control
  • @@ -182,11 +183,15 @@
    -

    3. Copyrights & Contacts

    +

    3. Copyrights & Contacts

    pyOpenRPA is created by Ivan Maslov (Russia). Use it absolutely for free!

    -

    My purpose is to create #IT4Business models all over the world. -If you need IT help feel free to contact me (prefer e-mail or skype).

    +

    My purpose is to create #IT4Business models all over the world.

    +

    #IT4Business homepage - https://www.facebook.com/RU.IT4Business

    +

    #IT4Busines is the methodology which is created for build compact fast and reliable IT function in company.

    +

    If you has many IT specialists, very long deadlines for the IT tasks, many bugs in IT software - #IT4Business is for you :)

    +

    If you need some IT help - feel free to contact me (prefer e-mail or skype).

    +

    If you will find some issue in pyOpenRPA - write about it to me via e-mail/skype/gitlab issue.

    Thank you!

    Ivan Maslov (founder)

    diff --git a/Wiki/ENG_Guide/html/Orchestrator/01_Orchestrator.html b/Wiki/ENG_Guide/html/Orchestrator/01_Orchestrator.html index a9bfc864..5985f7ea 100644 --- a/Wiki/ENG_Guide/html/Orchestrator/01_Orchestrator.html +++ b/Wiki/ENG_Guide/html/Orchestrator/01_Orchestrator.html @@ -116,7 +116,8 @@
  • 2. Defs
  • 3. gSettings Template
  • -
  • 4. How to start process
  • +
  • 4. How to use
  • +
  • 5. UAC - User Access Control
  • diff --git a/Wiki/ENG_Guide/html/Orchestrator/02_Defs.html b/Wiki/ENG_Guide/html/Orchestrator/02_Defs.html index 8ef634e1..ef6e29a4 100644 --- a/Wiki/ENG_Guide/html/Orchestrator/02_Defs.html +++ b/Wiki/ENG_Guide/html/Orchestrator/02_Defs.html @@ -125,7 +125,8 @@
  • 3. gSettings Template
  • -
  • 4. How to start process
  • +
  • 4. How to use
  • +
  • 5. UAC - User Access Control
  • diff --git a/Wiki/ENG_Guide/html/Orchestrator/03_gSettingsTemplate.html b/Wiki/ENG_Guide/html/Orchestrator/03_gSettingsTemplate.html index 87f6ab7d..1c11aa2c 100644 --- a/Wiki/ENG_Guide/html/Orchestrator/03_gSettingsTemplate.html +++ b/Wiki/ENG_Guide/html/Orchestrator/03_gSettingsTemplate.html @@ -40,7 +40,7 @@ - + @@ -109,7 +109,8 @@
  • 1. Description
  • 2. Defs
  • 3. gSettings Template
  • -
  • 4. How to start process
  • +
  • 4. How to use
  • +
  • 5. UAC - User Access Control
  • @@ -554,7 +555,7 @@