diff --git a/composer.json b/composer.json
index 665734ae814000b60cccfc1548052b95fb16c20c..639dd1f1f5bfaaef3ba246bfb9fa73600e32c3ed 100644
--- a/composer.json
+++ b/composer.json
@@ -26,7 +26,8 @@
     "emuse/behat-html-formatter": "@stable"
   },
   "config": {
-      "bin-dir": "bin/"
+      "bin-dir": "bin/",
+      "secure-http": false
   },
   "autoload": {
     "classmap": [
@@ -63,6 +64,31 @@
           "reference": "origin/master"
         }
       }
+    },
+    {
+      "type": "package",
+      "package": {
+        "name": "ckeditor/bidi",
+        "version": "4.6.2",
+        "type": "drupal-library",
+        "dist": {
+          "url": "http://download.ckeditor.com/bidi/releases/bidi_4.6.2.zip",
+          "type": "zip"
+        }
+      }
+    },
+    {
+      "type": "package",
+      "package": {
+        "name": "ajaxorg/ace-builds",
+        "version": "1.2.6",
+        "type": "library",
+        "source": {
+          "url": "https://github.com/ajaxorg/ace-builds",
+          "type": "git",
+          "reference": "origin/master"
+        }
+      }
     }
   ],
   "scripts": {
@@ -103,6 +129,14 @@
         {
           "name": "slick",
           "package": "kenwheeler/slick"
+        },
+        {
+          "name": "bidi",
+          "package": "ckeditor/bidi"
+        },
+        {
+          "name": "ace",
+          "package": "ajaxorg/ace-builds"
         }
       ]
     },
@@ -123,6 +157,10 @@
         "Issue #2145441 by josebc, Xenza: Option to create Entityqueue tab on Entity pages.":
         "https://www.drupal.org/files/issues/entityqueue-add_entityqueue_tab-2145441-22.patch"
       },
+      "drupal/ckeditor_bidi": {
+        "Issue #2874166 by RajabNatshah: Have requirements function on install, and manages to work with libraries module with drupal profiles.":
+        "https://www.drupal.org/files/issues/2874166-3.patch"
+      },
       "drupal/l10n_client": {
         "Issue #2867460 by RajabNatshah: Incompatible with this version of Drupal core 8.3.0":
         "https://www.drupal.org/files/issues/2867460-2.patch"
@@ -137,6 +175,8 @@
     "enyo/dropzone": "4.3.0",
     "dinbror/blazy": "1.8.2",
     "kenwheeler/slick": "1.6.0",
+    "ckeditor/bidi": "4.6.2",
+    "ajaxorg/ace-builds": "1.2.6",
     "drupal/core": "8.3.1",
     "drupal/config_update": "1.3",
     "drupal/ctools": "3.0-beta2",
@@ -170,6 +210,8 @@
     "drupal/crop": "1.2",
     "drupal/focal_point": "1.0-beta4",
     "drupal/pathologic": "1.x-dev#e0473546e51cbeaa3acb34e3208a0c503ca85613",
+    "drupal/ckeditor_bidi": "1.x-dev#d4025c5bd22a17098a8a7769930e9a292b12b469",
+    "drupal/ace_editor": "1.x-dev#55dc97d7fcc1aba55a16176f94d72a8ba7002c72",
     "drupal/entityqueue": "1.x-dev#e17c172fe1bfdab2194b06b848cad92bc6824e49",
     "drupal/imagemagick": "1.0-alpha6",
     "drupal/imageapi_optimize": "2.0-alpha2",
@@ -218,7 +260,7 @@
     "drupal/anchor_link": "1.3",
     "drupal/entity_browser_enhanced": "1.0-beta4",
     "drupal/vmi": "1.x-dev#9d86e90591fdc72991e28ddb8c9bf6e0c2625e07",
-    "drupal/varbase_editor": "4.6",
+    "drupal/varbase_editor": "4.7",
     "drupal/varbase_heroslider_media": "4.0-alpha6",
     "drupal/varbase_carousels": "4.0-alpha2"
   }
diff --git a/drupal-org.make b/drupal-org.make
index b7afaa3ef882c35e5157aa640c0861e57a4294d1..f418e839ac7302ca897ec21dd780d40a6e3a7343 100644
--- a/drupal-org.make
+++ b/drupal-org.make
@@ -111,6 +111,18 @@ projects[pathologic][download][url] = https://git.drupal.org/project/pathologic.
 projects[pathologic][download][revision] = e0473546e51cbeaa3acb34e3208a0c503ca85613
 projects[pathologic][download][branch] = 8.x-1.x
 
+projects[ckeditor_bidi][type] = module
+projects[ckeditor_bidi][download][url] = https://git.drupal.org/project/ckeditor_bidi.git
+projects[ckeditor_bidi][download][revision] = d4025c5bd22a17098a8a7769930e9a292b12b469
+projects[ckeditor_bidi][download][branch] = 8.x-1.x
+;; Issue #2874166 by RajabNatshah: Have requirements function on install, and manages to work with libraries module with drupal profiles.
+projects[ckeditor_bidi][patch][] = https://www.drupal.org/files/issues/2874166-3.patch
+
+projects[ace_editor][type] = module
+projects[ace_editor][download][url] = https://git.drupal.org/project/ace_editor.git
+projects[ace_editor][download][revision] = 55dc97d7fcc1aba55a16176f94d72a8ba7002c72
+projects[ace_editor][download][branch] = 8.x-1.x
+
 projects[entityqueue][type] = module
 projects[entityqueue][download][url] = https://git.drupal.org/project/entityqueue.git
 projects[entityqueue][download][revision] = e17c172fe1bfdab2194b06b848cad92bc6824e49
@@ -317,7 +329,7 @@ projects[vmi][download][branch] = 8.x-1.x
 ;;;;;;;;;;;;;;;;;;;;;
 
 projects[varbase_editor][type] = module
-projects[varbase_editor][version] = 4.6
+projects[varbase_editor][version] = 4.7
 
 projects[varbase_heroslider_media][type] = module
 projects[varbase_heroslider_media][version] = 4.0-alpha6
@@ -340,3 +352,12 @@ libraries[blazy][destination] = "libraries"
 libraries[slick][download][type] = get
 libraries[slick][download][url] = "https://github.com/kenwheeler/slick/archive/1.6.0.tar.gz"
 libraries[slick][destination] = "libraries"
+
+libraries[bidi][download][type] = get
+libraries[bidi][download][url] = "http://download.ckeditor.com/bidi/releases/bidi_4.6.2.zip"
+libraries[bidi][destination] = "libraries"
+
+libraries[ace][directory_name] = "ace"
+libraries[ace][download][type] = "get"
+libraries[ace][download][url] = "http://github.com/ajaxorg/ace-builds/archive/v1.2.6.tar.gz"
+libraries[ace][destination] = "modules/contrib/ace_editor/libraries/"
\ No newline at end of file
diff --git a/src/composer/ScriptHandler.php b/src/composer/ScriptHandler.php
index 1959375028ebf7fb80dd5b557498db83dc07fb58..fa741022f4130cb48420e9ec13ec68a392bc49da 100644
--- a/src/composer/ScriptHandler.php
+++ b/src/composer/ScriptHandler.php
@@ -31,7 +31,7 @@ class ScriptHandler {
 
     $fs = new Filesystem();
     $drupal_root = static::getDrupalRoot(getcwd());
-     
+
     if ($fs->exists(getcwd() . '/src/assets/robots-staging.txt')) {
       // Create staging robots file.
       copy(getcwd() . '/src/assets/robots-staging.txt', $drupal_root . '/robots-staging.txt');
@@ -57,14 +57,20 @@ class ScriptHandler {
       // Alter development.services.yml to have Varbase's Local development services.
       copy(getcwd() . '/src/assets/development.services.yml', $drupal_root . '/sites/development.services.yml');
     }
+
+    if ($fs->exists($drupal_root . '/libraries/ace/src-min-noconflict/ace.js')) {
+      mkdir($drupal_root . '/modules/contrib/ace_editor/libraries', 0777, true);
+      rename($drupal_root . '/libraries/ace', $drupal_root . '/modules/contrib/ace_editor/libraries/ace');
+    }
+
   }
-  
+
   /**
    * Post Drupal Scaffold Sub Profile Procedure.
    *
    *  Remove the distribution item for the parent varbase profile, If we want to
    *  use the sub proifle as the distribution cover on the install step.
-   *  
+   *
    *  Can be used in the composer.json file of a Sub Profile of Varbase
    *
    *  For Example:
@@ -74,7 +80,7 @@ class ScriptHandler {
    *      "Varbase\\composer\\ScriptHandler::postDrupalScaffoldSubProfileProcedure"
    *    ],
    *  -------------------------------------------------------------------------
-   * 
+   *
    * @param \Composer\EventDispatcher\Event $event
    *   The script event.
    */
@@ -90,7 +96,7 @@ class ScriptHandler {
     if ($fs->exists($varbase_info_file_with_root_path)) {
       // Parse the varbase.info.yml file.
       $varbase_info = Yaml::parse(file_get_contents($varbase_info_file_with_root_path));
-      
+
       /**
        *  Remove the distribution item for the parent varbase profile, as we will
        *  use this sub proifle as the distribution cover on the install step.
@@ -98,7 +104,7 @@ class ScriptHandler {
       if (isset($varbase_info['distribution'])) {
         unset($varbase_info['distribution']);
       }
-      
+
       // Dump the array to string of Yaml format.
       $new_varbase_info = Yaml::dump($varbase_info);